panacea/modules/power.nix

34 lines
869 B
Nix

{ 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
'';
}