{ lib, inputs, self, root, }: let util = import ./util.nix { inherit lib; }; registry = import ./registry.nix { inherit lib; hosts = self.nixosConfigurations; root = root + "/registry"; }; modules = import ./modules.nix { inherit util; root = root + "/modules"; }; specialArgs = { inherit inputs self util ; registry = registry.collected; }; guestModules = import ./guests.nix { inherit inputs lib registry specialArgs util ; repositoryModules = modules; root = root + "/guests"; }; in { nixosConfigurations = import ./hosts.nix { inherit inputs lib specialArgs guestModules ; registryModule = registry.module; repositoryModules = modules; root = root + "/hosts"; }; }