cluster/flake.nix
Magic_RB 3d36dea356
Update NixNG
Signed-off-by: Magic_RB <magic_rb@redalder.org>
2021-08-15 22:25:38 +02:00

51 lines
1.7 KiB
Nix

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs?ref=nixos-21.05";
nixng = {
url = "github:MagicRB/NixNG";
inputs.nixpkgs.follows = "nixpkgs";
};
website = {
url = "git+https://gitea.redalder.org/Magic_RB/website";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, nixng, ... }@inputs:
with nixpkgs.lib;
let
containers = {
hydra = (import ./containers/hydra.nix nixng.lib).hydra;
hydraPostgresql = (import ./containers/hydra.nix nixng.lib).postgresql;
ingress = (import ./containers/ingress.nix nixng.lib);
website = (import ./containers/website.nix inputs.website.website nixng.lib);
};
in
{
ociImages = mapAttrs (n: v: v.config.system.build.ociImage) containers;
hydraJobs =
let
pkgs = import nixpkgs { system = "x86_64-linux"; };
makeJob = container:
pkgs.runCommandNoCCLocal "${container.stream.imageName}-hydra-job"
{}
''
mkdir -p $out/nix-support
ln -s ${container.build} $out/image.tar.gz
ln -s ${container.stream} $out/stream
echo "file docker-image $out/image.tar.gz" >> $out/nix-support/hydra-build-products
echo "file image-stream $out/stream" >> $out/nix-support/hydra-build-products
'';
in
{
website = makeJob self.ociImages.website;
hydra = makeJob self.ociImages.hydra;
hydraPostgresql = makeJob self.ociImages.hydraPostgresql;
ingress = makeJob self.ociImages.ingress;
};
};
}