1. Resources
  2. /
  3. Plugins
  4. /
  5. flakehub-cache-buildkite-plugin

FlakeHub Cache Buildkite Plugin

A Buildkite plugin for using DeterminateSystems FlakeHub Cache. See: https://flakehub.com/cache

Example

Add the following to your pipeline.yml:

steps:
  - command: nix build .#my-package
    plugins:
      - saronic-technologies/flakehub-cache#v2.0.0

Configuration

determinate-nix-version (Optional, string)

The Determinate Nix version installed on hosts that don’t already have one — hosted macs and other non-NixOS agents. NixOS agents bake determinate-nixd into their image via the determinate flake input and never hit the install path.

Defaults to the version pinned by this plugin release, so the version an agent gets rides the plugin tag your pipeline already pins: bumping Determinate Nix for these hosts is a one-line change to the default here, a new plugin release, and a tag bump in the pipeline — and rolling back is reverting the tag. Set to a specific version like 3.22.2 to override, or stable to track Determinate’s rolling channel (the pre-v3.4.0 behavior).

On macOS a host with a different version than the pin is converged by reinstalling the pinned package. On Linux and NixOS the installed version is host-managed; a mismatch is logged but not changed.

steps:
  - command: nix build .#my-package
    plugins:
      - saronic-technologies/flakehub-cache#v3.4.0:
          determinate-nix-version: stable

upload-logs (Optional, boolean)

Whether or not to upload plugin logs to the Buildkite job (default true).

push (Optional, boolean)

Whether to push store paths built by the job to FlakeHub Cache (default true).

Set to false on hosts running multiple concurrent agents: Magic Nix Cache needs an exclusive view of the Nix store, so it is never started in this mode. The plugin still logs in to FlakeHub with the job’s Buildkite OIDC identity for cache reads and private flakes.

steps:
  - command: nix build .#my-package
    plugins:
      - saronic-technologies/flakehub-cache#v3.3.0:
          push: false

Login keepalive

FlakeHub sessions minted from Buildkite OIDC are short-lived, so in both modes the plugin runs a background refresher for the duration of the job. It decodes the netrc token’s own iat/exp and renews just before expiry (or when the cache rejects the token), so jobs of any length keep working. On multi-agent hosts the netrc is shared and the refreshers coordinate implicitly: whoever renews first moves everyone’s deadline out. The refresher log is uploaded as a job artifact unless upload-logs is false.

The plugins listed on this webpage are provided for informational purposes only. They have not undergone any formal security review or assessment. While we strive to provide useful resources, we cannot guarantee the safety, reliability, or integrity of these plugins. Users are strongly advised to conduct their own security evaluations before downloading, installing, or using any plugin. By using these plugins, you acknowledge and accept any risks associated with their use. We disclaim any liability for any harm or damages arising from the use of the plugins listed.

You deserve better CI.

Get started for free with a full month of our all-access trial.

Buildkite Pipelines

Platform

  1. Pipelines
  2. Public pipelines
  3. Test Engine
  4. Package Registries
  5. Mobile Delivery Cloud
  6. Pricing

Hosting options

  1. Self-hosted agents
  2. Mac hosted agents
  3. Linux hosted agents

Resources

  1. Docs
  2. Blog
  3. Changelog
  4. Example pipelines
  5. Plugins
  6. Webinars
  7. Case studies
  8. Events
  9. Migration Services

Company

  1. About
  2. Careers
  3. Press
  4. Security
  5. Brand assets
  6. Contact

Solutions

  1. Replace Jenkins
  2. Workflows for MLOps
  3. Testing at scale
  4. Monorepo mojo
  5. Bazel orchestration

Compare

  1. Buildkite vs GitHub Actions
  2. Buildkite vs Jenkins
  3. Buildkite vs CircleCI
  4. Buildkite vs Harness
  5. Buildkite vs CloudBees
  6. Buildkite vs Blacksmith
  7. Buildkite vs Depot

Legal

  1. Terms of Service
  2. Acceptable Use Policy
  3. Privacy Policy
  4. Subprocessors
  5. Service Level Agreement
  6. Supplier Code of Conduct
  7. Modern Slavery Statement

Support

  1. System status
  2. Forum
© Buildkite Pty Ltd 2026