diff --git a/hosts/kima/modules.nix b/hosts/kima/modules.nix index d32b1604..8ae58028 100644 --- a/hosts/kima/modules.nix +++ b/hosts/kima/modules.nix @@ -5,6 +5,7 @@ variant = "latest"; hardware = [ "amd" ]; extraKernelParams = [ ]; + amdOverdrive.enable = true; }; loader = { default = { diff --git a/modules/nixos/boot/kernel/default.nix b/modules/nixos/boot/kernel/default.nix index c770eaf2..f0d22d82 100644 --- a/modules/nixos/boot/kernel/default.nix +++ b/modules/nixos/boot/kernel/default.nix @@ -5,7 +5,12 @@ ... }: let - inherit (lib) mkOption types; + inherit (lib) + mkOption + types + mkEnableOption + mkIf + ; cfg = config.nixos.boot.kernel; hasHardware = hw: builtins.elem hw cfg.hardware; @@ -37,8 +42,11 @@ in ); default = [ ]; description = "List of hardware types (e.g. GPU and CPU vendors) to configure kernel settings for."; + }; + amdOverdrive.enable = mkEnableOption "Enable AMD pstate/overdrive"; + extraKernelParams = mkOption { type = types.listOf types.str; default = [ ]; @@ -74,7 +82,7 @@ in "quiet" "splash" ] - ++ (if hasHardware "amd" then [ "amd_pstate=active" ] else [ ]) + ++ (if hasHardware "amd" then [ ] else [ ]) ++ (if hasHardware "intel" then [ ] else [ ]) ++ (if hasHardware "nvidia" then [ ] else [ ]) ++ cfg.extraKernelParams; @@ -85,5 +93,6 @@ in ++ (if hasHardware "nvidia" then [ "nouveau" ] else [ ]) ++ cfg.extraBlacklistedModules; }; + hardware.amdgpu.overdrive.enable = mkIf cfg.amdOverdrive.enable true; }; } diff --git a/modules/nixos/hardware/graphics/default.nix b/modules/nixos/hardware/graphics/default.nix index 5c2b76a3..8cb64287 100644 --- a/modules/nixos/hardware/graphics/default.nix +++ b/modules/nixos/hardware/graphics/default.nix @@ -89,37 +89,39 @@ in config = mkIf cfg.enable (mkMerge [ { - hardware.graphics = { - enable = true; - enable32Bit = true; - extraPackages = flatten ( - concatMap ( - vendor: - if vendor == "amd" then - commonPackages ++ mesaVulkanPackages - else if vendor == "intel" then - commonPackages - ++ mesaVulkanPackages - ++ (with pkgs; [ - vpl-gpu-rt - intel-media-driver - intel-compute-runtime - intel-vaapi-driver - ]) - else if vendor == "nvidia" then - commonPackages - ++ (with pkgs; [ - nvidiaOffloadScript - intel-media-driver - nvidia-vaapi-driver - vulkan-tools - ]) - else - [ ] - ) cfg.vendors - ); + hardware = { + graphics = { + enable = true; + enable32Bit = true; + extraPackages = flatten ( + concatMap ( + vendor: + if vendor == "amd" then + commonPackages ++ mesaVulkanPackages + else if vendor == "intel" then + commonPackages + ++ mesaVulkanPackages + ++ (with pkgs; [ + vpl-gpu-rt + intel-media-driver + intel-compute-runtime + intel-vaapi-driver + ]) + else if vendor == "nvidia" then + commonPackages + ++ (with pkgs; [ + nvidiaOffloadScript + intel-media-driver + nvidia-vaapi-driver + vulkan-tools + ]) + else + [ ] + ) cfg.vendors + ); - extraPackages32 = flatten (concatMap (_: commonPackages32) cfg.vendors); + extraPackages32 = flatten (concatMap (_: commonPackages32) cfg.vendors); + }; }; environment.systemPackages = flatten ( @@ -145,10 +147,6 @@ in ); } - (mkIf (hasVendor "amd") { - hardware.amdgpu.overdrive.enable = true; - }) - (mkIf (hasVendor "nvidia") { hardware.nvidia = { package = diff --git a/users/cnst/modules/kimamod.nix b/users/cnst/modules/kimamod.nix index 9f5a017c..473dd921 100644 --- a/users/cnst/modules/kimamod.nix +++ b/users/cnst/modules/kimamod.nix @@ -132,7 +132,7 @@ enable = true; }; syncthing = { - enable = true; + enable = false; }; udiskie = { enable = true;