2026-02-17 20:02:25 +01:00
|
|
|
{
|
|
|
|
|
...
|
|
|
|
|
}:
|
|
|
|
|
{
|
2026-02-18 00:13:02 +01:00
|
|
|
services.thermald.enable = true; # Prevents overheating/throttling
|
|
|
|
|
services.power-profiles-daemon.enable = false;
|
|
|
|
|
services.tlp = {
|
|
|
|
|
enable = true;
|
2026-02-19 18:38:18 +01:00
|
|
|
pd.enable = true;
|
|
|
|
|
|
2026-02-18 00:13:02 +01:00
|
|
|
settings = {
|
2026-02-19 18:38:18 +01:00
|
|
|
TLP_AUTO_SWITCH = 1;
|
|
|
|
|
|
|
|
|
|
CPU_DRIVER_OPMODE_ON_AC = "active";
|
|
|
|
|
CPU_DRIVER_OPMODE_ON_BAT = "active";
|
|
|
|
|
CPU_DRIVER_OPMODE_ON_SAV = "active";
|
2026-02-18 00:13:02 +01:00
|
|
|
CPU_SCALING_GOVERNOR_ON_AC = "performance";
|
|
|
|
|
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
2026-02-18 00:35:38 +01:00
|
|
|
CPU_ENERGY_PERF_POLICY_ON_BAT = "balance_power";
|
2026-02-18 00:13:02 +01:00
|
|
|
CPU_ENERGY_PERF_POLICY_ON_AC = "balance_performance";
|
2026-02-18 00:35:38 +01:00
|
|
|
CPU_MIN_PERF_ON_BAT = 0;
|
|
|
|
|
CPU_MAX_PERF_ON_BAT = 80;
|
2026-02-19 18:38:18 +01:00
|
|
|
|
|
|
|
|
WIFI_PWR_ON_AC = "off";
|
|
|
|
|
WIFI_PWR_ON_BAT = "on";
|
|
|
|
|
|
|
|
|
|
MEM_SLEEP_ON_BAT = "deep";
|
2026-02-18 00:13:02 +01:00
|
|
|
};
|
|
|
|
|
};
|
2026-02-25 01:14:42 +01:00
|
|
|
|
|
|
|
|
services.logind = {
|
|
|
|
|
# Use 'settings' for modern NixOS Unstable/Stable
|
|
|
|
|
settings = {
|
|
|
|
|
Login = {
|
|
|
|
|
HandleLidSwitch = "suspend-then-hibernate";
|
|
|
|
|
HandleLidSwitchExternalPower = "suspend";
|
|
|
|
|
HandleLidSwitchDocked = "ignore"; # Keeps external monitors alive
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
systemd.sleep.extraConfig = ''
|
|
|
|
|
HibernateDelaySec=10min
|
|
|
|
|
'';
|
2026-02-17 20:02:25 +01:00
|
|
|
}
|