diff --git a/modules/nixos/jellyfin.nix b/modules/nixos/jellyfin.nix index a3acf53..9d10eb7 100644 --- a/modules/nixos/jellyfin.nix +++ b/modules/nixos/jellyfin.nix @@ -31,38 +31,42 @@ ]; ## Hardware transcoding - nixpkgs.config.packageOverrides = pkgs: { - vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; - }; + nixpkgs.config.allowUnfree = true; + hardware.graphics = { enable = true; extraPackages = with pkgs; [ + ## Intel Core i5 Skylake + intel-ocl intel-media-driver - intel-vaapi-driver # previously vaapiIntel - vaapiVdpau - 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 + intel-compute-runtime-legacy1 ]; }; ## Grab EPG data daily systemd = { - services.epg = { - script = "${pkgs.nodejs}/bin/npm run --prefix /media/TV/epg/ grab -- --channels=custom.channels.xml"; - path = [ - pkgs.bash - pkgs.nodejs - ]; - serviceConfig = { - Type = "oneshot"; - User = "root"; + services = { + epg = { + script = "${pkgs.nodejs}/bin/npm run --prefix /media/TV/epg/ grab -- --channels=custom.channels.xml"; + path = [ + pkgs.bash + pkgs.nodejs + ]; + serviceConfig = { + Type = "oneshot"; + User = "root"; + }; + startAt = "daily"; # Creates a timer }; - startAt = "daily"; # Creates a timer + jellyfin.environment.LIBVA_DRIVER_NAME = "iHD"; }; timers.epg.timerConfig.Persistent = true; }; + environment.sessionVariables = { + LIBVA_DRIVER_NAME = "iHD"; + }; + system.stateVersion = "24.05"; }; };