server-config/services/jellyfin.nix
2024-10-17 15:45:29 -04:00

34 lines
882 B
Nix

{
pkgs,
config,
service_configs,
...
}:
{
environment.systemPackages = with pkgs; [
jellyfin
jellyfin-web
jellyfin-ffmpeg
];
services.jellyfin = {
enable = true;
# used for local streaming
openFirewall = true;
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
'';
}