diff options
| author | Kyren223 <Kyren223@proton.me> | 2025-05-15 19:00:20 +0300 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2025-05-15 19:00:20 +0300 |
| commit | de4af3398c5ef69a604f221436d74bbfc453359c (patch) | |
| tree | 85ebf3e6949bbabffbe7af315497271cc1a6ccd3 | |
| parent | 884a6d1e92a7cf0ebd2997a3f0c1c202c0791607 (diff) | |
Added nvidia drivers for NixOS so the GPU will actually work properly
| -rw-r--r-- | hosts/desktop.nix | 1 | ||||
| -rw-r--r-- | modules/desktop.nix | 7 | ||||
| -rw-r--r-- | modules/nvidia.nix | 42 |
3 files changed, 50 insertions, 0 deletions
diff --git a/hosts/desktop.nix b/hosts/desktop.nix index ef02c63..1698ad3 100644 --- a/hosts/desktop.nix +++ b/hosts/desktop.nix @@ -5,6 +5,7 @@ ../modules/common.nix ../modules/kde.nix ../modules/networking.nix + ../modules/desktop.nix inputs.home-manager.nixosModules.default ]; diff --git a/modules/desktop.nix b/modules/desktop.nix new file mode 100644 index 0000000..5956666 --- /dev/null +++ b/modules/desktop.nix @@ -0,0 +1,7 @@ +{ ... }: { + + imports = [ + ./nvidia.nix + ]; + +} diff --git a/modules/nvidia.nix b/modules/nvidia.nix new file mode 100644 index 0000000..9d052ad --- /dev/null +++ b/modules/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 = false; + + # 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 515.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; + }; + +} |
