From 13db4b4d21babbe3e126720a9647a18de5ed440f Mon Sep 17 00:00:00 2001 From: Christoph Hollizeck Date: Sun, 31 Mar 2024 19:01:36 +0200 Subject: [PATCH] move nvidia relevant options into one file --- .../system/hardware/gpu/nvidia/default.nix | 35 +++++++++++++++++++ systems/x86_64-linux/yggdrasil/default.nix | 24 +++---------- 2 files changed, 39 insertions(+), 20 deletions(-) create mode 100644 modules/nixos/system/hardware/gpu/nvidia/default.nix diff --git a/modules/nixos/system/hardware/gpu/nvidia/default.nix b/modules/nixos/system/hardware/gpu/nvidia/default.nix new file mode 100644 index 0000000..21d9732 --- /dev/null +++ b/modules/nixos/system/hardware/gpu/nvidia/default.nix @@ -0,0 +1,35 @@ +{ + lib, + pkgs, + config, + options, + ... +}: +with lib; +with lib.wyrdgard; let + cfg = config.wyrdgard.system.hardware.gpu.nvidia; +in { + options.wyrdgard.system.hardware.gpu.nvidia = with types; { + enable = mkEnableOption "Enable Nvidia GPU"; + }; + + config = mkIf cfg.enable { + hardware.opengl = { + enable = true; + driSupport = true; + driSupport32Bit = true; + }; + + hardware.nvidia = { + modesetting.enable = true; + powerManagement.enable = false; + powerManagement.finegrained = false; + open = false; + nvidiaSettings = false; + package = config.boot.kernelPackages.nvidiaPackages.beta; # stable, beta + }; + + services.xserver.videoDrivers = ["nvidia"]; + services.xserver.displayManager.sddm.wayland.enable = lib.mkForce false; + }; +} diff --git a/systems/x86_64-linux/yggdrasil/default.nix b/systems/x86_64-linux/yggdrasil/default.nix index 7373718..069e34b 100644 --- a/systems/x86_64-linux/yggdrasil/default.nix +++ b/systems/x86_64-linux/yggdrasil/default.nix @@ -11,22 +11,6 @@ with lib.wyrdgard; { environment.systemPackages = with pkgs; [ ]; - # nvidia - hardware.opengl = { - enable = true; - driSupport = true; - driSupport32Bit = true; - }; - - hardware.nvidia = { - modesetting.enable = true; - powerManagement.enable = false; - powerManagement.finegrained = false; - open = false; - nvidiaSettings = false; - package = config.boot.kernelPackages.nvidiaPackages.beta; - }; - environment.pathsToLink = ["/libexec"]; wyrdgard = { @@ -40,11 +24,11 @@ with lib.wyrdgard; { _1password = enabled; }; - system.hardware.bluetooth = enabled; + system.hardware = { + bluetooth = enabled; + gpu.nvidia = enabled; + }; }; - services.xserver.videoDrivers = ["nvidia"]; - services.xserver.displayManager.sddm.wayland.enable = lib.mkForce false; - system.stateVersion = "23.11"; }