summaryrefslogtreecommitdiff
path: root/config/thinkpad.nix
blob: 36320b8a76e560438a2458871fa917d0a4a1e4f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{ config, lib, pkgs, ... }:
{
  services = {
    tlp = {
      enable = true;
      extraConfig = ''
        # Needed for either SSD or btrfs.
        SATA_LINKPWR_ON_BAT=max_performance
      '';
    };
    xserver.xkbModel = "thinkpad60";
  };

  boot = {
    kernelModules = [ "tp_smapi" "thinkpad_acpi" "fbcon" "i915" "acpi_call" ];
    extraModulePackages = with config.boot.kernelPackages; [ tp_smapi acpi_call ];
  };

  systemd.services = {
    battery_threshold = {
      description = "Set battery charging thresholds.";
      path = [ pkgs.tpacpi-bat ];
      after = [ "basic.target" ];
      wantedBy = [ "multi-user.target" ];
      script = ''
        tpacpi-bat -s ST 1 39
        tpacpi-bat -s ST 2 39
        tpacpi-bat -s SP 1 80
        tpacpi-bat -s SP 2 80
      '';
    };
  };
}