{ config, lib, pkgs, ... }: { # Enable the auto-cpufreq daemon services.auto-cpufreq.enable = true; # Enable the TLP daemon services.tlp.enable = true; # Suspend when the battery is critical services.udev.extraRules = '' SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{model_name}=="01AV405", ATTR{capacity}=="[0-5]", RUN+="${config.systemd.package}/bin/systemctl suspend -i" ''; # Enable thinkfan services.thinkfan = { enable = true; levels = [ [ 0 0 47 ] [ 1 47 69 ] [ 2 69 74 ] [ 3 74 78 ] [ 4 78 82 ] [ 5 82 85 ] [ 6 85 87 ] [ 7 87 32767 ] ]; }; # HACK Workaround to enable the service the first time systemd.services.thinkfan.preStart = '' /run/current-system/sw/bin/modprobe -r thinkpad_acpi && /run/current-system/sw/bin/modprobe thinkpad_acpi ''; }