summaryrefslogtreecommitdiff
path: root/nixos/hosts/apocalypse/nvidia.nix
diff options
context:
space:
mode:
authorJakub Stachurski <j.stachurski@student.utwente.nl>2025-04-05 13:14:31 +0200
committerJakub Stachurski <j.stachurski@student.utwente.nl>2025-04-05 14:29:48 +0200
commite185b7f874566c66fd97f158a457c4c64d0628ce (patch)
treeb242707378575c3aa286b4c3a7f8b198672e4440 /nixos/hosts/apocalypse/nvidia.nix
parent45ec0396b4d56798f39254e9ef31b9c144e681fd (diff)
add the new laptop install
Diffstat (limited to '')
-rw-r--r--nixos/hosts/apocalypse/nvidia.nix55
1 files changed, 55 insertions, 0 deletions
diff --git a/nixos/hosts/apocalypse/nvidia.nix b/nixos/hosts/apocalypse/nvidia.nix
new file mode 100644
index 0000000..ef95b43
--- /dev/null
+++ b/nixos/hosts/apocalypse/nvidia.nix
@@ -0,0 +1,55 @@
+{ config, lib, pkgs, modulesPath, ...}:
+{
+ # 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+
+ # Currently alpha-quality/buggy, so false is currently the recommended setting.
+ 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.production;
+
+ prime = {
+ offload = {
+ enable = true;
+ enableOffloadCmd = true;
+ };
+
+ sync.enable = false;
+
+ intelBusId = "PCI:0:2:0";
+ nvidiaBusId = "PCI:1:0:0";
+ };
+ };
+
+}