Effortless Nix CI in GitHub Actions
Determinate CI is a complete, opinionated Nix CI workflow. Point it at your flake and it discovers and builds every output across every architecture, caches everything with FlakeHub Cache, and can publish to FlakeHub on every tag or commit.
Builds every architecture automatically
Discovers your flake's outputs and builds them across every architecture your flake supports, no matrix to hand-maintain.Understands non-standard flake outputs
Uses flake schemas to discover and build outputs beyond the standardpackages and devShells, so custom output types get built and cached too.Caches everything with FlakeHub Cache
Every build output is pushed to FlakeHub Cache on a paid FlakeHub plan, so subsequent runs and teammates' machines skip redundant builds.Publish to FlakeHub, if you opt in
Publish public, unlisted, or private flakes to FlakeHub on every push to your default branch or every tag.A few lines of YAML
Replace a hand-built matrix workflow with a single reusable workflow call, then configure runners, SSH keys, and visibility as needed.Outputs for downstream workflows
Exposesflake_name, flake_version, and precise flakerefs as workflow outputs, so dependent jobs can build on exactly what was just published.- Determinate CI on GitHub
Determinate CI on GitHub (opens in a new tab)
The ci repository, with configuration options, advanced runner setups, and workflow outputs.
- Determinate CI guide
Determinate CI guide (opens in a new tab)
A step-by-step guide to setting up Determinate CI for your flake.
Explore other Actions
- Learn more about Nix Installer Action
Nix Installer Action
The original GitHub Action for installing Nix on your runners.
Learn more - Learn more about Determinate Nix Action
Determinate Nix Action
Install Determinate Nix on any GitHub Actions runner, pinned to a version.
Learn more - Learn more about Magic Nix Cache Action
Magic Nix Cache Action
A free, zero-configuration binary cache for GitHub Actions.
Learn more - Learn more about FlakeHub Cache Action
FlakeHub Cache Action
The zero-configuration binary cache for GitHub Actions, on FlakeHub.
Learn more - Learn more about FlakeHub Push
FlakeHub Push
Publish your Nix flakes to FlakeHub straight from CI.
Learn more - Learn more about Flake Checker Action
Flake Checker Action
Health checks for your flake.lock, right in CI.
Learn more - Learn more about Update Flake Lock
Update Flake Lock
Automated pull requests that keep your flake.lock current.
Learn more