Compare commits
	
		
			3 Commits
		
	
	
		
			94c2c9d7d5
			...
			5a36dbc083
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 5a36dbc083 | ||
|  | b8d94f015f | ||
|  | 0aa885e2e4 | 
							
								
								
									
										93
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										93
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							| @ -35,11 +35,11 @@ | |||||||
|     "flake-compat_3": { |     "flake-compat_3": { | ||||||
|       "flake": false, |       "flake": false, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1696426674, |         "lastModified": 1650374568, | ||||||
|         "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", |         "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", | ||||||
|         "owner": "edolstra", |         "owner": "edolstra", | ||||||
|         "repo": "flake-compat", |         "repo": "flake-compat", | ||||||
|         "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", |         "rev": "b4a34015c698c7793d592d66adbab377907a2be8", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -53,11 +53,11 @@ | |||||||
|         "systems": "systems" |         "systems": "systems" | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1710146030, |         "lastModified": 1726560853, | ||||||
|         "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", |         "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", | ||||||
|         "owner": "numtide", |         "owner": "numtide", | ||||||
|         "repo": "flake-utils", |         "repo": "flake-utils", | ||||||
|         "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", |         "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -128,11 +128,11 @@ | |||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1730837930, |         "lastModified": 1733484277, | ||||||
|         "narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=", |         "narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=", | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "repo": "home-manager", |         "repo": "home-manager", | ||||||
|         "rev": "2f607e07f3ac7e53541120536708e824acccfaa8", |         "rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -149,11 +149,11 @@ | |||||||
|         "rust-overlay": "rust-overlay" |         "rust-overlay": "rust-overlay" | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1730776371, |         "lastModified": 1733558619, | ||||||
|         "narHash": "sha256-qLH/qtoBoKZJ5I2Ry312jCVJTfXu6XcCdcXPPAyJhBM=", |         "narHash": "sha256-+hpXjj67bWfr8Z4JP32CPqvoqO5hkTNyRZLA5SB6Zmc=", | ||||||
|         "owner": "lilyinstarlight", |         "owner": "lilyinstarlight", | ||||||
|         "repo": "nixos-cosmic", |         "repo": "nixos-cosmic", | ||||||
|         "rev": "c62f5e8c7a9a1ebc4013b617e0e054011c747d49", |         "rev": "313f9b0d8cb2ec8bec0f4d5170c3fda41d49f58c", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -169,11 +169,11 @@ | |||||||
|         "nixpkgs": "nixpkgs_3" |         "nixpkgs": "nixpkgs_3" | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1726981058, |         "lastModified": 1733516684, | ||||||
|         "narHash": "sha256-065MWSg1xhMdYun53S7mWKUEDviAEyxT/kl6JrjZwe4=", |         "narHash": "sha256-yz3mZyTnPlxZW2f51kJyfofDsBeX7WxAPvTXZtr2lW4=", | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "repo": "NixOS-WSL", |         "repo": "NixOS-WSL", | ||||||
|         "rev": "f9f28d8ff5288f821f1e64ec03185a9bb0edb0d0", |         "rev": "dd20ebde771edbdececade73dbb8791ff987d0db", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -201,43 +201,27 @@ | |||||||
|     }, |     }, | ||||||
|     "nixpkgs-stable": { |     "nixpkgs-stable": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1730602179, |         "lastModified": 1733412085, | ||||||
|         "narHash": "sha256-efgLzQAWSzJuCLiCaQUCDu4NudNlHdg2NzGLX5GYaEY=", |         "narHash": "sha256-FillH0qdWDt/nlO6ED7h4cmN+G9uXwGjwmCnHs0QVYM=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "3c2f1c4ca372622cb2f9de8016c9a0b1cbd0f37c", |         "rev": "4dc2fc4e62dbf62b84132fe526356fbac7b03541", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "ref": "nixos-24.05", |         "ref": "nixos-24.11", | ||||||
|         "repo": "nixpkgs", |  | ||||||
|         "type": "github" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "nixpkgs-stable_2": { |  | ||||||
|       "locked": { |  | ||||||
|         "lastModified": 1730602179, |  | ||||||
|         "narHash": "sha256-efgLzQAWSzJuCLiCaQUCDu4NudNlHdg2NzGLX5GYaEY=", |  | ||||||
|         "owner": "NixOS", |  | ||||||
|         "repo": "nixpkgs", |  | ||||||
|         "rev": "3c2f1c4ca372622cb2f9de8016c9a0b1cbd0f37c", |  | ||||||
|         "type": "github" |  | ||||||
|       }, |  | ||||||
|       "original": { |  | ||||||
|         "owner": "NixOS", |  | ||||||
|         "ref": "release-24.05", |  | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "nixpkgs_2": { |     "nixpkgs_2": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1730531603, |         "lastModified": 1733392399, | ||||||
|         "narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=", |         "narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d", |         "rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -249,11 +233,11 @@ | |||||||
|     }, |     }, | ||||||
|     "nixpkgs_3": { |     "nixpkgs_3": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1726320982, |         "lastModified": 1729973466, | ||||||
|         "narHash": "sha256-RuVXUwcYwaUeks6h3OLrEmg14z9aFXdWppTWPMTwdQw=", |         "narHash": "sha256-knnVBGfTCZlQgxY1SgH0vn2OyehH9ykfF8geZgS95bk=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "8f7492cce28977fbf8bd12c72af08b1f6c7c3e49", |         "rev": "cd3e8833d70618c4eea8df06f95b364b016d4950", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -265,11 +249,11 @@ | |||||||
|     }, |     }, | ||||||
|     "nixpkgs_4": { |     "nixpkgs_4": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1728241625, |         "lastModified": 1733392399, | ||||||
|         "narHash": "sha256-yumd4fBc/hi8a9QgA9IT8vlQuLZ2oqhkJXHPKxH/tRw=", |         "narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "c31898adf5a8ed202ce5bea9f347b1c6871f32d1", |         "rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -315,11 +299,11 @@ | |||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1730687492, |         "lastModified": 1733452419, | ||||||
|         "narHash": "sha256-xQVadjquBA/tFxDt5A55LJ1D1AvkVWsnrKC2o+pr8F4=", |         "narHash": "sha256-eh2i2GtqdWVOP7yjiWtB8FMUWktCZ4vjo81n6g5mSiE=", | ||||||
|         "owner": "oxalica", |         "owner": "oxalica", | ||||||
|         "repo": "rust-overlay", |         "repo": "rust-overlay", | ||||||
|         "rev": "41814763a2c597755b0755dbe3e721367a5e420f", |         "rev": "020701e6057992329a7cfafc6e3c5d5658bbcf79", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -337,11 +321,11 @@ | |||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1719005984, |         "lastModified": 1732544274, | ||||||
|         "narHash": "sha256-mpFl3Jv4fKnn+5znYXG6SsBjfXHJdRG5FEqNSPx0GLA=", |         "narHash": "sha256-qvzLIxuqukl0nxpXHEh5+iw1BLeLxYOwRC0+7cFUbPo=", | ||||||
|         "owner": "snowfallorg", |         "owner": "snowfallorg", | ||||||
|         "repo": "lib", |         "repo": "lib", | ||||||
|         "rev": "c6238c83de101729c5de3a29586ba166a9a65622", |         "rev": "cfeacd055545ab5de0ecfd41e09324dcd8fb2bbb", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -354,15 +338,14 @@ | |||||||
|       "inputs": { |       "inputs": { | ||||||
|         "nixpkgs": [ |         "nixpkgs": [ | ||||||
|           "nixpkgs" |           "nixpkgs" | ||||||
|         ], |         ] | ||||||
|         "nixpkgs-stable": "nixpkgs-stable_2" |  | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1730883027, |         "lastModified": 1733128155, | ||||||
|         "narHash": "sha256-pvXMOJIqRW0trsW+FzRMl6d5PbsM4rWfD5lcKCOrrwI=", |         "narHash": "sha256-m6/qwJAJYcidGMEdLqjKzRIjapK4nUfMq7rDCTmZajc=", | ||||||
|         "owner": "mic92", |         "owner": "mic92", | ||||||
|         "repo": "sops-nix", |         "repo": "sops-nix", | ||||||
|         "rev": "c5ae1e214ff935f2d3593187a131becb289ea639", |         "rev": "c6134b6fff6bda95a1ac872a2a9d5f32e3c37856", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  | |||||||
| @ -0,0 +1,131 @@ | |||||||
|  | { config | ||||||
|  | , lib | ||||||
|  | , pkgs | ||||||
|  | , ... | ||||||
|  | }: | ||||||
|  | let | ||||||
|  |   inherit (lib) mkEnableOption mkIf; | ||||||
|  |   inherit (lib.my-namespace) disabled enabled; | ||||||
|  | 
 | ||||||
|  |   cfg = config.my-namespace.hardware.graphics-nvidia-prime-amd-testing; | ||||||
|  | in | ||||||
|  | { | ||||||
|  |   options.my-namespace.hardware.graphics-nvidia-prime-amd-testing = { | ||||||
|  |     enable = mkEnableOption "Enable nvidia"; | ||||||
|  |   }; | ||||||
|  |   config = mkIf cfg.enable { | ||||||
|  | 
 | ||||||
|  |     # Enable NVIDIA driver for X11 and Wayland | ||||||
|  |     services.xserver.videoDrivers = [ "amdgpu" "nvidia" ]; | ||||||
|  | 
 | ||||||
|  |     # Enable OpenGL | ||||||
|  |     hardware.graphics = { | ||||||
|  |       enable = true; | ||||||
|  |       extraPackages = with pkgs; [ nvidia-vaapi-driver ]; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     # Use Beta Driver Package | ||||||
|  |     boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11_beta ]; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     boot.loader.systemd-boot.consoleMode = "max"; | ||||||
|  | 
 | ||||||
|  |     # Enable required Kernel Modules | ||||||
|  |     boot.initrd.kernelModules = [ | ||||||
|  |       "amdgpu" | ||||||
|  |       "nvidia" | ||||||
|  |       # "nvidia-drm" | ||||||
|  |       "nvidiafb" | ||||||
|  |       # "nvidia-uvm" | ||||||
|  |       # "nvidia-modeset" | ||||||
|  |       # "i2c-nvidia_gpu"     | ||||||
|  |     ]; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     boot.kernelParams = [ | ||||||
|  |       "amdgpu.modeset=1" | ||||||
|  |       "nvidia-drm.fbdev=1" | ||||||
|  |       "nvidia-drm.modeset=1" | ||||||
|  |       #  "nvidia.NVreg_PreserveVideoMemoryAllocations=0" | ||||||
|  |       "amd_iommu=on" | ||||||
|  |       # "vfio-pci.ids=\"10de:2489,10de:228b\"" | ||||||
|  |       # "nomodeset" | ||||||
|  |       #  "nvidia_drm.modeset=1" | ||||||
|  |     ]; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     # Blacklist intel and nouveau | ||||||
|  |     boot.blacklistedKernelModules = [ | ||||||
|  |       "i915" | ||||||
|  |       "nouveau" | ||||||
|  |       # "nvidia" | ||||||
|  |       # "nvidia-drm" | ||||||
|  |       # "nvidia-uvm" | ||||||
|  |       # "nvidiafb" | ||||||
|  |       # "nvidia_drm" | ||||||
|  |       # "nvidia_modeset" | ||||||
|  |     ]; | ||||||
|  | 
 | ||||||
|  |     # Extra blacklist nouveau | ||||||
|  |     boot.extraModprobeConfig = '' | ||||||
|  |       blacklist nouveau | ||||||
|  |       options nouveau modeset=0 | ||||||
|  |     ''; | ||||||
|  | 
 | ||||||
|  |     # Configure NVIDIA driver | ||||||
|  |     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 = true; | ||||||
|  | 
 | ||||||
|  |       # 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.beta; | ||||||
|  |       # package = config.boot.kernelPackages.nvidiaPackages.none; | ||||||
|  |       # package = config.boot.kernelPackages.nvidiaPackages.production; | ||||||
|  | 
 | ||||||
|  |       forceFullCompositionPipeline = false; | ||||||
|  | 
 | ||||||
|  |       prime = { | ||||||
|  |         offload = { | ||||||
|  |           enable = true; | ||||||
|  |           enableOffloadCmd = true; | ||||||
|  |         }; | ||||||
|  |         reverseSync.enable = false; | ||||||
|  |         # Make sure to use the correct Bus ID values for your system! | ||||||
|  |         # intelBusId = "PCI:0:2:0"; | ||||||
|  |         nvidiaBusId = "PCI:01:0:0"; | ||||||
|  |         amdgpuBusId = "PCI:50:0:0"; #For AMD GPU | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     # Add user to extra groups | ||||||
|  |     users.users.andreas = { | ||||||
|  |       extraGroups = [ "video" "render" ]; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |   }; | ||||||
|  | } | ||||||
| @ -92,6 +92,7 @@ in | |||||||
|         gparted |         gparted | ||||||
|         ntfs3g  |         ntfs3g  | ||||||
|         ntfsprogs |         ntfsprogs | ||||||
|  |         synergy | ||||||
|         my-namespace.udev-steelseries |         my-namespace.udev-steelseries | ||||||
|         my-namespace.hello |         my-namespace.hello | ||||||
|         # stuff I installed to try to get gamescope to work to no avail Gamescope is just broken it seems. |         # stuff I installed to try to get gamescope to work to no avail Gamescope is just broken it seems. | ||||||
|  | |||||||
| @ -4,6 +4,7 @@ let | |||||||
| in | in | ||||||
| { | { | ||||||
|   my-namespace.hardware = { |   my-namespace.hardware = { | ||||||
|     graphics-nvidia-prime-amd = enabled; |     graphics-nvidia-prime-amd.enable = false; | ||||||
|  |     graphics-nvidia-prime-amd-testing = enabled; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user