Files

53 lines
1.1 KiB
Nix

{ config, pkgs, lib, ... }: let
primeCfg = config.host.nvidia.prime;
in {
config = lib.mkIf primeCfg.enable {
boot = {
kernelParams = [ "nvidia-drm.modeset=1" ];
initrd.kernelModules = [ "i915" ];
};
services.xserver.videoDrivers = [ "modesetting" "nvidia" ];
hardware = {
graphics = {
enable = true;
enable32Bit = true;
};
nvidia = {
modesetting.enable = true;
powerManagement = {
enable = true;
finegrained = false;
};
open = false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.legacy_470;
prime = {
offload = {
enable = true;
enableOffloadCmd = true;
};
intelBusId = primeCfg.intelBusId;
nvidiaBusId = primeCfg.nvidiaBusId;
};
};
};
environment.sessionVariables = {
__GL_VRR_ALLOWED = 1;
ELECTRON_OZONE_PLATFORM_HINT = "auto";
NIXOS_OZONE_WL = 1;
};
environment.shellAliases = {
nvidia-offload = "__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia";
};
};
}