move ci to flakes

This commit is contained in:
Jörg Thalheim 2022-04-10 22:29:46 +02:00
parent 4f6b7a6d04
commit 92c546dd63
No known key found for this signature in database

32
ci.nix
View file

@ -3,33 +3,17 @@
, src ? { ref = null; }
}:
let
pkgs = import ./nix { inherit system; };
self = builtins.getFlake (toString ./.);
nixpkgs = self.inputs.nixpkgs;
effects = self.inputs.hercules-ci-effects.lib.withPkgs nixpkgs.legacyPackages.x86_64-linux;
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 = machine: effects.runIf (src.ref == "refs/heads/master") (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;
}
(nixpkgs.lib.mapAttrs'
(name: config: nixpkgs.lib.nameValuePair "nixos-${name}" config.config.system.build.toplevel) self.outputs.nixosConfigurations)
// (nixpkgs.lib.mapAttrs'
(name: config: nixpkgs.lib.nameValuePair "deploy-${name}" (deploy config)) self.outputs.nixosConfigurations)