From 057e1926729ababa1cc6533e6ff5b5e52575513d Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sat, 9 Sep 2017 14:18:09 +0200 Subject: Create laptop-relevant modules --- modules/laptop.nix | 41 +++++++++++++++++++++++++++++++++++++++++ modules/thinkpad.nix | 31 +++++++++++++++++++++++++++++++ satoshipad.nix | 2 ++ 3 files changed, 74 insertions(+) create mode 100644 modules/laptop.nix create mode 100644 modules/thinkpad.nix diff --git a/modules/laptop.nix b/modules/laptop.nix new file mode 100644 index 0000000..17acb38 --- /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 0000000..009e3f0 --- /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 + ''; + }; +} diff --git a/satoshipad.nix b/satoshipad.nix index ff3a104..9d1cbe6 100644 --- a/satoshipad.nix +++ b/satoshipad.nix @@ -4,6 +4,8 @@ imports = [ ./hardware-configuration.nix ./modules/grub2.nix + ./modules/laptop.nix + ./modules/thinkpad.nix ]; networking.hostName = "satoshipad"; -- cgit 1.4.1