66 lines
1.3 KiB
Nix
66 lines
1.3 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}: let
|
|
cfg = config.mediacenter.kodi;
|
|
in
|
|
with lib; {
|
|
options = {
|
|
mediacenter.kodi = {
|
|
enable = mkEnableOption "kodi";
|
|
};
|
|
};
|
|
config = let
|
|
user = "kodi";
|
|
kodi-standalone =
|
|
pkgs.kodi-wayland.passthru.withPackages
|
|
(kodiPkgs:
|
|
with pkgs.kodiPackages; [
|
|
youtube
|
|
pvr-iptvsimple
|
|
keymap
|
|
inputstream-adaptive
|
|
inputstream-ffmpegdirect
|
|
requests-cache
|
|
inputstreamhelper
|
|
]);
|
|
in
|
|
lib.mkIf cfg.enable {
|
|
services.cage = {
|
|
inherit user;
|
|
enable = true;
|
|
program = "${kodi-standalone}/bin/kodi-standalone";
|
|
};
|
|
|
|
users.users.kodi = {
|
|
name = user;
|
|
isNormalUser = true;
|
|
extraGroups = [
|
|
"audio"
|
|
"video"
|
|
"disk"
|
|
"plugdev"
|
|
"i2c"
|
|
"spi"
|
|
"power"
|
|
];
|
|
};
|
|
|
|
networking.firewall.allowedTCPPorts = [8080 9090];
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
kodi-standalone
|
|
alsa-utils
|
|
(retroarch.override {
|
|
cores = with libretro; [
|
|
snes9x
|
|
pcsx-rearmed
|
|
nestopia
|
|
];
|
|
})
|
|
];
|
|
};
|
|
}
|