34 lines
No EOL
1.1 KiB
Nix
34 lines
No EOL
1.1 KiB
Nix
{
|
|
perSystem = { filters, inputs', lib, pkgs, ... }:
|
|
|
|
let
|
|
tools = import ./lib/tools.nix;
|
|
packages = builtins.mapAttrs (_: v: v.packages) inputs';
|
|
in with tools;
|
|
|
|
{
|
|
packages = filters.doFilter filters.packages rec {
|
|
inherit (packages.deploy-rs) deploy-rs;
|
|
|
|
nix-super = packages.nix-super.nix;
|
|
|
|
agenix = packages.agenix.agenix.override { nix = nix-super; };
|
|
|
|
# hci-agent's build code does some funny shenanigans
|
|
hercules-ci-agent = let
|
|
original = packages.hercules-ci-agent.hercules-ci-agent;
|
|
patchedNix = patch-rename-direct original.nix ({ version, ...}: "nix-${version}_hci1") "patches/extra/hercules-ci-agent/nix";
|
|
in (original.override {
|
|
# for hercules-ci-cnix-expr, hercules-ci-cnix-store
|
|
nix = patchedNix;
|
|
# for cachix
|
|
pkgs = pkgs // { nix = patchedNix; };
|
|
}).overrideAttrs (old: {
|
|
# for hercules-ci-agent
|
|
buildInputs = (lib.remove original.nix old.buildInputs) ++ [ patchedNix ];
|
|
});
|
|
|
|
hci = packages.hercules-ci-agent.hercules-ci-cli;
|
|
};
|
|
};
|
|
} |