37 lines
853 B
Nix
37 lines
853 B
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}: let
|
|
inherit (lib.modules) mkIf;
|
|
inherit (lib.options) mkEnableOption;
|
|
|
|
cfg = config.modules.system.hardware;
|
|
in {
|
|
options.modules.system.hardware = {
|
|
nvidia = {
|
|
enable = mkEnableOption "Nvidia graphics drivers";
|
|
};
|
|
amd.enable = mkEnableOption "AMD graphics drivers";
|
|
};
|
|
config = {
|
|
hardware = {
|
|
graphics.enable = true;
|
|
nvidia = mkIf cfg.nvidia.enable {
|
|
# we want the open-source drivers
|
|
open = true;
|
|
|
|
modesetting.enable = true;
|
|
nvidiaSettings = false;
|
|
|
|
# fixes sleep on nvidia devices
|
|
powerManagement = {
|
|
enable = true;
|
|
finegrained = false;
|
|
};
|
|
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
|
};
|
|
};
|
|
services.xserver.videoDrivers = mkIf cfg.nvidia.enable ["nvidia"];
|
|
};
|
|
}
|