{ pkgs, lib, config, ... }: let nginxEnabled = config.mod.nginx.enable; in { fileSystems."/home/alex/media" = { device = "/dev/disk/by-uuid/ad4acc0f-172c-40f8-8473-777c957e8764"; fsType = "ext4"; options = [ "nofail" ]; }; # 1. enable vaapi on OS-level nixpkgs.config.packageOverrides = pkgs: { vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; }; hardware = { graphics = { enable = true; extraPackages = with pkgs; [ intel-media-driver intel-vaapi-driver # previously vaapiIntel vaapiVdpau libvdpau-va-gl intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in) vpl-gpu-rt # QSV on 11th gen or newer ]; }; }; services = { jellyfin = { enable = true; openFirewall = true; user = "alex"; group = "users"; dataDir = "/home/alex/media/jellyfin"; }; prowlarr.enable = true; nginx = lib.mkIf nginxEnabled { virtualHosts."jelly.ppp.pm" = { locations = { "/" = { proxyPass = "http://127.0.0.1:8096"; }; "/socket" = { proxyPass = "http://127.0.0.1:8096"; proxyWebsockets = true; }; }; }; }; }; environment.systemPackages = [ pkgs.jellyfin pkgs.jellyfin-web pkgs.jellyfin-ffmpeg ]; }