{home-manager, ...}: { mkHost = { name, modules, system ? "x86_64-linux", specialArgs ? {}, version ? "22.11", pkgs, }: { ${name} = with pkgs.lib; nixosSystem { inherit system specialArgs; modules = [ ../hosts/common ../hosts/${name} ({pkgs, ...}: { system.stateVersion = version; networking.hostName = mkDefault name; # enable non-free packages nixpkgs.config.allowUnfree = true; # Enable nix flakes nix = { package = pkgs.nixFlakes; settings.experimental-features = ["nix-command" "flakes"]; }; }) home-manager.nixosModules.home-manager { home-manager = { useGlobalPkgs = true; useUserPackages = true; extraSpecialArgs = specialArgs; }; } ] ++ modules; }; }; }