infra/ci.nix
2022-01-15 13:21:35 +01:00

35 lines
1.1 KiB
Nix

# Add derivations to be built from the cache to this file
{ system ? builtins.currentSystem
, src ? { ref = null; }
}:
let
pkgs = import ./nix { inherit system; };
importNixOS = configuration: system:
(import "${toString pkgs.path}/nixos") {
inherit configuration system;
};
deploy = machine: pkgs.effects.runIf (src.ref == "refs/heads/master") (pkgs.effects.runCachixDeploy {
deploy.agents = {
${machine.config.networking.hostName} = machine.config.system.build.toplevel;
};
});
in
pkgs.nix-community-infra // rec {
build01 = importNixOS ./build01/configuration.nix "x86_64-linux";
build01-system = build01.system;
build01-deploy = deploy build01;
build02 = importNixOS ./build02/configuration.nix "x86_64-linux";
build02-system = build02.system;
build02-deploy = deploy build02;
build03 = importNixOS ./build03/configuration.nix "x86_64-linux";
build03-system = build03.system;
build03-deploy = deploy build03;
build04 = importNixOS ./build04/configuration.nix "aarch64-linux";
build04-system = build04.system;
build04-deploy = deploy build04;
}