nixos-config/nix/buildAllNixosConfigurations.nix

31 lines
825 B
Nix
Raw Permalink Normal View History

# 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);
};
};
}