# 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" ]);
  ciGrafanaPlugins = prefixAttrs "pkg-grafana-plugins" depot.nix.pkgs.grafana-plugins;
  ciDocker = prefixAttrs "docker" ((import ./docker-images.nix).images);

  ciOther = prefixAttrs "other" {
    twitterchiver-archiver = depot.go.twitterchiver.archiver;
    twitterchiver-archiver-docker = depot.go.twitterchiver.archiver.dockerImage;
  };
in
pkgs.linkFarm "ci" (ciMachines ++ ciPackages ++ ciGrafanaPlugins ++ ciDocker ++ ciOther)