Push redview Nix package to Attic cache on build #7

Closed
opened 2026-07-27 17:33:49 +01:00 by nimmo · 0 comments
Owner

After building the Redview Nix package (.#redview), the store closure should be pushed to the local Attic cache (https://attic.nimmog.uk/nixos) so other hosts (lyra, vega, electra, etc.) can pull pre-built binaries instead of rebuilding from source.

Currently the just deploy flow in the nixos-config builds and activates the system closure but never pushes to Attic. Redview needs its own automation since it's developed independently of the NixOS config deploys.

What's needed:

  • A CI workflow (Forgejo Actions) that builds .#redview (or .#packages.x86_64-linux.redview) and pushes the out-path + its runtime closure to the nixos Attic bucket
  • Trigger: push to main, and/or tag
  • Authentication: the CI runner needs an Attic token with push access to the nixos bucket. The secret ATTIC_TOKEN should be set in the repo/org secrets.
  • The command: attic push nixos $(nix build .#packages.x86_64-linux.redview --json | jq -r '.[].outputs.out')
  • Alternative/additional: a just recipe in the redview project to do the same locally for ad-hoc pushes

Notes from discussion:

  • Attic server is at attic.nimmog.uk, bucket is nixos, public key is nixos:tNn8ouVBQkqLS2qTq86V50TCL1AGn2NgwEhpxReo6jU=
  • The nix-settings.nix across all hosts already lists https://attic.nimmog.uk/nixos as a substituter, so any host with that config will automatically benefit from pushed binaries
  • This caches the custom bdfr Python derivation and the redview npm package itself — the only two derivations not already on cache.nixos.org
After building the Redview Nix package (`.#redview`), the store closure should be pushed to the local Attic cache (`https://attic.nimmog.uk/nixos`) so other hosts (lyra, vega, electra, etc.) can pull pre-built binaries instead of rebuilding from source. Currently the `just deploy` flow in the nixos-config builds and activates the system closure but never pushes to Attic. Redview needs its own automation since it's developed independently of the NixOS config deploys. **What's needed:** - A CI workflow (Forgejo Actions) that builds `.#redview` (or `.#packages.x86_64-linux.redview`) and pushes the out-path + its runtime closure to the `nixos` Attic bucket - Trigger: push to main, and/or tag - Authentication: the CI runner needs an Attic token with push access to the `nixos` bucket. The secret `ATTIC_TOKEN` should be set in the repo/org secrets. - The command: `attic push nixos $(nix build .#packages.x86_64-linux.redview --json | jq -r '.[].outputs.out')` - Alternative/additional: a `just` recipe in the redview project to do the same locally for ad-hoc pushes **Notes from discussion:** - Attic server is at `attic.nimmog.uk`, bucket is `nixos`, public key is `nixos:tNn8ouVBQkqLS2qTq86V50TCL1AGn2NgwEhpxReo6jU=` - The `nix-settings.nix` across all hosts already lists `https://attic.nimmog.uk/nixos` as a substituter, so any host with that config will automatically benefit from pushed binaries - This caches the custom `bdfr` Python derivation and the `redview` npm package itself — the only two derivations not already on `cache.nixos.org`
nimmo closed this issue 2026-09-18 20:41:24 +01:00
Sign in to join this conversation.
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
nimmo/redview#7
No description provided.