{ 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 { # A dummy configuration to test the "headless" profile. 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; }; }; # A dummy configuration to test the "headful" profile. 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; }; }; # A beefy desktop PC: 7950x/rx6750xt/128GB. eonwe.modules = with inputs; [ nixos-hardware.nixosModules.common-cpu-amd nixos-hardware.nixosModules.common-gpu-amd nixos-hardware.nixosModules.common-pc-ssd nixpkgs.nixosModules.notDetected ]; # ThinkPad T480. melian.modules = with inputs; [ nixos-hardware.nixosModules.common-pc-laptop-ssd nixos-hardware.nixosModules.lenovo-thinkpad-t480 nixpkgs.nixosModules.notDetected ]; # VPS: Germany 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 ]; # VPS: Germany 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 ]; # VPS: France 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 ]; }