Here’s a minimal shell.nix
that I’m trying to have working:
with import <nixpkgs> { };
let
my-agda = (agda.overrideAttrs {
applyPatches = [ (fetchpatch { ... }) ];
}).withPackages (p: [ p.standard-library ]);
in
mkShell {
buildInputs = [ my-agda ];
}
this does give me agda, but not the patched one. I know because the patched behavior is not present, and there’s no build from source.
What am I missing? I’ve scoured the internet trying to make sense of it and tried so many variations of this (e.g. nixpkgs { overlays = ... }
, nixpkgs { config.packageOverrides = ... }
, different variants of withPackages
, overrideAttrs
calls, different stages on which I do each of those embellishments to the original agda packages, adding modified pname
and/or version
fields because I heard somewhere that they force a build from soure, etc…).
What really got my blood pressure up was that it managed to work and build once, but in haste I lost what mixture of configuration options was the successful one.
Please save my heart and possibly brain.