depot/ci-root.nix

25 lines
1.1 KiB
Nix

# SPDX-FileCopyrightText: 2020 Luke Granger-Brown <depot@lukegb.com>
#
# SPDX-License-Identifier: Apache-2.0
let
depot = (import ./default.nix {});
pkgs = depot.third_party.nixpkgs;
lib = pkgs.lib;
prefixAttrs = prefix: lib.mapAttrsToList (name: value: { name = "${prefix}-${name}"; path = value; });
ciMachines = prefixAttrs "machine" depot.ops.nixos.systems;
ciPackages = prefixAttrs "pkg" (builtins.removeAttrs depot.nix.pkgs [ "grafana-plugins" "windows" ]);
ciGrafanaPlugins = prefixAttrs "pkg-grafana-plugins" depot.nix.pkgs.grafana-plugins;
ciWindows = prefixAttrs "pkg-windows" depot.nix.pkgs.windows;
ciDocker = prefixAttrs "docker" ((import ./docker-images.nix).images);
ciWeb = prefixAttrs "web" depot.web;
ciOther = prefixAttrs "other" {
twitterchiver-archiver = depot.go.twitterchiver.archiver;
twitterchiver-archiver-docker = depot.go.twitterchiver.archiver.dockerImage;
twitternuke = depot.go.twitternuke;
systemPathJSON = depot.ops.nixos.systemPathJSON;
installcd = depot.ops.nixos.installcd;
};
in
pkgs.linkFarm "ci" (ciMachines ++ ciPackages ++ ciWindows ++ ciGrafanaPlugins ++ ciDocker ++ ciWeb ++ ciOther)