## Round Robin ## ## Given a list of services, run each in turn until it exits, then ## runs the next. { lib, pkgs, config, ...}: let inherit (lib) mkOption types; inherit (pkgs) liminix; inherit (pkgs.liminix.services) longrun; in { options = { system.service.round-robin = mkOption { description = "run services one at a time and failover to next"; type = liminix.lib.types.serviceDefn; }; }; config.system.service.round-robin = config.system.callService ./service.nix { services = mkOption { type = types.listOf liminix.lib.types.service; }; name = mkOption { type = types.str; }; }; }