mirror of
				https://github.com/Stunkymonkey/nixos.git
				synced 2025-10-31 09:42: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": { |     "nixos-hardware": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1745955289, |         "lastModified": 1746341346, | ||||||
|         "narHash": "sha256-mmV2oPhQN+YF2wmnJzXX8tqgYmUYXUj3uUUBSTmYN5o=", |         "narHash": "sha256-WjupK5Xpc+viJlJWiyPHp/dF4aJItp1BPuFsEdv2/fI=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixos-hardware", |         "repo": "nixos-hardware", | ||||||
|         "rev": "72081c9fbbef63765ae82bff9727ea79cc86bd5b", |         "rev": "0833dc8bbc4ffa9cf9b0cbfccf1c5ec8632fc66e", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  | @ -222,11 +222,11 @@ | ||||||
|     }, |     }, | ||||||
|     "nixpkgs": { |     "nixpkgs": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1746055187, |         "lastModified": 1746183838, | ||||||
|         "narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=", |         "narHash": "sha256-kwaaguGkAqTZ1oK0yXeQ3ayYjs8u/W7eEfrFpFfIDFA=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5", |         "rev": "bf3287dac860542719fe7554e21e686108716879", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  | @ -276,11 +276,11 @@ | ||||||
|     }, |     }, | ||||||
|     "nixpkgs-unstable": { |     "nixpkgs-unstable": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1745930157, |         "lastModified": 1746232882, | ||||||
|         "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", |         "narHash": "sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", |         "rev": "7a2622e2c0dbad5c4493cb268aba12896e28b008", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  |  | ||||||
|  | @ -85,6 +85,7 @@ | ||||||
|                 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,7 +13,6 @@ _: { | ||||||
|     ]; |     ]; | ||||||
| 
 | 
 | ||||||
|     kernelModules = [ |     kernelModules = [ | ||||||
|       "dm-snapshot" |  | ||||||
|       "e1000e" |       "e1000e" | ||||||
|       "nvme" |       "nvme" | ||||||
|     ]; |     ]; | ||||||
|  |  | ||||||
|  | @ -14,7 +14,6 @@ | ||||||
|     "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,14 +17,15 @@ in | ||||||
|   my.hardware = { |   my.hardware = { | ||||||
|     bluetooth.enable = true; |     bluetooth.enable = true; | ||||||
|     debug.enable = true; |     debug.enable = true; | ||||||
|     drive-monitor = { |     drive-monitor.enable = true; | ||||||
|       enable = true; |  | ||||||
|     }; |  | ||||||
|     firmware = { |     firmware = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       inherit cpuFlavor; |       inherit cpuFlavor; | ||||||
|     }; |     }; | ||||||
|     graphics.cpuFlavor = cpuFlavor; |     graphics = { | ||||||
|  |       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,29 +9,46 @@ let | ||||||
| in | in | ||||||
| { | { | ||||||
|   options.my.hardware.graphics = with lib; { |   options.my.hardware.graphics = with lib; { | ||||||
|  |     enable = mkEnableOption "graphics configuration"; | ||||||
|     cpuFlavor = mkOption { |     cpuFlavor = mkOption { | ||||||
|       type = with types; nullOr (enum [ "intel" ]); |       type = | ||||||
|  |         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.mkMerge [ |   config = lib.mkIf cfg.enable ( | ||||||
|     # Intel GPU |     lib.mkMerge [ | ||||||
|     (lib.mkIf (cfg.cpuFlavor == "intel") { |       { | ||||||
|       nixpkgs.config.packageOverrides = pkgs: { |         hardware.graphics.enable = true; | ||||||
|         vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; |       } | ||||||
|       }; |       # Intel GPU | ||||||
|       hardware.graphics = { |       (lib.mkIf (cfg.cpuFlavor == "intel") { | ||||||
|         enable = true; |         nixpkgs.config.packageOverrides = pkgs: { | ||||||
|         extraPackages = with pkgs; [ |           vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; | ||||||
|  |         }; | ||||||
|  |         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