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