Nix-native substitution
Nix still handles derivations, closures, NAR files, store identities, and substitute selection.
Getting started
Guides
On this page
Docs / Adapter commands / Nix
Give Nix a runner-local binary-cache endpoint while Nix continues to handle derivations, closures, NAR files, substitution, and signatures.
Nix still handles derivations, closures, NAR files, store identities, and substitute selection.
The post-build hook queues completed output paths; a bounded worker batches publication and drains before the adapter exits.
Global signature checks stay enabled; trust is limited to the loopback store used for the invocation.
Install Nix first, keep the cache tag in .boringcache.toml, then wrap the ordinary Nix command. The adapter adds a loopback substituter and drains completed outputs before it exits. Global Nix signature checks remain enabled.
[adapters.nix] tag = "nix-cache" # Run: boringcache nix -- nix build .
The Action starts the Nix adapter for later steps. Nix must already be installed on the Linux or macOS runner.
- uses: boringcache/one@f0fb9b2d926a32b10c543e92093ba00c5a291b79 # v1.33.0 with: trust-policy: auto mode: nix - run: nix build .
Approve the repository through Connect CI and grant the job contents: read and id-token: write. The Action uses that Machine connection. Pull requests restore by default; trusted jobs may publish. See the authentication example in the GitHub Actions reference for scoped credentials when OIDC is unavailable.
Released real-client coverage proves cold publication and fresh-store substitution. No comparative Nix result is promoted yet.
Check the tool's own reference when you need cache-key rules, build settings, or version-specific behavior.
Compare every supported command, protocol, and Action mode in one place.
Adapter command index →Need help or found something unclear? Open an issue or browse the CLI repo.
We use cookies to understand how people use BoringCache. Learn more