diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/nixos/traits/nvidia.nix | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/modules/nixos/traits/nvidia.nix b/modules/nixos/traits/nvidia.nix index 517d023..dab26c8 100644 --- a/modules/nixos/traits/nvidia.nix +++ b/modules/nixos/traits/nvidia.nix @@ -1,25 +1,28 @@ { config, lib, ... }: let cfg = config.traits.nvidia; - usingNvidia = lib.elem "nvidia" config.services.xserver.videoDrivers; in { options.traits.nvidia = { enable = lib.mkEnableOption "NVIDIA drivers"; - nvk.enable = lib.mkEnableOption "NVK specialisation"; + + openModules.enable = lib.mkEnableOption "open kernel modules for the proprietary driver" // { + # unlike nixpkgs, i know all of my nvidia cards should prefer the open modules after 560 + default = lib.versionAtLeast config.hardware.nvidia.package.version "560"; + }; + + nvk.enable = lib.mkEnableOption "an NVK specialisation"; }; config = lib.mkIf cfg.enable ( lib.mkMerge [ { - # NOTE: this is experiemental - boot.kernelParams = lib.optional usingNvidia "nvidia_drm.fbdev=1"; - services.xserver.videoDrivers = [ "nvidia" ]; hardware.nvidia = { package = lib.mkDefault config.boot.kernelPackages.nvidiaPackages.latest; - modesetting.enable = true; + + open = cfg.openModules.enable; }; } |
