{inputs, self, ...}: let inherit (inputs.nixpkgs) lib; isDirectory = _name: type: type == "directory"; hostNames = builtins.attrNames ( lib.filterAttrs isDirectory (builtins.readDir ./.) ); hosts = lib.genAttrs hostNames (name: { imports = [ (./. + "/${name}") ]; }); in { nixosConfigurations = lib.mapAttrs (host: hostConfig: lib.nixosSystem { system = "x86_64-linux"; modules = hostConfig; specialArgs = { inherit inputs; }; }) hosts; }