{ inputs, overlays, ... }: let wsl = args: (unstable (args // { extraMods = [ inputs.wsl.nixosModules.wsl ]; })); unstable = args: (machine (args // { channel = inputs.nixunstable; })); machine = { system ? "x86_64-linux", name, channel ? inputs.nixstable, extraMods ? [] }: let nixpkgs = channel; in inputs.nixpkgs.lib.nixosSystem { inherit system; modules = [ { nixpkgs.overlays = overlays; } inputs.agenix.nixosModules.default ../modules-all ../modules-linux ./${name} ] ++ extraMods; specialArgs = { inherit nixpkgs; }; }; in { "2maccabees" = unstable { system = "aarch64-linux"; name = "2maccabees"; }; jude = unstable { name = "jude"; }; icdm-root = unstable { name = "icdm-root"; }; linode = machine { name = "linode"; }; linodeeu = machine { name = "linodeeu"; }; lappy = machine { name = "lappy"; }; mm = unstable { name = "mm"; }; iso = machine { name = "iso"; }; # nix build '.#nixosConfigurations.wsl.config.system.build.installer' nixos = wsl { name = "wsl"; system = "aarch64-linux"; }; # nix build '.#nixosConfigurations.wsl-aarch.config.system.build.installer' nixos-arm = wsl { name = "wsl"; system = "aarch64-linux"; }; }