flake/modules/nixos/unfree/nvidia.nix
2024-07-13 22:42:39 +00:00

41 lines
958 B
Nix

{ pkgs, lib, config, ... }:
let
cfg = config.mods.unfree.nvidia;
in {
options.mods.unfree.nvidia = {
enable = lib.mkEnableOption {
default = false;
description = "enables proprietary nvidia drivers";
};
packages = lib.mkOption {
default = [ "nvidia-x11" ];
description = "unfree packages";
};
driver = lib.mkOption {
default = "stable";
description = "nvidiaPackages driver kernel package";
};
};
config = lib.mkIf cfg.enable {
# nixos.wiki/wiki/Nvidia
hardware.graphics = {
enable = true;
enable32Bit = true;
};
services.xserver.videoDrivers = [ "nvidia" "nvidia-dkms" ];
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
open = false;
nvidiaSettings = false;
package = config.boot.kernelPackages.nvidiaPackages."${cfg.driver}";
};
};
}