1{2 fleetConfiguration = { data, nixpkgs, hosts, ... }@allConfig:3 let4 config = builtins.removeAttrs allConfig [ "nixpkgs" "data" ];5 in6 rec {7 root = nixpkgs.lib.evalModules {8 modules = (import ../modules/fleet/_modules.nix) ++ [ config data ];9 specialArgs = {10 inherit nixpkgs;11 fleet = import ./fleetLib.nix {12 inherit nixpkgs hosts;13 };14 };15 };16 configuredHosts = root.config.hosts;17 configuredSecrets = root.config.secrets;18 configuredSystems = nixpkgs.lib.listToAttrs (19 map20 (21 name: {22 inherit name; value = nixpkgs.lib.nixosSystem {23 system = configuredHosts.${name}.system;24 modules = configuredHosts.${name}.modules;25 };26 }27 )28 (builtins.attrNames root.config.hosts)29 ); 30 };31}