{ config, pkgs, lib, ... }: { options.nvidia = { enable = lib.mkEnableOption "Enables nvidia with proprietary drivers"; open = lib.mkEnableOption "Use open nvidia option for newer cards"; stable = lib.mkEnableOption "Use stable instead of beta"; }; config = lib.mkIf config.nvidia.enable { hardware.graphics.enable = true; services.xserver.videoDrivers = ["nvidia"]; hardware.nvidia = { open = if config.nvidia.open then true else false; modesetting.enable = true; package = if config.nvidia.stable then config.boot.kernelPackages.nvidiaPackages.stable else config.boot.kernelPackages.nvidiaPackages.beta; }; boot.kernelParams = [ "nvidia_drm.fbdev=1" ]; environment.systemPackages = with pkgs; [ nvidia-vaapi-driver ]; }; }