31 lines
791 B
Nix
31 lines
791 B
Nix
{
|
|
options,
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}:
|
|
with lib;
|
|
with lib.frajul; let
|
|
cfg = config.hardware.nvidia;
|
|
in {
|
|
options.hardware.nvidia = with types; {
|
|
enable = mkBoolOpt false "Enable drivers and patches for Nvidia hardware.";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
services.xserver.videoDrivers = ["nvidia"];
|
|
hardware.nvidia.modesetting.enable = true;
|
|
|
|
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.production;
|
|
|
|
environment.variables = {
|
|
CUDA_CACHE_PATH = "$XDG_CACHE_HOME/nv";
|
|
};
|
|
environment.shellAliases = {nvidia-settings = "nvidia-settings --config='$XDG_CONFIG_HOME'/nvidia/settings";};
|
|
|
|
# Hyprland settings
|
|
environment.sessionVariables.WLR_NO_HARDWARE_CURSORS = "1"; # Fix cursor rendering issue on wlr nvidia.
|
|
};
|
|
}
|