30 lines
		
	
	
	
		
			690 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			690 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   config,
 | |
|   lib,
 | |
|   pkgs,
 | |
|   ...
 | |
| }: let
 | |
|   gpu = config.ooknet.host.hardware.gpu;
 | |
|   inherit (lib) mkIf mkDefault;
 | |
|   inherit (builtins) elem;
 | |
| in {
 | |
|   config = mkIf (elem gpu.type ["amd"]) {
 | |
|     hardware.graphics = {
 | |
|       extraPackages = with pkgs; [
 | |
|         vulkan-tools
 | |
|         vulkan-loader
 | |
|         vulkan-extension-layer
 | |
|         vulkan-validation-layers
 | |
|         # amdvlk
 | |
|         mesa
 | |
|       ];
 | |
|       extraPackages32 = [pkgs.driversi686Linux.amdvlk];
 | |
|     };
 | |
|     boot = {
 | |
|       initrd.kernelModules = ["amdgpu"];
 | |
|       kernelModules = ["amdgpu"];
 | |
|     };
 | |
|     environment.systemPackages = [pkgs.nvtopPackages.amd];
 | |
|     services.xserver.videoDrivers = mkDefault ["modesetting" "amdgpu"];
 | |
|   };
 | |
| }
 |