{ self, darwin, ... } @ args: { name, nixpkgs, system ? "aarch64-darwin", overlays ? null, extraModules ? null }: darwin.lib.darwinSystem ( let configFolder = "${self}/darwin"; entryPoint = "${configFolder}/${name}/configuration.nix"; in { system = system; inputs = { inherit darwin nixpkgs; }; modules = [ { _module.args = args; networking.hostName = name; } entryPoint ../modules/nix.nix ] ++ nixpkgs.lib.optional (overlays != null) { nixpkgs.overlays = overlays; } ++ nixpkgs.lib.optionals (extraModules != null) extraModules; } )