Nix, Bazel, buck2 share intensional model

fzakaria.com5 min read

The author argues that Nix, Bazel, and buck2 share a deeper similarity under the hood than their surface differences suggest, centered on the use of the intensional or content-addressed model. By addressing outputs and inputs by their content rather than their recipes, these build systems avoid unnecessary rebuilds when upstream changes do not affect actual output bytes. The comparison reveals that a resolved Nix derivation functions similarly to a Bazel or buck2 action cache. Open article →