Following your example, I came up with the following:
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs";
};
outputs =
inputs:
let
system = "x86_64-linux";
pkgsOld = (inputs.nixpkgs.legacyPackages.${system});
overlay = final: prev: {
fetchurl =
args:
(prev.fetchurl.override {
inherit (pkgsOld) cacert;
})
(
args
// {
netrcPhase = ''
cat > netrc <<EOF
machine foobar
login FOO
password BAR
EOF
'';
}
);
};
pkgs = (inputs.nixpkgs.legacyPackages.${system}.extend overlay);
in
{
packages.${system}.default = pkgs.fetchurl {
url = "https://github.com/developit/unfetch/archive/refs/tags/isomorphic-4.0.2.tar.gz";
hash = "sha256-Qwp5O4055CoHFx+ifJE0gcVlfeHyrg0H4Isp6XC0pkk=";
};
};
}
which avoids the infrec error. TYSM!