ooknet/system/profiles/nvidia/default.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
];
};
}