mirror of
				https://github.com/Stunkymonkey/nixos.git
				synced 2025-10-31 17:52:10 +01:00 
			
		
		
		
	Compare commits
	
		
			No commits in common. "ca9a3149a5388f8e48722f504832c4290e4a2142" and "11a32bf462df6e9ba81f5ba36057a2c1097850f7" have entirely different histories.
		
	
	
		
			ca9a3149a5
			...
			11a32bf462
		
	
		
					 6 changed files with 28 additions and 45 deletions
				
			
		
							
								
								
									
										18
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										18
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							|  | @ -207,11 +207,11 @@ | ||||||
|     }, |     }, | ||||||
|     "nixos-hardware": { |     "nixos-hardware": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1746341346, |         "lastModified": 1745955289, | ||||||
|         "narHash": "sha256-WjupK5Xpc+viJlJWiyPHp/dF4aJItp1BPuFsEdv2/fI=", |         "narHash": "sha256-mmV2oPhQN+YF2wmnJzXX8tqgYmUYXUj3uUUBSTmYN5o=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixos-hardware", |         "repo": "nixos-hardware", | ||||||
|         "rev": "0833dc8bbc4ffa9cf9b0cbfccf1c5ec8632fc66e", |         "rev": "72081c9fbbef63765ae82bff9727ea79cc86bd5b", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  | @ -222,11 +222,11 @@ | ||||||
|     }, |     }, | ||||||
|     "nixpkgs": { |     "nixpkgs": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1746183838, |         "lastModified": 1746055187, | ||||||
|         "narHash": "sha256-kwaaguGkAqTZ1oK0yXeQ3ayYjs8u/W7eEfrFpFfIDFA=", |         "narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "bf3287dac860542719fe7554e21e686108716879", |         "rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  | @ -276,11 +276,11 @@ | ||||||
|     }, |     }, | ||||||
|     "nixpkgs-unstable": { |     "nixpkgs-unstable": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1746232882, |         "lastModified": 1745930157, | ||||||
|         "narHash": "sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ=", |         "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "7a2622e2c0dbad5c4493cb268aba12896e28b008", |         "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  |  | ||||||
|  | @ -85,7 +85,6 @@ | ||||||
|                 enable = true; |                 enable = true; | ||||||
|                 settings.noLambdaPatternNames = true; |                 settings.noLambdaPatternNames = true; | ||||||
|               }; |               }; | ||||||
|               flake-checker.enable = true; |  | ||||||
|               markdownlint.enable = true; |               markdownlint.enable = true; | ||||||
|               nixfmt-rfc-style.enable = true; |               nixfmt-rfc-style.enable = true; | ||||||
|               shellcheck.enable = true; |               shellcheck.enable = true; | ||||||
|  |  | ||||||
|  | @ -13,6 +13,7 @@ _: { | ||||||
|     ]; |     ]; | ||||||
| 
 | 
 | ||||||
|     kernelModules = [ |     kernelModules = [ | ||||||
|  |       "dm-snapshot" | ||||||
|       "e1000e" |       "e1000e" | ||||||
|       "nvme" |       "nvme" | ||||||
|     ]; |     ]; | ||||||
|  |  | ||||||
|  | @ -14,6 +14,7 @@ | ||||||
|     "virtio_pci" |     "virtio_pci" | ||||||
|     "virtio_scsi" |     "virtio_scsi" | ||||||
|   ]; |   ]; | ||||||
|  |   boot.initrd.kernelModules = [ "dm-snapshot" ]; | ||||||
| 
 | 
 | ||||||
|   hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; |   hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -17,15 +17,14 @@ in | ||||||
|   my.hardware = { |   my.hardware = { | ||||||
|     bluetooth.enable = true; |     bluetooth.enable = true; | ||||||
|     debug.enable = true; |     debug.enable = true; | ||||||
|     drive-monitor.enable = true; |     drive-monitor = { | ||||||
|  |       enable = true; | ||||||
|  |     }; | ||||||
|     firmware = { |     firmware = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       inherit cpuFlavor; |       inherit cpuFlavor; | ||||||
|     }; |     }; | ||||||
|     graphics = { |     graphics.cpuFlavor = cpuFlavor; | ||||||
|       enable = true; |  | ||||||
|       inherit cpuFlavor; |  | ||||||
|     }; |  | ||||||
|     id-card.enable = true; |     id-card.enable = true; | ||||||
|     keychron.enable = true; |     keychron.enable = true; | ||||||
|     monitor.enable = true; |     monitor.enable = true; | ||||||
|  |  | ||||||
|  | @ -9,46 +9,29 @@ let | ||||||
| in | in | ||||||
| { | { | ||||||
|   options.my.hardware.graphics = with lib; { |   options.my.hardware.graphics = with lib; { | ||||||
|     enable = mkEnableOption "graphics configuration"; |  | ||||||
|     cpuFlavor = mkOption { |     cpuFlavor = mkOption { | ||||||
|       type = |       type = with types; nullOr (enum [ "intel" ]); | ||||||
|         with types; |  | ||||||
|         nullOr (enum [ |  | ||||||
|           "amd" |  | ||||||
|           "intel" |  | ||||||
|         ]); |  | ||||||
|       default = null; |       default = null; | ||||||
|       example = "intel"; |       example = "intel"; | ||||||
|       description = "Which kind of GPU"; |       description = "Which kind of GPU"; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   config = lib.mkIf cfg.enable ( |   config = lib.mkMerge [ | ||||||
|     lib.mkMerge [ |     # Intel GPU | ||||||
|       { |     (lib.mkIf (cfg.cpuFlavor == "intel") { | ||||||
|         hardware.graphics.enable = true; |       nixpkgs.config.packageOverrides = pkgs: { | ||||||
|       } |         vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; | ||||||
|       # Intel GPU |       }; | ||||||
|       (lib.mkIf (cfg.cpuFlavor == "intel") { |       hardware.graphics = { | ||||||
|         nixpkgs.config.packageOverrides = pkgs: { |         enable = true; | ||||||
|           vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; |         extraPackages = with pkgs; [ | ||||||
|         }; |  | ||||||
|         hardware.graphics.extraPackages = with pkgs; [ |  | ||||||
|           intel-media-driver # LIBVA_DRIVER_NAME=iHD |           intel-media-driver # LIBVA_DRIVER_NAME=iHD | ||||||
|           vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium) |           vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium) | ||||||
|           vaapiVdpau |           vaapiVdpau | ||||||
|           libvdpau-va-gl |           libvdpau-va-gl | ||||||
|         ]; |         ]; | ||||||
|       }) |       }; | ||||||
| 
 |     }) | ||||||
|       (lib.mkIf (cfg.cpuFlavor == "amd") { |   ]; | ||||||
|         hardware.graphics.extraPackages = with pkgs; [ |  | ||||||
|           amdvlk |  | ||||||
|         ]; |  | ||||||
|         hardware.graphics.extraPackages32 = with pkgs; [ |  | ||||||
|           driversi686Linux.amdvlk |  | ||||||
|         ]; |  | ||||||
|       }) |  | ||||||
|     ] |  | ||||||
|   ); |  | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue