From 7fd0c5a09aa6f2cd6fd9b60c035fe648c5e90598 Mon Sep 17 00:00:00 2001 From: Kopatz <7265381+Kropatz@users.noreply.github.com> Date: Sun, 26 Nov 2023 19:13:43 +0100 Subject: [PATCH] move nvidia config to seperate file --- flake.nix | 1 + modules/hardware/nvidia.nix | 33 +++++++++++++++++++++++++++++++++ systems/pc/configuration.nix | 30 ------------------------------ users/kopatz.nix | 1 - 4 files changed, 34 insertions(+), 31 deletions(-) create mode 100644 modules/hardware/nvidia.nix diff --git a/flake.nix b/flake.nix index 6ec14dd..563b49f 100644 --- a/flake.nix +++ b/flake.nix @@ -97,6 +97,7 @@ ./users/kopatz.nix ./modules/graphical/plasma.nix ./modules/graphical/shared.nix + ./modules/hardware/nvidia.nix ./modules/hardware/ssd.nix ./modules/hardware/firmware.nix ./modules/nix/settings.nix diff --git a/modules/hardware/nvidia.nix b/modules/hardware/nvidia.nix new file mode 100644 index 0000000..ce5757f --- /dev/null +++ b/modules/hardware/nvidia.nix @@ -0,0 +1,33 @@ +{config, pkgs, ...}: +{ + # Enable OpenGL + hardware.opengl = { + enable = true; + driSupport = true; + driSupport32Bit = true; + }; + + services.xserver.videoDrivers = ["nvidia"]; + hardware.nvidia = { + # Modesetting is required. + modesetting.enable = true; + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + powerManagement.enable = false; + # Fine-grained power management. Turns off GPU when not in use. + # Experimental and only works on modern Nvidia GPUs (Turing or newer). + powerManagement.finegrained = false; + # Use the NVidia open source kernel module (not to be confused with the + # independent third-party "nouveau" open source driver). + # Support is limited to the Turing and later architectures. Full list of + # supported GPUs is at: + # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus + # Only available from driver 515.43.04+ + # Currently alpha-quality/buggy, so false is currently the recommended setting. + open = false; + # Enable the Nvidia settings menu, + # accessible via `nvidia-settings`. + nvidiaSettings = true; + # Optionally, you may need to select the appropriate driver version for your specific GPU. + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; +} diff --git a/systems/pc/configuration.nix b/systems/pc/configuration.nix index ee4aa54..bb91845 100644 --- a/systems/pc/configuration.nix +++ b/systems/pc/configuration.nix @@ -14,36 +14,6 @@ boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; - # Enable OpenGL - hardware.opengl = { - enable = true; - driSupport = true; - driSupport32Bit = true; - }; - - services.xserver.videoDrivers = ["nvidia"]; - hardware.nvidia = { - # Modesetting is required. - modesetting.enable = true; - # Nvidia power management. Experimental, and can cause sleep/suspend to fail. - powerManagement.enable = false; - # Fine-grained power management. Turns off GPU when not in use. - # Experimental and only works on modern Nvidia GPUs (Turing or newer). - powerManagement.finegrained = false; - # Use the NVidia open source kernel module (not to be confused with the - # independent third-party "nouveau" open source driver). - # Support is limited to the Turing and later architectures. Full list of - # supported GPUs is at: - # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus - # Only available from driver 515.43.04+ - # Currently alpha-quality/buggy, so false is currently the recommended setting. - open = false; - # Enable the Nvidia settings menu, - # accessible via `nvidia-settings`. - nvidiaSettings = true; - # Optionally, you may need to select the appropriate driver version for your specific GPU. - package = config.boot.kernelPackages.nvidiaPackages.stable; - }; networking.hostName = "kop-pc"; # Define your hostname. # Enable networking diff --git a/users/kopatz.nix b/users/kopatz.nix index aa23b93..ac8a7f9 100644 --- a/users/kopatz.nix +++ b/users/kopatz.nix @@ -52,7 +52,6 @@ in packages = with pkgs; [ (discord.override { withVencord = true; }) librewolf - ungoogled-chromium brave ]; openssh.authorizedKeys.keys = [