{ lib, config, ... }: { boot.resumeDevice = lib.optionalString ((lib.length config.swapDevices) > 0) (lib.head config.swapDevices).device; services.logind = { lidSwitch = "suspend-then-hibernate"; }; systemd.sleep.extraConfig = '' HibernateDelaySec=30m ''; }