{ ifwait, liminix }:
{
  state,
  interface,
  service,
}:
let
  inherit (liminix.services) longrun;
in
longrun {
  name = "ifwait.${interface.name}";
  buildInputs = [ service ];
  restart-on-upgrade = true;
  run = ''
    ${ifwait}/bin/ifwait -s ${service.name}  $(output ${interface} ifname) ${state}
  '';
}