# buid all system locally is part of `nix flake check` with this flake parrt. # todo make this an application : `nix run .#buildAllNixosConfigurations` { inputs, self, ... }: { perSystem = { pkgs, system, lib, ... }: with lib; { checks = let all = attrNames self.nixosConfigurations; linkFor = sys: "ln -s ${self.nixosConfigurations.${sys}.config.system.build.toplevel} $out/${sys}"; links = filt: builtins.concatStringsSep "\n" (map linkFor (filter (name: filt name) all)); toplevels = filt: pkgs.runCommandLocal "toplevels" { } '' mkdir $out ${links filt} ''; in { buildAllNixosConfigurations = toplevels (_: true); }; }; }