Any Nix package, live in your browser
Farid Zakaria introduced trynix.dev, a browser-based Nix package runner that boots a Linux machine in a browser tab, providing a shell with selected Nix packages on PATH. The service leverages prior work: nixpkgs-multiverse indexed every version of every package nixpkgs ever shipped, grail added version ranges, and omniflake allowed adding over sixteen thousand flakes from a single input. The key insight came from the "fast-mode" of nixmultiverse.com, which skips evaluation and goes straight to the store path, allowing users to request a package and get the exact store path Hydra built for it at any version. trynix.dev lets users browse the complete history of nixpkgs—over 310,083 package versions—and run any of them in a Linux machine that boots in the tab. It is a serial console, so nothing graphical; the machine boots to a shell, and users can run any command-line program in the store. The VM boots with the store-path closure within seconds, and nothing is pre-installed. Notably, trynix is not restricted to the public cache; users can share a store path they built themselves, and anyone can boot it in their browser tab, provided the cache is served with access-control-allow-origin: *, which GitHub Pages, Cachix, and cache.nixos.org support. Zakaria noted he had requested cache.nixos.org to serve that header five years ago via issue #156, which made this possible. A link in the post boots a VM with a store path served from GitHub Pages of a modified GNU hello—a store path that does not exist on cache.nixos.org—demonstrating the capability.
Developers can now run any historical Nix package in a browser without local installation, simplifying testing and sharing.