{ 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"]; }; }