{ description = "luochen570's NixOS configuration"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; home-manager = { url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; # Nix4NvChad nix4nvchad = { url = "github:nix-community/nix4nvchad"; inputs.nixpkgs.follows = "nixpkgs"; }; # NixOS WSL nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; # VS Code Server vscode-server.url = "github:nix-community/nixos-vscode-server"; # SOPS for Nix sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{ nixpkgs, home-manager, ... }: let username = "luochen570"; hosts = import ./lib/hosts.nix; mkHost = import ./lib/mkHost.nix { inherit nixpkgs home-manager inputs; }; mkConfiguredHost = hostname: cfg: mkHost ({ inherit hostname username; } // cfg); in { nixosConfigurations = nixpkgs.lib.mapAttrs mkConfiguredHost hosts; }; }