server-config/services/jellyfin.nix

38 lines
1016 B
Nix

{
pkgs,
config,
service_configs,
inputs,
...
}:
{
environment.systemPackages = with pkgs; [
jellyfin
jellyfin-web
jellyfin-ffmpeg
];
services.jellyfin = {
enable = true;
# used for local streaming
openFirewall = true;
# https://github.com/NixOS/nixpkgs/pull/351966
# package = inputs.jellyfin.legacyPackages.${pkgs.system}.jellyfin;
dataDir = service_configs.jellyfin.dir;
cacheDir = config.services.jellyfin.dataDir + "_cache";
};
users.users.${config.services.jellyfin.user}.extraGroups = [
"video"
"render"
];
# https://github.com/lyarenei/jellyfin-plugin-listenbrainz/issues/107
system.activationScripts.jellyfinListenBrain.text = ''
cp -v /etc/nixos/secrets/Jellyfin.Plugin.ListenBrainz.xml ${config.services.jellyfin.dataDir}/plugins/configurations/
chown ${config.services.jellyfin.user}:${config.services.jellyfin.group} ${config.services.jellyfin.dataDir}/plugins/configurations/Jellyfin.Plugin.ListenBrainz.xml
'';
}