Replace noveau with nvidia proprietary drivers
diff --git a/modules/nvidia.nix b/modules/nvidia.nix
new file mode 100644
index 0000000..f7aa1bd
--- /dev/null
+++ b/modules/nvidia.nix
@@ -0,0 +1,28 @@
+{ pkgs, ... }:
+let
+ prime-run = pkgs.writeScriptBin "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
+{
+ config = {
+ services.xserver.videoDrivers = [ "nvidia" ];
+ hardware = {
+ opengl.enable = true;
+ nvidia = {
+ modesetting.enable = true;
+ prime = {
+ offload.enable = true;
+ intelBusId = "PCI:0:2:0";
+ nvidiaBusId = "PCI:1:0:0";
+ };
+ };
+ };
+ internal.allowUnfree = [ "nvidia-x11" "nvidia-settings" "cudatoolkit" ];
+ };
+ home.home.packages = [ pkgs.nvtop prime-run ];
+}