From 0223e1a6c5f771ea7d85d0844cf925b2d795d102 Mon Sep 17 00:00:00 2001 From: Sergei Poljanski Date: Sat, 3 Oct 2026 21:35:52 +0400 Subject: [PATCH] power: suspend-then-hibernate on external power too Co-Authored-By: Claude Fable 5.1 --- modules/power.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/power.nix b/modules/power.nix index bc9411e..a3216ff 100644 --- a/modules/power.nix +++ b/modules/power.nix @@ -30,10 +30,12 @@ # HibernateDelaySec). Previously this looped suspend->wake->suspend due # to ACPI EC interrupts, but acpi.ec_no_wakeup=1 (above) plus disabling # gsd-power's sleep handlers (in desktop.nix via dconf) makes it stable. - # On AC, plain suspend (s2idle) is fine. + # On AC too: plain suspend let a spurious-wake loop run unbounded for 1.5 + # days (logind re-suspends every 30s while the lid is closed); with + # suspend-then-hibernate it ends in hibernate after HibernateDelaySec. services.logind.settings.Login = { HandleLidSwitch = "suspend-then-hibernate"; - HandleLidSwitchExternalPower = "suspend"; + HandleLidSwitchExternalPower = "suspend-then-hibernate"; HandleSuspendKey = "suspend-then-hibernate"; HandlePowerKey = "hibernate"; IdleAction = "suspend-then-hibernate";