commit e586ad8f699b82f4e75d89ec34447dd5d73ee47e
parent a08426c49069bca9d4a8c43f467ab0d7533a20b8
Author: Katja Ramona Sophie Kwast (zaphyra) <git@zaphyra.eu>
Date: Sat, 26 Jul 2025 18:15:55 +0200
parent a08426c49069bca9d4a8c43f467ab0d7533a20b8
Author: Katja Ramona Sophie Kwast (zaphyra) <git@zaphyra.eu>
Date: Sat, 26 Jul 2025 18:15:55 +0200
config/nixos/modules/hardware/video: remove: `nvidia`
1 file changed, 0 insertions(+), 145 deletions(-)
D
|
145
-------------------------------------------------------------------------------
diff --git a/config/nixos/modules/hardware/video/nvidia.nix b/config/nixos/modules/hardware/video/nvidia.nix @@ -1,145 +0,0 @@ -{ - povSelf, - config, - lib, - ... -}: -let - inherit (lib) types; - cfg = lib.getAttrFromPath povSelf config; - cfgRoot = lib.getAttrFromPath (lib.remove [ "hardware" "video" "nvidia" ] povSelf) config; - -in -{ - - options = { - enable = { - type = types.bool; - default = false; - description = '' - Enable NVIDIA hardware support - ''; - }; - open = { - type = types.bool; - default = false; - }; - powerManagement = { - type = types.enum [ - "on" - "off" - "finegrained" - ]; - default = "on"; - description = '' - on/off: Whether to enable experimental power management through systemd. For more information, see the NVIDIA docs, - on Chapter 21. Configuring Power Management Support. - - finegrained: Whether to enable experimental power management of PRIME offload. For more information, see the NVIDIA docs, - on Chapter 22. PCI-Express Runtime D3 (RTD3) Power Management. - ''; - }; - integrated = { - enable = { - type = types.bool; - default = false; - description = '' - Enable support for integrated hardware - ''; - }; - integratedBus = { - type = types.str; - default = if config.hardware.cpu.vendor == "intel" then "PCI:0:2:0" else null; - description = '' - Bus ID of the integrated GPU. You can find it using lspci, either under 3D or VGA - ''; - }; - dedicatedBus = { - type = types.str; - default = "PCI:1:0:0"; - description = '' - Bus ID of the NVIDIA GPU. You can find it using lspci, either under 3D or VGA - ''; - }; - }; - }; - - config = lib.mkIf cfg.enable ( - lib.mkMerge [ - { - assertions = [ - { - assertion = !cfg.open -> cfgRoot.modules.unfree.enable; - message = '' - The programs.nvidia module uses unfree software if open is set to false. - To use it you need to - - set modules.unfree.enable to true - OR - - set.modules.video.nvidia.open to true - ''; - } - ]; - - boot = { - initrd.availableKernelModules = [ - "nvidia" - "nvidia_modeset" - "nvidia_drm" - "nvidia_uvm" - ]; - kernelParams = [ "nvidia.NVreg_UsePageAttributeTable=1" ]; - }; - - environment.sessionVariables = { - _JAVA_AWT_WM_NONREPARENTING = "1"; - GBM_BACKEND = "nvidia-drm"; - NIXOS_OZONE_WL = "1"; - SDL_VIDEODRIVER = "wayland"; # Can break some native games - WLR_NO_HARDWARE_CURSORS = "1"; - }; - - services.xserver.videoDrivers = [ - "fbdev" - "modesetting" - "nvidia" - ]; - - hardware = { - graphics.enable = true; - # NVIDIA - nvidia = { - inherit (cfg.nvidia) open; - - nvidiaSettings = false; - - # Kernel modesetting - modesetting.enable = true; - - package = config.boot.kernelPackages.nvidiaPackages.latest; - - # PowerManagement - powerManagement.enable = cfg.powerManagement == "on" || cfg.powerManagement == "finegrained"; - - powerManagement.finegrained = cfg.powerManagement == "finegrained"; - - # Integrated GPU - prime = - if cfg.integrated.enable then - { - offload.enable = true; - "${config.hardware.cpu.vendor}BusId" = cfg.integrated.integratedBus; - nvidiaBusId = cfg.integrated.dedicatedBus; - } - else - { }; - }; - }; - } - - (lib.mkIf (!cfg.nvidia.open) { - modules.unfree.list = [ "nvidia-x11" ]; - }) - ] - ); - -}