From 7d99d5d3f447dc0d2aa9ce64cdb4693c8a0ad349 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 3 Mar 2025 14:20:15 +0100 Subject: [PATCH] nixos/nvidia: add a read only enabled option similar to the one from zfs --- nixos/modules/hardware/video/nvidia.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix index 6c2646feedfa..eb2db48d6fcd 100644 --- a/nixos/modules/hardware/video/nvidia.nix +++ b/nixos/modules/hardware/video/nvidia.nix @@ -5,7 +5,7 @@ ... }: let - nvidiaEnabled = (lib.elem "nvidia" config.services.xserver.videoDrivers); + nvidiaEnabled = lib.elem "nvidia" config.services.xserver.videoDrivers; nvidia_x11 = if nvidiaEnabled || cfg.datacenter.enable then cfg.package else null; cfg = config.hardware.nvidia; @@ -24,6 +24,13 @@ in { options = { hardware.nvidia = { + enabled = lib.mkOption { + readOnly = true; + type = lib.types.bool; + default = nvidia_x11 != null; + defaultText = lib.literalMD "`true` if NVIDIA support is enabled"; + description = "True if NVIDIA support is enabled"; + }; datacenter.enable = lib.mkEnableOption '' Data Center drivers for NVIDIA cards on a NVLink topology ''; @@ -294,7 +301,7 @@ in igpuDriver = if pCfg.intelBusId != "" then "modesetting" else "amdgpu"; igpuBusId = if pCfg.intelBusId != "" then pCfg.intelBusId else pCfg.amdgpuBusId; in - lib.mkIf (nvidia_x11 != null) ( + lib.mkIf cfg.enabled ( lib.mkMerge [ # Common ({