{ self, system, pkgsStable, myPkgs, nixpkgs_as_input, nixpkgs_open_prs, # my things shell_library, sysLib, templates, # modules home-manager, nixVim, nixos-generators, impermanence, agenix, ragenix, serverphone, disko, lanzaboote, nix-index-database, # bins river_init_lesser, # external user_js, }: let modules = [ "${nixpkgs_open_prs.nixpkgs-tfc}/nixos/modules/config/xdg/portals/termfilechooser.nix" agenix.nixosModules.default disko.nixosModules.default home-manager.nixosModules.home-manager impermanence.nixosModules.impermanence lanzaboote.nixosModules.lanzaboote serverphone.nixosModules.default ../../modules ./common.nix ]; specialArgs = { inherit # extra package sources nixpkgs_open_prs pkgsStable myPkgs shell_library sysLib # extra information system # modules impermanence nix-index-database nixVim # nix registry nixpkgs_as_input self templates # bins # TODO: Integrate these into `pkgs/by-name` <2024-05-22> river_init_lesser serverphone # external deps user_js ; }; generateHost = name: { name = "${name}"; value = nixpkgs_as_input.lib.nixosSystem { inherit specialArgs; modules = [ ../../hosts/${name} ] ++ modules; }; }; # FIXME: These need to stay in this position for the install script hosts = ["tiamat" "apzu"]; inactiveHosts = ["mammun" "lahmu"]; generatedHosts = builtins.listToAttrs (builtins.map generateHost hosts); in generatedHosts