ExecStart = register-script;
};
};
+ systemd.services.syncthing-reregister = {
+ after = [ "syncthing-autoregister.service" ];
+ script = ''
+ ${pkgs.coreutils}/bin/sleep 1
+ ${pkgs.systemd}/bin/systemctl restart syncthing-autoregister
+ '';
+ serviceConfig = {
+ Type = "oneshot";
+ };
+ };
+ systemd.paths.syncthing-reregister = {
+ pathConfig.PathChanged = cfg.path;
+ wantedBy = [ "multi-user.target" ];
+ };
};
}
def verifyDeviceIDSet(machine, expectedDevice):
- machine.succeed(
+ machine.wait_until_succeeds(
'(( "$(nix eval --raw -f "<nixos/nixos>" config.services.syncthing.declarative.devices.%s.id | wc -c)" == 63 ))'
% expectedDevice
)
"${configurationWithDeviceIDs}"
)
+ start_all()
a.wait_for_unit("syncthing-autoregister.service")
setConfig(a, configurationWithDeviceIDs)
verifyDeviceIDSet(a, "a")
getDeviceFile(a)
+ b.wait_for_unit("syncthing-autoregister.service")
putDeviceFile(b)
setConfig(b, configurationWithDeviceIDs)
verifyDeviceIDSet(b, "a")
- b.wait_for_unit("syncthing-autoregister.service")
- verifyDeviceIDSet(b, "a")
verifyDeviceIDSet(b, "b")
'';
})