cae89e8e06
buildbot/nix-build gitea:clan/clan-infra#checks.aarch64-darwin.nix-darwin-build04 Build done.
buildbot/nix-eval Build done. (2 warnings)
buildbot/nix-build gitea:clan/clan-infra#checks.x86_64-linux.nixos-build-x86-01 Build done.
buildbot/nix-build gitea:clan/clan-infra#checks.x86_64-linux.nixos-jitsi01 Build done.
buildbot/nix-build gitea:clan/clan-infra#checks.x86_64-linux.nixos-storinator01 Build done.
buildbot/nix-build gitea:clan/clan-infra#checks.x86_64-linux.nixos-web02 Build done.
buildbot/nix-build gitea:clan/clan-infra#checks.aarch64-linux.nixos-build01 Build done.
buildbot/nix-build gitea:clan/clan-infra#checks.x86_64-linux.vars Build done.
buildbot/nix-build gitea:clan/clan-infra#checks.x86_64-linux.nixos-web01 Build done.
buildbot/nix-build gitea:clan/clan-infra#checks.aarch64-darwin.nix-darwin-build02 Build done.
buildbot/nix-build gitea:clan/clan-infra#checks.aarch64-linux.vars Build done.
buildbot/nix-build Build done.
72 lines
2.2 KiB
Nix
72 lines
2.2 KiB
Nix
{ self, config, ... }:
|
|
{
|
|
imports = [
|
|
./secrets.nix
|
|
./vars.nix
|
|
];
|
|
|
|
perSystem =
|
|
{
|
|
system,
|
|
self',
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}:
|
|
{
|
|
checks =
|
|
let
|
|
machinesPerSystem = {
|
|
x86_64-linux = [
|
|
"build-x86-01"
|
|
"jitsi01"
|
|
"storinator01"
|
|
"web01"
|
|
"web02"
|
|
];
|
|
aarch64-linux = [
|
|
"build01"
|
|
];
|
|
aarch64-darwin = [
|
|
"build02"
|
|
"build04"
|
|
];
|
|
};
|
|
listedMachines = lib.sort lib.lessThan (lib.concatLists (lib.attrValues machinesPerSystem));
|
|
actualMachines = lib.sort lib.lessThan (lib.attrNames config.clan.inventory.machines);
|
|
machinesPerSystemCheck = pkgs.runCommand "machines-per-system-check" { } ''
|
|
${lib.optionalString (listedMachines != actualMachines) ''
|
|
echo "machinesPerSystem out of sync with clan.inventory.machines:"
|
|
echo " listed: ${lib.concatStringsSep " " listedMachines}"
|
|
echo " actual: ${lib.concatStringsSep " " actualMachines}"
|
|
exit 1
|
|
''}
|
|
touch $out
|
|
'';
|
|
nixosMachines = lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux (
|
|
lib.mapAttrs' (n: lib.nameValuePair "nixos-${n}") (
|
|
lib.genAttrs (machinesPerSystem.${system} or [ ]) (
|
|
name: self.nixosConfigurations.${name}.config.system.build.toplevel
|
|
)
|
|
)
|
|
);
|
|
darwinMachines = lib.optionalAttrs pkgs.stdenv.hostPlatform.isDarwin (
|
|
lib.mapAttrs' (n: lib.nameValuePair "nix-darwin-${n}") (
|
|
lib.genAttrs (machinesPerSystem.${system} or [ ]) (
|
|
name: self.darwinConfigurations.${name}.config.system.build.toplevel
|
|
)
|
|
)
|
|
);
|
|
packages = lib.mapAttrs' (n: lib.nameValuePair "package-${n}") self'.packages;
|
|
devShells = lib.mapAttrs' (n: lib.nameValuePair "devShell-${n}") self'.devShells;
|
|
in
|
|
{
|
|
inherit machinesPerSystemCheck;
|
|
}
|
|
// nixosMachines
|
|
// darwinMachines
|
|
// packages
|
|
// devShells;
|
|
};
|
|
}
|