From 71d2a9c1770a0ac26a2e91b081f1514ced37cce9 Mon Sep 17 00:00:00 2001 From: Eclypsed Date: Sun, 21 Dec 2025 22:29:59 -0500 Subject: [PATCH] Added hardware profiles for nvidia && intel --- hosts/vanta/default.nix | 1 + profiles/intel.nix | 17 +++++++++++++++++ profiles/nvidia.nix | 42 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 profiles/intel.nix create mode 100644 profiles/nvidia.nix diff --git a/hosts/vanta/default.nix b/hosts/vanta/default.nix index be8b088..47a3984 100644 --- a/hosts/vanta/default.nix +++ b/hosts/vanta/default.nix @@ -6,5 +6,6 @@ imports = [ inputs.nixos-hardware.nixosModules.framework-12th-gen-intel ./hardware-configuration.nix + ../../profiles/intel.nix ]; } diff --git a/profiles/intel.nix b/profiles/intel.nix new file mode 100644 index 0000000..0f6e3c6 --- /dev/null +++ b/profiles/intel.nix @@ -0,0 +1,17 @@ +{ + pkgs, + ... +}: +{ + hardware.graphics = { + enable = true; + extraPackages = with pkgs; [ + intel-media-driver + intel-ocl + intel-vaapi-driver + vpl-gpu-rt + libvdpau-va-gl + libva-vdpau-driver + ]; + }; +} diff --git a/profiles/nvidia.nix b/profiles/nvidia.nix new file mode 100644 index 0000000..e605917 --- /dev/null +++ b/profiles/nvidia.nix @@ -0,0 +1,42 @@ +{ + config, + ... +}: +{ + # Enable OpenGL + hardware.graphics.enable = true; + + # Load nvidia driver for Xorg and Wayland + services.xserver.videoDrivers = [ "nvidia" ]; + + hardware.nvidia = { + + # Modesetting is required. + modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + # Enable this if you have graphical corruption issues or application crashes after waking + # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead + # of just the bare essentials. + powerManagement.enable = true; + + # Fine-grained power management. Turns off GPU when not in use. + # Experimental and only works on modern Nvidia GPUs (Turing or newer). + powerManagement.finegrained = false; + + # Use the Nvidia open source kernel module (not to be confused with the + # independent third-party "nouveau" open source driver). + # Support is limited to the Turing and later architectures. Full list of + # supported GPUs is at: + # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus + # Only available from driver 513.43.04+ + open = false; + + # Enable the Nvidia settings menu, + # accessible via `nvidia-settings`. + nvidiaSettings = true; + + # Optionally, you may need to select the appropriate driver version for your specific GPU. + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; +}