{ inputs }: { system , username , email , hostname , extraHomeManagerModules ? [ ] }: let systemConfig = import ../module/configuration.nix { inherit hostname username; }; homeManagerConfig = import ../module/home-manager.nix { inherit email; }; in inputs.darwin.lib.darwinSystem { inherit system; modules = [ { users.users.${username}.home = "/Users/${username}"; } { nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (inputs.nixpkgs.lib.getName pkg) [ "copilot-language-server" ]; } systemConfig inputs.home-manager.darwinModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.users."${username}" = inputs.nixpkgs.lib.modules.mkMerge ( [ homeManagerConfig ] ++ extraHomeManagerModules ); home-manager.backupFileExtension = "backup"; } ]; }