# SPDX-FileCopyrightText: 2020 Luke Granger-Brown # # 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)