diff --git a/devices/nos/modules/jellyfin/default.nix b/devices/nos/modules/jellyfin/default.nix index 3c11846..096629f 100644 --- a/devices/nos/modules/jellyfin/default.nix +++ b/devices/nos/modules/jellyfin/default.nix @@ -24,7 +24,8 @@ in { optionalGroup mainUser ++ optionalGroup "input" ++ optionalGroup "media" - ++ optionalGroup "render"; + ++ optionalGroup "render" + ++ optionalGroup "video"; services = { jellyfin = { @@ -110,8 +111,7 @@ in { "vp9" "av1" ]; - allowHevcEncoding = true; - allowAv1Encoding = true; + allowHevcEncoding = false; enableThrottling = false; enableTonemapping = true; downMixAudioBoost = 1; diff --git a/devices/nos/modules/jellyfin/packages.nix b/devices/nos/modules/jellyfin/packages.nix index 91e728e..e6d83db 100644 --- a/devices/nos/modules/jellyfin/packages.nix +++ b/devices/nos/modules/jellyfin/packages.nix @@ -6,28 +6,18 @@ }: let jellyPkgs = if config.nvidia.enableCUDA - then jellyfin-flake.packages.${pkgs.system}.cudaPackages // {inherit (pkgs.cudaPackages.pkgs) jellyfin-ffmpeg;} - else jellyfin-flake.packages.${pkgs.system} // {inherit (pkgs) jellyfin-ffmpeg;}; - - jellyWeb = jellyPkgs.jellyfin-web.overrideAttrs (_: o: { - # TODO: Inject skip intro button for 10.9.0 - }); - - jellyfinPkg = jellyPkgs.jellyfin.overrideAttrs (_: o: { - # This was the only way I found to replace the jellyfin-web package - preInstall = '' - makeWrapperArgs+=( - --add-flags "--ffmpeg ${jellyPkgs.jellyfin-ffmpeg}/bin/ffmpeg" - --add-flags "--webdir ${jellyWeb}/share/jellyfin-web" - ) - ''; - }); + then jellyfin-flake.packages.${pkgs.system}.cudaPackages + else jellyfin-flake.packages.${pkgs.system}; in { - services.jellyfin.package = jellyfinPkg; + services.jellyfin = { + package = jellyPkgs.jellyfin; + webPackage = jellyPkgs.jellyfin-web; + ffmpegPackage = jellyPkgs.jellyfin-ffmpeg; + }; - environment.systemPackages = [ - jellyfinPkg - jellyWeb - jellyPkgs.jellyfin-ffmpeg + environment.systemPackages = with config.services.jellyfin; [ + finalPackage + webPackage + ffmpegPackage ]; } diff --git a/flake.lock b/flake.lock index 16d5cb9..bf37795 100644 --- a/flake.lock +++ b/flake.lock @@ -760,8 +760,26 @@ "type": "github" } }, + "jellyfin-ffmpeg-src": { + "flake": false, + "locked": { + "lastModified": 1714081542, + "narHash": "sha256-jy5LPurjuSIMZlzVZcuaqAwAZunbYc9/6aJf+hna0Kw=", + "owner": "jellyfin", + "repo": "jellyfin-ffmpeg", + "rev": "38aaefefec762dd185b631298752d489dcf084fe", + "type": "github" + }, + "original": { + "owner": "jellyfin", + "ref": "v6.0.1-6", + "repo": "jellyfin-ffmpeg", + "type": "github" + } + }, "jellyfin-flake": { "inputs": { + "jellyfin-ffmpeg-src": "jellyfin-ffmpeg-src", "jellyfin-src": "jellyfin-src", "jellyfin-web-src": "jellyfin-web-src", "nixpkgs": [ @@ -769,11 +787,11 @@ ] }, "locked": { - "lastModified": 1715574112, - "narHash": "sha256-UrvwGrZqWkHUd3y3RWap8T9pcoEidPvTNl59F9aYMEI=", + "lastModified": 1715653242, + "narHash": "sha256-/1scM1+8PoM90oVUva8voiuzPCNUr69aCn+jgKznPI8=", "owner": "matt1432", "repo": "nixos-jellyfin", - "rev": "37600c9569edf09f6f1e984f662973fa4f625998", + "rev": "debe824dd69d98dc63e0f9ca434411cd10516848", "type": "github" }, "original": {