From 0608d646c56a68308d3df1c0a1d19d541938d590 Mon Sep 17 00:00:00 2001 From: Zhongheng Liu Date: Thu, 26 Sep 2024 16:51:22 +0300 Subject: [PATCH] feat: add extra power-saving profile --- nixos/services/misc.service.nix | 6 +++--- nixos/services/power_management.service.nix | 22 +++++++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 nixos/services/power_management.service.nix diff --git a/nixos/services/misc.service.nix b/nixos/services/misc.service.nix index 6a10eb0..72fcd2c 100644 --- a/nixos/services/misc.service.nix +++ b/nixos/services/misc.service.nix @@ -1,7 +1,7 @@ {...}: { - #specialisation.powersave.configuration = { - # services.auto-cpufreq.enable = true; - #}; + specialisation.powersave.configuration = { + services.auto-cpufreq.enable = true; + }; services = { upower.enable = true; udisks2.enable = true; diff --git a/nixos/services/power_management.service.nix b/nixos/services/power_management.service.nix new file mode 100644 index 0000000..06d638b --- /dev/null +++ b/nixos/services/power_management.service.nix @@ -0,0 +1,22 @@ +{ + pkgs, + config, + lib, + ... +}: { + services.tlp = { + enable = true; + settings = { + CPU_SCALING_GOVERNOR_ON_AC = "performance"; + CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; + + CPU_ENERGY_PERF_POLICY_ON_BAT = "power"; + CPU_ENERGY_PERF_POLICY_ON_AC = "performance"; + + CPU_MIN_PERF_ON_AC = 0; + CPU_MAX_PERF_ON_AC = 100; + CPU_MIN_PERF_ON_BAT = 0; + CPU_MAX_PERF_ON_BAT = 20; + }; + }; +}