summary refs log tree commit diff stats
path: root/modules/thinkpad.nix
diff options
context:
space:
mode:
authorAlan Pearce2017-09-09 14:18:09 +0200
committerAlan Pearce2017-09-09 16:49:30 +0200
commit057e1926729ababa1cc6533e6ff5b5e52575513d (patch)
tree09560bd69a2200e7f8a143022e3664de5504204b /modules/thinkpad.nix
parentd5e8695fa082b59de9807cc27af47d90c519ac55 (diff)
downloadnixfiles-057e1926729ababa1cc6533e6ff5b5e52575513d.tar.lz
nixfiles-057e1926729ababa1cc6533e6ff5b5e52575513d.tar.zst
nixfiles-057e1926729ababa1cc6533e6ff5b5e52575513d.zip
Create laptop-relevant modules
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
+    '';
+  };
+}