From ca0ca5edd2b9066c3f71036c03a210e544835d54 Mon Sep 17 00:00:00 2001 From: Soispha Date: Tue, 1 Aug 2023 11:05:58 +0200 Subject: Fix(treewide): Use tlp and thermald for power saving --- hosts/apzu/hardware/cpu.nix | 1 - hosts/mammun/hardware/cpu.nix | 3 +-- hosts/tiamat/hardware/cpu.nix | 1 - system/default.nix | 1 + system/power/default.nix | 19 +++++++++++++++++++ 5 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 system/power/default.nix diff --git a/hosts/apzu/hardware/cpu.nix b/hosts/apzu/hardware/cpu.nix index 2969d154..3bc6184f 100644 --- a/hosts/apzu/hardware/cpu.nix +++ b/hosts/apzu/hardware/cpu.nix @@ -1,4 +1,3 @@ {...}: { - powerManagement.cpuFreqGovernor = "powersave"; hardware.cpu.intel.updateMicrocode = true; # Why not? } diff --git a/hosts/mammun/hardware/cpu.nix b/hosts/mammun/hardware/cpu.nix index 2d7232cd..70eaff6f 100644 --- a/hosts/mammun/hardware/cpu.nix +++ b/hosts/mammun/hardware/cpu.nix @@ -1,4 +1,3 @@ -{config, ...}: { - powerManagement.cpuFreqGovernor = "powersave"; +{...}: { hardware.cpu.amd.updateMicrocode = true; # Why not? } diff --git a/hosts/tiamat/hardware/cpu.nix b/hosts/tiamat/hardware/cpu.nix index 00ba588d..70eaff6f 100644 --- a/hosts/tiamat/hardware/cpu.nix +++ b/hosts/tiamat/hardware/cpu.nix @@ -1,4 +1,3 @@ {...}: { - powerManagement.cpuFreqGovernor = "powersave"; hardware.cpu.amd.updateMicrocode = true; # Why not? } diff --git a/system/default.nix b/system/default.nix index 73d1a43a..17ed00bc 100644 --- a/system/default.nix +++ b/system/default.nix @@ -11,6 +11,7 @@ #./nixpkgs already at flake level imported ./options ./polkit + ./power ./services ./sound ./tempfiles diff --git a/system/power/default.nix b/system/power/default.nix new file mode 100644 index 00000000..d20a97f2 --- /dev/null +++ b/system/power/default.nix @@ -0,0 +1,19 @@ +{...}: { + # see this for reference: https://github.com/NixOS/nixpkgs/issues/211345 + services = { + # conflicts with tlp + power-profiles-daemon.enable = false; + thermald.enable = true; + tlp = { + enable = true; + settings = { + CPU_BOOST_ON_AC = 1; + CPU_BOOST_ON_BAT = 0; + CPU_SCALING_GOVERNOR_ON_AC = "performance"; + CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; + SATA_LINKPWR_ON_AC = "max_performance"; + SATA_LINKPWR_ON_BAT = "min_power"; + }; + }; + }; +} -- cgit 1.4.1