## Watchdog ## ## Enable hardware watchdog (for devices that support one) and ## feed it by checking the health of specified critical services. ## If the watchdog feeder stops, the device will reboot. { lib, pkgs, config, ...}: let inherit (lib) mkOption types; inherit (pkgs) liminix; in { options = { system.service.watchdog = mkOption { type = liminix.lib.types.serviceDefn; }; }; config.system.service.watchdog = liminix.callService ./watchdog.nix { watched = mkOption { description = "services to watch"; type = types.listOf liminix.lib.types.service; }; headStart = mkOption { description = "delay in seconds before watchdog starts checking service health"; default = 60; type = types.int; }; }; config.kernel.config.WATCHDOG = "y"; }