summary refs log tree commit diff stats
path: root/modules/thinkpad.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/thinkpad.nix')
-rw-r--r--modules/thinkpad.nix31
1 files changed, 31 insertions, 0 deletions
diff --git a/modules/thinkpad.nix b/modules/thinkpad.nix
new file mode 100644
index 00000000..009e3f08
--- /dev/null
+++ b/modules/thinkpad.nix
@@ -0,0 +1,31 @@
+{ config, pkgs, ... }:
+
+{ boot.kernelModules = [ "tp_smapi" ];
+  boot.blacklistedKernelModules = [ "thinkpad_ec" ];
+  boot.extraModulePackages = with config.boot.kernelPackages; [
+    # acpi_call
+    tp_smapi
+  ];
+
+  hardware.trackpoint = {
+    enable = true;
+    emulateWheel = true;
+  };
+
+  services.thinkfan = {
+    enable = true;
+    sensor = "/sys/class/thermal/thermal_zone0/temp";
+  };
+
+  services.tlp = {
+    enable = true;
+    extraConfig = ''
+      # Newer Thinkpads have a battery firmware
+      # it conflicts with TLP if stop thresholds are set
+      START_CHARGE_THRESH_BAT0=70
+      STOP_CHARGE_THRESH_BAT0=80
+      START_CHARGE_THRESH_BAT1=70
+      STOP_CHARGE_THRESH_BAT1=80
+    '';
+  };
+}