Kodi: Difference between revisions
imported>Mic92 |
imported>Mic92 No edit summary |
||
Line 1: | Line 1: | ||
Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub that can be installed on Linux, OSX, Windows, iOS and Android, featuring a 10-foot user interface for use with televisions and remote controls. | Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub that can be installed on Linux, OSX, Windows, iOS and Android, featuring a 10-foot user interface for use with televisions and remote controls. | ||
== | == Basic module usage == | ||
The NixOS module for kodi sets kodi up as a desktop session. | The NixOS module for kodi sets kodi up as a desktop session. | ||
Line 16: | Line 16: | ||
# Define a user account | # Define a user account | ||
users.extraUsers.kodi.isNormalUser = true; | users.extraUsers.kodi.isNormalUser = true; | ||
} | |||
</syntaxHighlight> | |||
== Access from other machines == | |||
For this to work kodi's remote interface must be enabled in the kodi configuration. | |||
Kodi uses by default udp/tcp port 8080, which must be allowed in the firewall: | |||
<syntaxHighlight lang=nix> | |||
networking.firewall = { | networking.firewall = { | ||
allowedTCPPorts = [ 8080 ]; | allowedTCPPorts = [ 8080 ]; | ||
allowedUDPPorts = [ 8080 ]; | allowedUDPPorts = [ 8080 ]; | ||
}; | }; | ||
</syntaxHighlight> | </syntaxHighlight> | ||
Revision as of 08:02, 17 September 2020
Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub that can be installed on Linux, OSX, Windows, iOS and Android, featuring a 10-foot user interface for use with televisions and remote controls.
Basic module usage
The NixOS module for kodi sets kodi up as a desktop session. With this configuration kodi will run automatically on boot:
{
services.xserver.enable = true;
services.xserver.desktopManager.kodi.enable = true;
services.xserver.displayManager.autoLogin.enable = true;
services.xserver.displayManager.autoLogin.user = "kodi";
users.extraUsers.kodi.isNormalUser = true;
# Define a user account
users.extraUsers.kodi.isNormalUser = true;
}
Access from other machines
For this to work kodi's remote interface must be enabled in the kodi configuration. Kodi uses by default udp/tcp port 8080, which must be allowed in the firewall:
networking.firewall = {
allowedTCPPorts = [ 8080 ];
allowedUDPPorts = [ 8080 ];
};
With wayland
Especially on less-powerful ARM boards the wayland variant is faster. In this example cage, kiosk compositor for Wayland, will run kodi as its only application:
{ pkgs, ... }: {
# Define a user account
users.extraUsers.kodi.isNormalUser = true;
services.cage.user = "kodi";
services.cage.program = "${pkgs.kodi-wayland}/bin/kodi-standalone";
services.cage.enable = true;
}