ELSEIF
Your brief EB
455 stories from 197 feeds 1243 clusters Refreshed 28 minutes ago next pull 06:58

DEV TOOLS Signal 323 2 feeds carried it

Nix binary caches reduced to three HTTP functions enabling any static file host as a store

Illustration only Photo by Lucas Kepner on Unsplash

A Nix store can be implemented by any service answering three HTTP requests, allowing GitHub Pages, Releases, or even pastebins to act as binary caches without Nix-specific infrastructure

WHY IT MATTERS

This lowers the barrier for hosting Nix binaries, enabling decentralized or ephemeral caches without requiring dedicated Nix infrastructure. Engineers can now repurpose existing static file hosts for Nix stores, reducing dependency on cache.nixos.org or self-hosted solutions. The separation of transport from signature validation means trust remains cryptographically verifiable regardless of where binaries are fetched from

Written by elseif from the cluster below · every claim links back to a source

The three things worth knowing

01

Any static file host answering three HTTP requests (nix-cache-info, narinfo, and archive) can serve as a Nix binary cache

02

Nix signatures validate the archive content, not its location, allowing binaries to be fetched from arbitrary URLs or protocols

03

Experimental implementations already use Git, DNS, OCI registries, pastebins, and even YouTube as Nix stores

THE READ

What the cluster adds up to.

ORIGINAL ANALYSIS

The core insight is that Nix binary caches require only three HTTP functions to operate: serving a nix-cache-info file, providing narinfo metadata for a store path, and delivering the compressed archive referenced in that metadata. This minimal interface means any static file host, GitHub Pages, Releases, or even pastebins, can act as a Nix store without additional Nix-specific infrastructure. The requirement is simply that the host allows cross-origin requests (CORS) with a permissive policy, which many static hosts already provide by default.

The separation of transport from signature validation is what makes this flexibility possible. Nix signatures cover the store path, nar hash, nar size, and references, but not the URL, file hash, or compression method. This means the archive can be fetched from any location, even a different protocol or domain, without breaking signature validation. Once fetched, Nix decompresses the archive and verifies its nar hash, ensuring the content matches what was signed. This design allows binaries signed by cache.nixos.org to be redistributed through any intermediary cache while retaining cryptographic trust.

The practical implications are significant for decentralized or ephemeral caching. Engineers can now use existing static file hosts (e.g., GitHub Pages) as Nix stores by committing the output of `nix copy --to file://` to a repository. Experimental implementations have already demonstrated this with unconventional backends: Git’s object database (gachix), DNS TXT records, OCI registries, pastebins, and even YouTube videos. These approaches leverage the three-function interface to repurpose existing infrastructure, though some (like DNS or pastebins) require chunking archives due to size limits.

The trade-offs of this approach center on performance and reliability. Static file hosts may not be optimized for large binary downloads, and some (like pastebins) enforce expiry policies that could break long-term reproducibility. However, the flexibility outweighs these limitations for use cases like temporary caches, personal projects, or proof-of-concept deployments. The discovery also highlights that Nix’s design is transport-agnostic by default, which could encourage further experimentation with alternative storage backends or protocols beyond HTTP.

Written by elseif from the cluster below · checked for specifics the sources never contained

THE CLUSTER

Same story, 2 feeds.

ORDERED BY FIRST SEEN
Farid Zakaria’s Blog A Nix store is three functions Open ↗
Farid Zakaria’s Blog via Lobsters A Nix store is three functions Open ↗