{ nixpkgs , nixpkgs-unstable , home-manager , nix-flatpak , ... }: let system = "x86_64-linux"; pkgsUnstable = import nixpkgs-unstable { inherit system; config.allowUnfree = true; }; moduleNames = [ "ai" "core" "desktop" "development" "features" "gaming" "hardware" "multimedia" "networking" "security" "system" "work" ]; mkHost = name: nixpkgs.lib.nixosSystem { inherit system; specialArgs = { inherit pkgsUnstable; nixFlatpak = nix-flatpak; }; modules = [ nix-flatpak.nixosModules.nix-flatpak home-manager.nixosModules.home-manager ./hosts/${name} ] ++ (map (mod: ./modules/${mod}) moduleNames); }; in { nixosConfigurations = { gandalf = mkHost "gandalf"; frodo = mkHost "frodo"; legolas = mkHost "legolas"; balrog = mkHost "balrog"; work = mkHost "work"; }; }