nvidia.nix
1 { 2 config, 3 lib, 4 pkgs, 5 ... 6 }: 7 let 8 cfg = config.dusk.system.nixos; 9 in 10 { 11 config = lib.mkIf cfg.nvidia.enable { 12 boot.kernelParams = [ "nvidia_drm.fbdev=1" ]; 13 14 environment = { 15 sessionVariables = { 16 GBM_BACKEND = "nvidia-drm"; 17 __GLX_VENDOR_LIBRARY_NAME = "nvidia"; 18 NVD_BACKEND = "direct"; 19 }; 20 21 systemPackages = with pkgs; [ nvtopPackages.nvidia ]; 22 }; 23 24 hardware = { 25 graphics = { 26 enable = true; 27 extraPackages = with pkgs; [ vaapiVdpau ]; 28 }; 29 30 nvidia = { 31 package = config.boot.kernelPackages.nvidiaPackages.beta; 32 open = false; 33 gsp.enable = true; 34 forceFullCompositionPipeline = false; 35 modesetting.enable = true; 36 powerManagement = { 37 enable = true; 38 finegrained = false; 39 }; 40 }; 41 42 nvidia-container-toolkit.enable = cfg.virtualisation.enable; 43 }; 44 45 services.xserver.videoDrivers = [ "nvidia" ]; 46 }; 47 }