{ # https://github.com/numtide/srvos/blob/main/nixos/server/default.nix systemd = { # given that our systems are headless, emergency mode is useless. # we prefer the system to attempt to continue booting so # that we can hopefully still access it remotely. enableEmergencyMode = false; # For more detail, see: # https://0pointer.de/blog/projects/watchdog.html watchdog = { # systemd will send a signal to the hardware watchdog at half # the interval defined here, so every 10s. # If the hardware watchdog does not get a signal for 20s, # it will forcefully reboot the system. runtimeTime = "20s"; # Forcefully reboot if the final stage of the reboot # hangs without progress for more than 30s. # For more info, see: # https://utcc.utoronto.ca/~cks/space/blog/linux/SystemdShutdownWatchdog rebootTime = "30s"; }; sleep.extraConfig = '' AllowSuspend=no AllowHibernation=no ''; }; }