{ pkgs, inputs, ... }: let nixpkgs-2505 = import inputs.nixpkgs-2505 { system = pkgs.stdenv.system; config.allowUnfree = true; config.permittedInsecurePackages = [ "intel-media-sdk-23.2.2" ]; }; in { systemd.services.jellyfin.environment = { LIBVA_DRIVER_NAME = "iHD"; # or i965 for older GPUs NEOReadDebugKeys = "1"; OverrideGpuAddressSpace = "48"; }; environment.sessionVariables = { LIBVA_DRIVER_NAME = "iHD"; NEOReadDebugKeys = "1"; OverrideGpuAddressSpace = "48"; }; hardware.graphics = { enable = true; extraPackages = with pkgs; [ intel-ocl # Generic OpenCL support intel-compute-runtime-legacy1 intel-media-driver nixpkgs-2505.intel-media-sdk ]; }; hardware.enableRedistributableFirmware = true; boot.kernelParams = [ "i915.enable_guc=3" ]; nixpkgs.config.permittedInsecurePackages = [ # "dotnet-sdk-6.0.428" # "aspnetcore-runtime-6.0.36" "intel-media-sdk-23.2.2" ]; users.users."starr" = { isSystemUser = true; group = "starr"; extraGroups = [ "jellyfin" ]; }; users.users.sonarr.extraGroups = [ "jellyfin" "radarr" "transmission" "starr" ]; users.users.radarr.extraGroups = [ "jellyfin" "sonarr" "transmission" "starr" ]; users.users.bazarr.extraGroups = [ "jellyfin" "sonarr" "transmission" "starr" "radarr" ]; users.users.lidarr.extraGroups = [ "jellyfin" "starr" "transmission" ]; users.users.whisparr.extraGroups = [ "jellyfin" "starr" "transmission" ]; users.users.shobu.extraGroups = [ "jellyfin" "starr" "transmission" "radarr" "sonarr" ]; users.users.jellyfin.extraGroups = [ "render" "video" ]; users.groups = { starr = { gid = 990; }; }; services = let mkEnvFile = name: (pkgs.writeText "${name}.env" '' ${name}__AUTH__ENABLED=false ${name}__AUTH__METHOD=External ''); in { jellyfin = { enable = true; openFirewall = true; }; sonarr = { enable = true; openFirewall = true; group = "starr"; environmentFiles = [ (mkEnvFile "SONARR") ]; }; radarr = { enable = true; openFirewall = true; group = "starr"; environmentFiles = [ (mkEnvFile "RADARR") ]; }; prowlarr = { enable = true; openFirewall = true; environmentFiles = [ (mkEnvFile "PROWLARR") ]; }; bazarr = { enable = true; openFirewall = true; group = "starr"; }; lidarr = { enable = true; openFirewall = true; environmentFiles = [ (mkEnvFile "LIDARR") ]; }; whisparr = { enable = true; openFirewall = true; environmentFiles = [ (mkEnvFile "WHISPARR") ]; }; jellyseerr = { enable = true; openFirewall = true; }; }; environment.systemPackages = [ pkgs.jellyfin pkgs.jellyfin-web pkgs.jellyfin-ffmpeg ]; }