{ lib, inputs, self, root, }: let specialArgs = { inherit inputs self util ; registry = registry.collected; }; util = import ./util.nix { inherit lib; }; registry = import ./registry.nix { inherit lib util; hosts = self.nixosConfigurations; root = root + "/registry"; }; # TODO: Refactor guest-module composition. guestModules = import ./guests.nix { inherit inputs registry specialArgs util ; repositoryModules = modules; root = root + "/guests"; }; modules.imports = [ { nixpkgs.overlays = [ self.overlays.custom ]; } ] ++ util.collectNixFiles (root + "/modules"); in import ./hosts.nix { inherit inputs lib specialArgs guestModules ; registryModule = registry.module; repositoryModules = modules; root = root + "/hosts"; }