depot/packages/patched-inputs.nix

34 lines
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}_hci2") "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;
};
};
}