zen
What it does
Section titled “What it does”zen is a thin kernel resting on three hard dependencies, each owning one job:
| What | How |
|---|---|
| N → 1 (merge module contributions) | bend lenses |
| Types (validation + MLTT proofs) | bend + nix-effects |
| Fixpoint (modules read the merged config) | ned cycles |
Using nix-effects rotation and scoped handlers for submodules, and Ned streams for the config fixed point, the ~100 line kernel unlocks capabilities no other Nix module system has.
Key features
Section titled “Key features”- Actor-like inter-module communication, modules negotiate rather than blindly merge
- Negotiated merge & stateful reconciliation, merge strategies are first-class
- MLTT-verified configs, type-checked module evaluation
- Fast, ~26× faster than
lib.evalModuleson a 10,000-module benchmark - nixpkgs compatibility layer, output parity with
lib.evalModules(not a drop-in replacement)
Role in the ecosystem
Section titled “Role in the ecosystem”zen is the module-system capstone of the streams stack, it composes bend (merge + types), ned (fixpoint), and nix-effects (handlers) into a single, verifiable evaluation engine.
Source Code Support this project