diff --git a/modules/services/hardware/upower.nix b/modules/services/hardware/upower.nix index 7cd5cd3ddf8..58f2610ce06 100644 --- a/modules/services/hardware/upower.nix +++ b/modules/services/hardware/upower.nix @@ -50,6 +50,15 @@ with pkgs.lib; mkdir -m 0755 -p /var/lib/upower ''; + # The upower daemon seems to get stuck after doing a suspend + # (i.e. subsequent suspend requests will say "Sleep has already + # been requested and is pending"). So as a workaround, restart + # the daemon. + powerManagement.resumeCommands = + '' + ${config.system.build.systemd}/bin/systemctl try-restart upower + ''; + }; }