{ inputs, config, ... }: let hostNames = builtins.attrNames ( inputs.nixpkgs.lib.filterAttrs (_: type: type == "directory") (builtins.readDir ./hosts) ); nixosModules = config.flake.modules.nixos; in { imports = [ inputs.flake-parts.flakeModules.modules ./data.nix ]; systems = [ "x86_64-linux" ]; flake.nixosConfigurations = inputs.nixpkgs.lib.genAttrs hostNames ( name: inputs.nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ nixosModules.${name} ]; } ); perSystem = { pkgs, ... }: { formatter = pkgs.nixfmt-tree; }; }