40 lines
		
	
	
	
		
			971 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			971 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { lib, config, pkgs, ... }:
 | |
| 
 | |
| let
 | |
|   cfg = config.systemProfile.nvidia;
 | |
|   production = config.boot.kernelPackages.nvidiaPackages.production;
 | |
|   beta = config.boot.kernelPackages.nvidiaPackages.beta;
 | |
| in
 | |
| 
 | |
| {
 | |
|   config = lib.mkIf cfg.enable {
 | |
|     hardware.nvidia = {
 | |
|       open = true;
 | |
|       package = production;
 | |
|       modesetting.enable = true;
 | |
|       nvidiaSettings = true;
 | |
|       powerManagement.enable = true;
 | |
|     };
 | |
|     hardware.opengl.extraPackages = with pkgs; [ nvidia-vaapi-driver ];
 | |
|     hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ nvidia-vaapi-driver ];
 | |
|     services.xserver.videoDrivers = [ "nvidia" ];
 | |
|     environment.sessionVariables = {
 | |
|       LIBVA_DRIVER_NAME = "nvidia";
 | |
|       NVD_BACKEND = "direct";
 | |
|     };
 | |
|     environment.systemPackages = with pkgs; [
 | |
|       nvtopPackages.nvidia
 | |
|       mesa
 | |
|       
 | |
|       libva
 | |
|       libva-utils
 | |
| 
 | |
|       vulkan-loader
 | |
|       vulkan-validation-layers
 | |
|       vulkan-tools
 | |
|       vulkan-extension-layer
 | |
|     ];
 | |
|   };
 | |
| 
 | |
|   
 | |
| }
 |