omnibin makes nixpkgs feel already installed

omnibin reframes package management as a lazy, indexed namespace: expose every historical nixpkgs binary on PATH, fetch only what is touched, and give agents a queryable universe of tools without pre-installing them.

Logged at IST: 2026-09-25 18:20 IST

What it is: Farid Zakaria introduces omnibin, a FUSE filesystem that makes every binary ever shipped by nixpkgs appear available on PATH without installing all of it first.

Gist: omnibin combines nixpkgs-multiverse with the .ls metadata that Hydra publishes next to Nix cache narinfos. That index lets the filesystem answer questions such as "where is [email protected]?" from metadata, then lazily fetch and unpack the needed NAR only when something actually opens the file.

The result is deliberately absurd and useful: tens of thousands of top-level binaries, and hundreds of thousands of versioned binary names, are visible without occupying disk until first use. The Docker image makes the same idea available as an agent harness: start from a container where old Python, jq, GCC, and other tools can be invoked by name or version without curating a base image first.

The caution is also part of the design. Agents should not blindly ls and stat the whole tree; omnibin exposes an index database and CLI queries so tooling can ask for the relevant binary/version instead of crawling nearly 900k entries.

Newsletter angle: Package management as lazy namespace design: make the universe visible, fetch only what is touched, and teach agents to query the index instead of exploring the filesystem.