{ config, pkgs, lib, system, ... }: { config = { homelab = { apps.jellyfin.enable = true; virtualisation.guest.enable = true; }; networking = { hostId = "aaaa2200"; domain = "roxanne.depeuter.dev"; useDHCP = false; enableIPv6 = true; defaultGateway = { address = "192.168.0.1"; interface = "ens18"; }; # Open ports in the firewall. firewall = { enable = true; }; interfaces.ens18 = { ipv4.addresses = [ { address = "192.168.0.94"; prefixLength = 24; } ]; }; nameservers = [ "1.1.1.1" # Cloudflare "1.0.0.1" # Cloudflare ]; }; system.stateVersion = "24.11"; ### Nvidia GPU support ### services.xserver.videoDrivers = [ "nvidia" ]; # virtualisation.docker.package = pkgs.nvidia-docker; nixpkgs.config = { allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "nvidia-x11" "nvidia-settings" "nvidia-persistenced" ]; # enable vaapi on OS-level # packageOverrides = pkgs: { # vaapiIntel = pkgs.vaapiIntel.override { # enableHybridCodec = true; # }; # }; }; hardware = { graphics = { enable = true; # driSupport = true; # driSupport32Bit = true; extraPackages = with pkgs; [ # intel-media-driver # intel-vaapi-driver # previously vaapiIntel # vaapiVdpau # intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in) # unstable.vpl-gpu-rt # QSV on 11th gen or newer # intel-media-sdk # QSV up to 11th gen ]; }; nvidia = { package = config.boot.kernelPackages.nvidiaPackages.stable; # Whether to enable kernel modesetting when using the NVIDIA proprietary driver. modesetting.enable = true; # powerManagement = { # enable = false; # finegrained = false; # }; open = false; nvidiaSettings = false; # Whether to enable nvidia-persistenced a update for NVIDIA GPU headless mode, i.e. It ensures all GPUs stay awake even during headless mode . # nvidiaPersistenced = true; }; nvidia-container-toolkit.enable = true; }; }; }