{ lib, config, pkgs, ... }: { options.server.jellyfin.enable = lib.mkEnableOption "Enable Jellyfin+Jellyseerr"; config = lib.mkIf config.server.jellyfin.enable { networking.firewall.allowedTCPPorts = [ 5055 8096 ]; networking.firewall.allowedUDPPorts = [ 8096 ]; # Jellyfin environment.systemPackages = with pkgs; [ jellyfin jellyfin-web jellyfin-ffmpeg ]; services.jellyfin.enable = true; hardware.graphics = { enable = true; extraPackages = with pkgs; [ intel-media-driver intel-vaapi-driver # previously vaapiIntel libva-vdpau-driver intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in) vpl-gpu-rt # QSV on 11th gen or newer intel-media-sdk # QSV up to 11th gen ]; }; # services.jellyseerr = { # enable = true; # port = 5055; # openFirewall = true; # }; virtualisation.oci-containers.containers."jellyseerr-music" = { image = "fallenbagel/jellyseerr:preview-music-support"; extraOptions = [ "--network=host" ]; volumes = [ "/var/lib/jellyseerr/config:/app/config" ]; }; }; }