mirror of
https://github.com/Felitendo/spotifast.git
synced 2026-11-01 09:23:26 +01:00
Use Spotifast across the native app, commands, packages and documentation. Keep existing state, credential stores, protocol identities and package names; provide both command names and compatible updater payloads. Rename the guides with jekyll-redirect-from and prepare spotifast.rocks as the website domain. Keep product descriptions name-free.
37 lines
1.9 KiB
Markdown
37 lines
1.9 KiB
Markdown
---
|
|
title: Nix Binary Cache
|
|
description: Status and maintainer setup for publishing Nix builds.
|
|
---
|
|
|
|
An official public binary cache is not active yet. Nix installations may still
|
|
build Spotifast from source. The GitHub Actions cache speeds up CI only; it is
|
|
not a public Nix substituter.
|
|
|
|
## Maintainer setup
|
|
|
|
1. Create a public cache in a maintainer-owned
|
|
[Cachix account](https://app.cachix.org/). Use Cachix-managed signing and
|
|
create a token with permission to push to that cache.
|
|
2. Add the token as the GitHub repository secret `CACHIX_AUTH_TOKEN`. Do not
|
|
put it in an issue, configuration file, or public documentation.
|
|
3. Set the repository variable `CACHIX_CACHE` to the cache's name. Leaving
|
|
this variable unset keeps the existing CI build and cache behavior.
|
|
4. Push a checked change to `main`. After `nix build .#default` succeeds,
|
|
the Nix CI job publishes the result and its dependency closure. A configured
|
|
cache without its upload token fails publication instead of claiming success.
|
|
5. Verify the uploaded package can be substituted on a separate Nix machine.
|
|
Then replace the pending notice here and in the README with the actual
|
|
cache URL, public signing key, and user setup instructions from Cachix.
|
|
|
|
Pull requests and manual workflow runs only read the public cache. The upload
|
|
token is supplied only to the publication step on a push to `main`.
|
|
|
|
The current Nix job builds `x86_64-linux`. It does not populate macOS or ARM64
|
|
packages. A different flake revision, system, or build override can still need
|
|
a local build even after the cache is active. This cache does not publish a
|
|
GitHub application release or change its download artifacts.
|
|
|
|
See the [Cachix action documentation](https://github.com/cachix/cachix-action)
|
|
for how the cache is added as a substituter. The workflow uses the action only
|
|
for read access and explicitly pushes the successful package closure afterward.
|