about summary refs log tree commit diff
path: root/modules/services/tlp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/services/tlp')
-rw-r--r--modules/services/tlp/default.nix24
1 files changed, 24 insertions, 0 deletions
diff --git a/modules/services/tlp/default.nix b/modules/services/tlp/default.nix
new file mode 100644
index 0000000..2f818e5
--- /dev/null
+++ b/modules/services/tlp/default.nix
@@ -0,0 +1,24 @@
+# TLP power management
+{ config, lib, ... }:
+let cfg = config.my.services.tlp;
+in {
+  options.my.services.tlp = {
+    enable = lib.mkEnableOption "TLP power management configuration";
+  };
+
+  config = lib.mkIf cfg.enable {
+    services.tlp = {
+      enable = true;
+
+      settings = {
+        # Set CPU scaling aggressively when power is not an issue
+        CPU_SCALING_GOVERNOR_ON_AC = "performance";
+        CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
+
+        # Keep charge between 60% and 80% to preserve battery life
+        START_CHARGE_THRESH_BAT0 = 60;
+        STOP_CHARGE_THRESH_BAT0 = 80;
+      };
+    };
+  };
+}