-{ config, lib, pkgs, ... }:
+{ lib, config, ... }:
with lib;
{
-services.tlp = {
- enable = true;
- settings = {
- CPU_SCALING_GOVERNOR_ON_AC = "ondemand";
- CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
+ # Preloading the kernel modules to avoid:
+ # tlp: Error in configuration at CPU_SCALING_GOVERNOR_ON_BAT="powersave": governor not available. Skipped.
+ boot.initrd.kernelModules = [
+ "cpufreq_ondemand"
+ "cpufreq_powersave"
+ ];
+ services.tlp = {
+ # Gnome 40 introduced a new way of managing power, without tlp.
+ enable = mkDefault (!config.services.power-profiles-daemon.enable);
+ settings = {
+ CPU_SCALING_GOVERNOR_ON_AC = "ondemand";
+ CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
+ };
};
-};
}