diff --git a/configuration.nix b/configuration.nix index dd45955..67c179c 100644 --- a/configuration.nix +++ b/configuration.nix @@ -97,6 +97,51 @@ services.jellyfin = { enable = true; openFirewall = true; + settings = { + system = { + serverName = "Jellyfin"; + quickConnectAvailable = false; + isStartupWizardCompleted = true; + + enableGroupingIntoCollections = true; + enableExternalContentInSuggestions = false; + + pluginRepositories = [ + { + name = "Jellyfin Stable"; + url = "https://repo.jellyfin.org/releases/plugin/manifest-stable.json"; + } + { + name = "Intro Skipper"; + url = "https://raw.githubusercontent.com/jumoog/intro-skipper/master/manifest.json"; + } + { + name = "Merge Versions Plugin"; + url = "https://raw.githubusercontent.com/danieladov/JellyfinPluginManifest/master/manifest.json"; + } + ]; + + enableSlowResponseWarning = false; + }; + encoding = { + hardwareAccelerationType = "qsv"; + hardwareDecodingCodecs = [ + "h264" + "hevc" + "mpeg2video" + "mpeg4" + "vc1" + "vp8" + "vp9" + "av1" + ]; + enableIntelLowPowerH264HwEncoder = true; + enableIntelLowPowerHevcHwEncoder = true; + enableThrottling = false; + enableTonemapping = true; + downMixAudioBoost = 1; + }; + }; }; # 1. enable vaapi on OS-level nixpkgs.config.packageOverrides = pkgs: { diff --git a/flake.lock b/flake.lock index cb2192e..b95ce29 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,25 @@ { "nodes": { + "jellyfin-flake": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1737838264, + "narHash": "sha256-RVqdS+sL6PhylRdLRb0g7wukPI76ubqDb+8a5ERIN0U=", + "owner": "matt1432", + "repo": "nixos-jellyfin", + "rev": "247094619b577231bb2fc5df46b035691dc55490", + "type": "github" + }, + "original": { + "owner": "matt1432", + "repo": "nixos-jellyfin", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1737751639, @@ -18,11 +38,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1738180640, - "narHash": "sha256-rmO6ReqH9sFi9BT5bMhG4GwulwWRuTbpV4ehSuF0pqY=", + "lastModified": 1738262481, + "narHash": "sha256-CkKu6q7KeWp4PVf/FwanlDMRWuQQ8FDxTe8PBQKm3Dg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8ec8d740a6efded206d803abdbb34587d0a56eb7", + "rev": "299b21a844a9d0f7b050576b63db7e40fc8d8b89", "type": "github" }, "original": { @@ -34,6 +54,7 @@ }, "root": { "inputs": { + "jellyfin-flake": "jellyfin-flake", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs" } diff --git a/flake.nix b/flake.nix index 546cdf7..757f947 100644 --- a/flake.nix +++ b/flake.nix @@ -3,21 +3,28 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/release-24.11"; - nixos-hardware.url = "github:NixOS/nixos-hardware/master"; + nixos-hardware.url = "github:NixOS/nixos-hardware/master"; + jellyfin-flake = { + inputs.nixpkgs.follows = "nixpkgs"; + owner = "matt1432"; + repo = "nixos-jellyfin"; + type = "github"; + }; }; - outputs = { self, nixpkgs, nixos-hardware, ... }: + outputs = { self, nixpkgs, nixos-hardware, jellyfin-flake, ... }: let system = "x86_64-linux"; lib = nixpkgs.lib; in { nixosConfigurations = { - media-macmini = lib.nixosSystem { + media-server = lib.nixosSystem { inherit system; modules = [ # add your model from this list: https://github.com/NixOS/nixos-hardware/blob/master/flake.nix - nixos-hardware.nixosModules.apple-macmini-4-1 + #nixos-hardware.nixosModules.apple-macmini-4-1 + jellyfin-flake.nixosModules.default ./configuration.nix ]; };