From 4adc8da5976910314f180bfaced487d4e1983217 Mon Sep 17 00:00:00 2001 From: osbm Date: Fri, 7 Nov 2025 10:18:22 +0300 Subject: [PATCH] will statix ever be happy --- modules/nixos/hardware/nvidia.nix | 56 ++++++++++++++++--------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/modules/nixos/hardware/nvidia.nix b/modules/nixos/hardware/nvidia.nix index 3104c01..2762885 100644 --- a/modules/nixos/hardware/nvidia.nix +++ b/modules/nixos/hardware/nvidia.nix @@ -19,35 +19,39 @@ # Load nvidia driver for Xorg and Wayland services.xserver.videoDrivers = [ "nvidia" ]; - hardware.nvidia = { - # Modesetting is required. - modesetting.enable = true; + 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; + # 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; + # Fine-grained power management. Turns off GPU when not in use. + # Experimental and only works on modern Nvidia GPUs (Turing or newer). + 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+ + # Currently alpha-quality/buggy, so false is currently the recommended setting. + open = 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+ - # Currently alpha-quality/buggy, so false is currently the recommended setting. - open = false; + # Enable the Nvidia settings menu, + # accessible via `nvidia-settings` + nvidiaSettings = true; - # 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.latest; + # Optionally, you may need to select the appropriate driver version for your specific GPU. + package = config.boot.kernelPackages.nvidiaPackages.latest; + }; + nvidia-container-toolkit.enable = lib.mkIf config.osbmModules.virtualisation.docker.enable true; }; environment.systemPackages = [ @@ -60,7 +64,5 @@ presets.nvidia-gpu.enable = true; }; - # Enable nvidia-container-toolkit if virtualisation is enabled - hardware.nvidia-container-toolkit.enable = lib.mkIf config.osbmModules.virtualisation.docker.enable true; }; }