power: stabilize suspend-then-hibernate on P14s G6 AMD

acpi.ec_no_wakeup=1 stops EC interrupts from thrashing s2idle, and a
dconf system-db override disables gsd-power's sleep handlers so logind
owns all sleep/idle policy (gsd was re-waking before HibernateDelaySec).
Split lid/suspend policy by power source (s-t-h on battery, plain suspend
on AC), map power key to hibernate, drop HibernateDelaySec to 15min while
re-validating thermals, and disable USB-device wakeup via udev.
This commit is contained in:
Sergei Poljanski 2026-06-02 14:07:07 +03:00
commit a72fb75811
Signed by: asxpi
GPG key ID: 4F8851660FA4121B
2 changed files with 37 additions and 7 deletions

View file

@ -15,6 +15,21 @@
services.displayManager.gdm.enable = true;
services.desktopManager.gnome.enable = true;
# Let systemd-logind own all sleep/idle policy. gsd-power otherwise
# second-guesses suspend-then-hibernate and re-wakes the machine before
# HibernateDelaySec elapses (observed on P14s G6 AMD). Set via dconf
# system db (gsettings-overrides only compiles desktop/shell/mutter
# schemas, so a g-s-d plugin override there is silently dropped).
programs.dconf.profiles.user.databases = [{
settings = {
"org/gnome/settings-daemon/plugins/power" = {
sleep-inactive-battery-type = "nothing";
sleep-inactive-ac-type = "nothing";
power-button-action = "nothing";
};
};
}];
# Configure keymap in X11
services.xserver.xkb = {
layout = "us,ru";