Nix's substituter list is a static ordered loop with no dynamic routing, causing serialized narinfo lookups across multiple binary caches even when most will return 404. ncro (Nix Cache Route Optimizer) is a small Rust HTTP proxy that addresses this by racing all configured upstreams in parallel, caching route decisions in a two-layer moka+SQLite store, tracking upstream health with EMA-based latency, deduplicating inflight requests, and verifying ed25519 signatures. It deliberately avoids NAR caching or mirroring to stay focused on routing optimization rather than becoming a full cache mirror.
Table of contents
The Shape of the Problemncro, BrieflyWhat’s Actually In ItWhat I Did Not BuildWas It Worth Writing?FootnotesSort: