{ 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 ''; }