{ lib, config, ... }: with lib; let cfg = config.voidcruiser.graphics; in { options.voidcruiser.graphics ={ defaultSettings.enable = mkEnableOption "Enables some basic graphical settings"; nvidia = { enable = mkEnableOption "Enables Nvidia settings"; proprietaryDrivers = mkEnableOption "Enables proprietary drivers"; }; }; config = { hardware = { opengl = { enable = true; driSupport = true; driSupport32Bit = true; }; nvidia = mkIf cfg.nvidia.enable { package = config.boot.kernelPackages.nvidiaPackages.stable; powerManagement = { enable = false; finegrained = false; }; open = !cfg.nvidia.proprietaryDrivers; nvidiaSettings = cfg.nvidia.proprietaryDrivers; }; }; services.xserver.videoDrivers = mkIf cfg.nvidia.proprietaryDrivers ["nvidia"]; }; }