diff options
Diffstat (limited to 'modules/nvidia.nix')
| -rw-r--r-- | modules/nvidia.nix | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/modules/nvidia.nix b/modules/nvidia.nix new file mode 100644 index 0000000..ba71df9 --- /dev/null +++ b/modules/nvidia.nix @@ -0,0 +1,27 @@ +{ config, pkgs, inputs, ... }: +let + nvidia-offload = pkgs.writeShellScriptBin "prime-run" '' +export __NV_PRIME_RENDER_OFFLOAD=1 +export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 +export __GLX_VENDOR_LIBRARY_NAME=nvidia +export __VK_LAYER_NV_optimus=NVIDIA_only +exec "$@" +''; +in +{ + nixpkgs.config.allowUnfree = true; + hardware.graphics.enable = true; + hardware.nvidia.modesetting.enable = true; + hardware.nvidia.open = true; + hardware.nvidia.prime = { + offload.enable = true; + + nvidiaBusId = "PCI:1:0:0"; + intelBusId = "PCI:5:0:0"; + }; + hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; + + services.xserver.videoDrivers = [ "nvidia" ]; + + environment.systemPackages = [ nvidia-offload ]; +} |
