{ nixpkgs, home-manager, inputs }: { hostname, hostName ? hostname, systemStateVersion ? "25.05", system, profile, username, extraModules ? [ ], extraSpecialArgs ? { }, }: nixpkgs.lib.nixosSystem { inherit system; specialArgs = { inherit inputs system username; } // extraSpecialArgs; modules = [ inputs.sops-nix.nixosModules.sops ../hosts/${hostname} ../profiles/${profile}.nix { networking.hostName = hostName; system.stateVersion = systemStateVersion; } home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { inherit inputs system; }; home-manager.users.${username} = { home.stateVersion = "25.05"; imports = [ ../home ]; }; } ] ++ extraModules; }