{ 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.data_dir; cacheDir = service_configs.jellyfin.cache_dir; }; 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 ${service_configs.jellyfin.data_dir}/plugins/configurations/ chown ${config.services.jellyfin.user}:${config.services.jellyfin.group} ${service_configs.jellyfin.data_dir}/plugins/configurations/Jellyfin.Plugin.ListenBrainz.xml ''; }