77 lines
1.6 KiB
Nix
77 lines
1.6 KiB
Nix
{ pkgs, ... }:
|
|
let
|
|
user = "kodi";
|
|
kodi-standalone = pkgs.kodi-wayland.withPackages
|
|
(kodiPkgs: with pkgs.kodiPackages; [
|
|
youtube
|
|
pvr-iptvsimple
|
|
keymap
|
|
inputstream-adaptive
|
|
inputstream-ffmpegdirect
|
|
requests-cache
|
|
inputstreamhelper
|
|
advanced-emulator-launcher
|
|
jellyfin
|
|
]);
|
|
in
|
|
{
|
|
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"
|
|
];
|
|
};
|
|
|
|
sops.secrets = {
|
|
"kodi-advancedsettings" = {
|
|
owner = user;
|
|
format = "binary";
|
|
sopsFile = ./secrets/advancedsettings.xml;
|
|
path = "/home/${user}/.kodi/userdata/advancedsettings.xml";
|
|
};
|
|
"kodi-passwords" = {
|
|
owner = user;
|
|
format = "binary";
|
|
sopsFile = ./secrets/passwords.xml;
|
|
path = "/home/${user}/.kodi/userdata/passwords.xml";
|
|
};
|
|
"kodi-youtube" = {
|
|
owner = user;
|
|
format = "binary";
|
|
sopsFile = ./secrets/youtube.json;
|
|
path = "/home/${user}/.kodi/userdata/addon_data/plugin.video.youtube/api_keys.json";
|
|
};
|
|
};
|
|
|
|
networking.firewall.allowedTCPPorts = [ 8080 9090 ];
|
|
|
|
environment.sessionVariables = {
|
|
WLR_LIBINPUT_NO_DEVICES = builtins.toString 1;
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
#kodi-standalone
|
|
alsa-utils
|
|
(retroarch.override {
|
|
cores = with libretro; [
|
|
snes9x
|
|
pcsx-rearmed
|
|
nestopia
|
|
];
|
|
})
|
|
];
|
|
}
|