Sleep and suspend is homelab only now. The two exclusions are for different
reasons and both are stated in the run rather than left implicit:
dev — a laptop should sleep; disabling it is a hot bag and a flat battery.
vps — not merely unnecessary, harmful. A virtual machine has no lid and no
power button, but the provider's Shut down control works by sending an ACPI
power button event. HandlePowerKey=ignore makes the VM ignore it, so graceful
shutdown requests silently do nothing and the instance is hard-killed instead.
systemd defaults that key to poweroff for exactly this reason.
The boot hang fix is everything except vps, where systemd-networkd genuinely
manages the network and the unit is load-bearing.
Rather than asking whether boot "feels slow" — a question people answer from
memory of the worst time it happened — the step prints what the unit actually
cost on this boot, from systemd's own accounting. On this host that is 14ms,
which ends the discussion. On a NetworkManager desktop it is two minutes, which
also ends it. On dev the wording says outright that a small number here means
there is nothing to do.
The original's live guard is kept and is what actually decides: NetworkManager
active and networkd not. Anything else, including "cannot tell", is left alone,
and the reason is printed. The warning against disabling systemd-networkd
outright is carried across into the library, where the alternative would be
attempted.
Verified all three roles on this host, which is a networkd machine: homelab and
dev both correctly refuse and explain, vps skips as not applicable, and the
timing helper reads 14ms out of systemd-analyze.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>