From b5929a75f9b2390d85563c5b776292b930135ced Mon Sep 17 00:00:00 2001 From: coolneng Date: Fri, 17 Jul 2020 13:29:04 +0200 Subject: [PATCH] Configure TLP to maximize power savings on battery --- configuration.nix | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/configuration.nix b/configuration.nix index 7772b80..325eb63 100644 --- a/configuration.nix +++ b/configuration.nix @@ -66,7 +66,37 @@ services.timesyncd.enable = true; # Enable the TLP daemon - services.tlp.enable = true; + services.tlp = { + enable = true; + extraConfig = '' + # Use the new CPU frequency scaling governor + CPU_SCALING_GOVERNOR_ON_AC=schedutil + CPU_SCALING_GOVERNOR_ON_BAT=schedutil + + # Adjust CPU frequencies accordingly to the power state + CPU_SCALING_MIN_FREQ_ON_AC=800000 + CPU_SCALING_MAX_FREQ_ON_AC=3000000 + CPU_SCALING_MIN_FREQ_ON_BAT=800000 + CPU_SCALING_MAX_FREQ_ON_BAT=2300000 + + # Enable audio power saving for Intel HDA, AC97 devices (timeout in secs). + # A value of 0 disables, >=1 enables power saving (recommended: 1). + # Default: 0 (AC), 1 (BAT) + SOUND_POWER_SAVE_ON_AC=0 + SOUND_POWER_SAVE_ON_BAT=1 + + # Runtime Power Management for PCI(e) bus devices: on=disable, auto=enable. + # Default: on (AC), auto (BAT) + RUNTIME_PM_ON_AC=on + RUNTIME_PM_ON_BAT=auto + + # Battery feature drivers: 0=disable, 1=enable + # Default: 1 (all) + NATACPI_ENABLE=1 + TPACPI_ENABLE=1 + TPSMAPI_ENABLE=1 + ''; + }; # NixOS version system.stateVersion = "20.09";