environment.systemPackages = with pkgs; [ nix ];
}
'';
+ initialConfiguration = pkgs.writeText "initial-configuration.nix" ''
+ {
+ imports = [ "${configuration}" ];
+ system.activationScripts.installInitialConfiguration = {
+ text = '''
+ mkdir -p /etc/nixos
+ cp "${configuration}" /etc/nixos/configuration.nix
+ ''';
+ deps = [ ];
+ };
+ }
+ '';
configurationWithDeviceIDs =
pkgs.writeText "configuration-with-device-ids.nix" ''
{
name = "syncthing";
nodes = {
- a = "${configuration}";
- b = "${configuration}";
+ a = "${initialConfiguration}";
+ b = "${initialConfiguration}";
};
testScript = ''
machine.copy_from_host(config, "/etc/nixos/configuration.nix")
- initialConfiguration = "${configuration}"
+ def verifyDeviceIDSet(machine, expectedDevice):
+ machine.succeed(
+ '(( "$(nix eval --raw -f "<nixos/nixos>" config.services.syncthing.declarative.devices.%s.id | wc -c)" == 63 ))'
+ % expectedDevice
+ )
+
+
configurationWithDeviceIDs = (
"${configurationWithDeviceIDs}"
)
- setConfig(a, initialConfiguration)
a.wait_for_unit("syncthing-autoregister.service")
setConfig(a, configurationWithDeviceIDs)
- a.succeed(
- '(( "$(nix eval --raw -f "<nixos/nixos>" config.services.syncthing.declarative.devices.a.id | wc -c)" == 63 ))'
- )
+ verifyDeviceIDSet(a, "a")
'';
})