Navigation

ContentAddress

contentAddress drv returns drv with floating content-addressing: its output store path is the realised NAR content hash, not the input hash.

nix
final = contentAddress wrappedPackage;

Wins over input-addressed caching: early cutoff (unchanged output stops a rebuild cascade) and cross-machine sharing (a realisation built on one machine substitutes on another, given nix >= 2.35 + harmonia >= 3.1.0).

Only wrap byte-reproducible derivations (nix build --rebuild). A non-reproducible CA drv flaps its output hash and mismatches across machines. Per-derivation opt-in; never contentAddressedByDefault.