31 lines
825 B
Nix
31 lines
825 B
Nix
|
# 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);
|
||
|
};
|
||
|
};
|
||
|
}
|