Fast package search
Bloom filters reject misses quickly and SQLite FTS5 handles the useful work.
Find any version of any Nix package. Instantly.
Search nearly a decade of nixpkgs history, find the exact package version and commit, then use it from the CLI, browser, API, or NixOS module.
Sometimes production needs Python 2.7, Ruby 2.6, or another fossil nobody is proud of. nxv finds the nixpkgs commit where that exact fossil still existed.
nxv turns historical nixpkgs lookup from archaeology into a normal command.
A useful product surface, not another README wearing a blazer.
Bloom filters reject misses quickly and SQLite FTS5 handles the useful work.
See when a version appeared, changed, and disappeared from channels.
Get a verified nixpkgs revision you can feed directly to Nix.
Search Python, Haskell, and other nested ecosystems without special pleading.
Query locally from the terminal or use the hosted web interface.
Run nxv as an HTTP service with managed index updates.
Run it the way that annoys you least.
NXV_API_URL=https://nxv.urandom.io nix run github:utensils/nxv -- search python 2.7
curl -sSfL https://raw.githubusercontent.com/utensils/nxv/main/install.sh | sh
cargo install nxv
Simple enough to explain without a thirty-slide architecture deck.
Hydra-built releases provide verifiable package inventories back to 2016.
Historical package sets become a compact SQLite index plus Bloom filters.
Local or remote search resolves names, versions, and exact commits quickly.
Use the returned revision in a shell, flake, profile, or system configuration.
Ask for the version, get the commit, and return to the legacy problem you were avoiding.
Latest release: v0.7.0