diff options
author | Alan Pearce | 2017-09-09 14:18:09 +0200 |
---|---|---|
committer | Alan Pearce | 2017-09-09 16:49:30 +0200 |
commit | 057e1926729ababa1cc6533e6ff5b5e52575513d (patch) | |
tree | 09560bd69a2200e7f8a143022e3664de5504204b /modules | |
parent | d5e8695fa082b59de9807cc27af47d90c519ac55 (diff) | |
download | nixfiles-057e1926729ababa1cc6533e6ff5b5e52575513d.tar.lz nixfiles-057e1926729ababa1cc6533e6ff5b5e52575513d.tar.zst nixfiles-057e1926729ababa1cc6533e6ff5b5e52575513d.zip |
Create laptop-relevant modules
Diffstat (limited to 'modules')
-rw-r--r-- | modules/laptop.nix | 41 | ||||
-rw-r--r-- | modules/thinkpad.nix | 31 |
2 files changed, 72 insertions, 0 deletions
diff --git a/modules/laptop.nix b/modules/laptop.nix new file mode 100644 index 00000000..17acb381 --- /dev/null +++ b/modules/laptop.nix @@ -0,0 +1,41 @@ +{ config, pkgs, ... }: + +{ boot.kernelModules = [ "coretemp" ]; + boot.extraModulePackages = with config.boot.kernelPackages; [ + x86_energy_perf_policy + ]; + + hardware = { + bluetooth.enable = true; + }; + + environment.systemPackages = with pkgs; [ + powerstat + powertop + ]; + + programs.light.enable = true; + + services.logind.extraConfig = '' + IdleAction=suspend + IdleActionSec=600 + ''; + + services.tlp = { + enable = true; + extraConfig = '' + CPU_SCALING_GOVERNOR_ON_BAT=powersave + ''; + }; + + services.xserver = { + libinput = { + enable = true; + naturalScrolling = true; + disableWhileTyping = true; + }; + }; + + systemd.services.nixos-upgrade.unitConfig.ConditionACPower = true; + systemd.services.nix-gc.unitConfig.ConditionACPower = true; +} 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 + ''; + }; +} |