diff options
-rw-r--r-- | modules/laptop.nix | 41 | ||||
-rw-r--r-- | modules/thinkpad.nix | 31 | ||||
-rw-r--r-- | satoshipad.nix | 2 |
3 files changed, 74 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 + ''; + }; +} diff --git a/satoshipad.nix b/satoshipad.nix index ff3a1046..9d1cbe69 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"; |