nix-dotfiles/nixosModules/services/nvidia/service.nix

29 lines
819 B
Nix

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