Kodi: Difference between revisions
imported>Mic92 No edit summary |
imported from old wiki |
||
(12 intermediate revisions by 9 users not shown) | |||
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. | [https://kodi.tv 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 | The NixOS module for Kodi sets Kodi up as a desktop session. | ||
With this configuration | With this configuration Kodi will run automatically on boot: | ||
< | <syntaxhighlight lang="nix"> | ||
{ | { | ||
services.xserver.enable = true; | services.xserver.enable = true; | ||
Line 12: | Line 12: | ||
services.xserver.displayManager.autoLogin.enable = true; | services.xserver.displayManager.autoLogin.enable = true; | ||
services.xserver.displayManager.autoLogin.user = "kodi"; | services.xserver.displayManager.autoLogin.user = "kodi"; | ||
services.xserver.displayManager.lightdm.greeter.enable = false; | |||
# 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 ]; | ||
Line 25: | Line 34: | ||
</syntaxHighlight> | </syntaxHighlight> | ||
== With | == With Wayland == | ||
Especially on less-powerful ARM boards the wayland variant is faster. | Especially on less-powerful ARM boards the wayland variant is faster. | ||
In this example cage, kiosk compositor for Wayland, will run | In this example cage, kiosk compositor for Wayland, will run Kodi as its only application: | ||
<syntaxHighlight lang=nix> | <syntaxHighlight lang=nix> | ||
{ | { pkgs, ... }: { | ||
# Define a user account | # Define a user account | ||
users.extraUsers.kodi.isNormalUser = true; | users.extraUsers.kodi.isNormalUser = true; | ||
Line 39: | Line 48: | ||
} | } | ||
</syntaxHighlight> | </syntaxHighlight> | ||
== Plugins == | |||
There are two different ways to install plugins. You can either set the relevant option (search pkgs/top-level/all-packages.nix for "wrapKodi" for a list) through NixOS or home-manager: | |||
<syntaxHighlight lang=nix> | |||
nixpkgs.config.kodi.enableAdvancedLauncher = true; | |||
</syntaxHighlight> | |||
or override Kodi to include the plugins (see pkgs/applications/video/kodi/plugins.nix for a list or search in the kodiPlugins namespace): | |||
<syntaxHighlight lang=nix> | |||
environment.systemPackages = [ | |||
(pkgs.kodi.withPackages (kodiPkgs: with kodiPkgs; [ | |||
jellyfin | |||
])) | |||
]; | |||
</syntaxHighlight> | |||
Or if using as the startup desktop service: | |||
<syntaxHighlight lang=nix> | |||
services.xserver.desktopManager.kodi.package = | |||
pkgs.kodi.withPackages (pkgs: with pkgs; [ | |||
jellycon | |||
])) | |||
]; | |||
</syntaxHighlight> | |||
[[Category:Applications]] | |||
[[Category:Server]] |