{ inputs, lib, }: with lib; let mkConfiguration = name: { modules ? [], configuration ? ./${name}, this ? my.configurations.${name}, }: nameValuePair name (nixosSystem { inherit (this) system; modules = attrValues inputs.self.nixosModules ++ modules ++ optional (configuration != null) (import configuration); specialArgs = {inherit inputs lib this;}; }); in mapAttrs' mkConfiguration { test-headless = { modules = with inputs; [ "${nixpkgs}/nixos/modules/profiles/qemu-guest.nix" nixpkgs.nixosModules.notDetected ]; this = { hostname = "test-headless"; system = "x86_64-linux"; isHeadless = true; isHeadful = false; }; }; test-headful = { modules = with inputs; [ "${nixpkgs}/nixos/modules/profiles/qemu-guest.nix" nixpkgs.nixosModules.notDetected ]; this = { hostname = "test-headful"; system = "x86_64-linux"; isHeadless = false; isHeadful = true; }; }; melian.modules = with inputs; [ nixos-hardware.nixosModules.common-pc-laptop-ssd nixos-hardware.nixosModules.lenovo-thinkpad-t480 nixpkgs.nixosModules.notDetected ]; manwe.modules = with inputs; [ "${nixpkgs}/nixos/modules/profiles/qemu-guest.nix" nixos-hardware.nixosModules.common-cpu-amd nixos-hardware.nixosModules.common-pc-ssd nixpkgs.nixosModules.notDetected ]; varda.modules = with inputs; [ "${nixpkgs}/nixos/modules/profiles/qemu-guest.nix" nixos-hardware.nixosModules.common-cpu-amd nixos-hardware.nixosModules.common-pc-ssd nixpkgs.nixosModules.notDetected ]; yavanna.modules = with inputs; [ "${nixpkgs}/nixos/modules/profiles/qemu-guest.nix" nixos-hardware.nixosModules.common-cpu-intel nixos-hardware.nixosModules.common-pc-hdd nixpkgs.nixosModules.notDetected ]; }