Gradient¶
Nix-CI for Teams. Every flake built once, on any machine, cached for everyone.

Features¶
-
Building on push and pull request from GitHub, Gitea / Forgejo and GitLab. Status checks sent back.
-
Uncommitted changes built on the CI workers with
gradient build, no local Nix needed. -
Per-project caches with S3 storage, signing and sharing between projects.
-
Evaluation and building both on workers. More capacity with every added machine.
-
Logs, evaluations and failed builds, readable by any AI assistant.
-
Machines fetch and switch to their latest built NixOS configuration on their own.
-
Users, projects, caches and workers as NixOS options, validated at build time.
-
OIDC login, SCIM provisioning, roles and invitations per project and cache.
Compared to Hydra and GitHub Actions¶
| Hydra | GitHub Actions + Cachix | Gradient | |
|---|---|---|---|
| Build start | After the whole evaluation | After the whole evaluation | While the evaluation is still running |
| Evaluation | On the server, limited by one machine | Inside each job, limited by the runner | On workers, scales with them |
| Evaluation speed | Fast | Slow | Fastest available |
| Building Order | Round Robin | single Worker | Maximum CPU Load, Minimal Network Traffic, Memory / OOM aware |
| Import from derivation (IFD) | Not activly supported | Built by the runner inside the job | Built on the workers as shared builds, cached and logged like any build |
| Wildcard Support | No | No | Yes |
| Nix store | Kept on the server and builders | Empty on every job; each job downloads its closure again | Kept on the workers between builds |
| Build outputs | Everything through the server | Pushed from the runner to Cachix | Large outputs go from worker straight to S3 |
| Server host | Needs a writable Nix store | Hosted by GitHub | Needs no Nix store, Micro-VM ready |
| Heavy builds | Static machine list with speed factors | Fixed runner sizes | Scoring system places them by predicted memory, learned from past builds |
| Remote building over SSH | Not available | Not available | ssh-ng:// store for nixos-rebuild --build-host and nix copy straight to the CI workers |
| Private caches | One store for the whole instance | Free plan: 5 GB, filled quickly by full closures | Per-project caches with access control, on own S3 or disk storage |
| Sign-in | Local accounts, LDAP, OIDC with roles for the whole instance | GitHub accounts | OIDC with provider groups mapped to roles per project, SCIM provisioning |
| Integrations | Minimal JSON API | GitHub only | REST API, webhooks, Git Integrations and MCP server |
| Web UI | Server-rendered pages | GitHub job logs | Responsive UI with live log streaming |
| Runners | Not available | builtin | Soon; On Roadmap |
| Stars | - |
Public Binary Cache¶
Pre-built Gradient packages are available from the public cache.
URL: https://public.gradient.ci/cache/main
Public Key: public.gradient.ci-main:qmxRE+saUvhNa3jqaCMWje+feVU77TjABchZrPGf7A8=
Links¶
- Source code: https://github.com/wavelens/gradient
- API reference: Swagger UI
- NixOS options search: https://wavelens.github.io/gradient-search
- Chat: #gradient-ci:matrix.org
Project¶
- Support: community help, long-term and commercial support.
- Security Policy: private vulnerability reports.
- Privacy: no telemetry, all data self-hosted.
- Governance: roles, maintainers and decisions.
- Accessibility: web UI support and barrier reports.
Get started Try the public instance
The developer of Gradient is Wavelens GmbH. Gradient is available under the AGPL-3.0-only license.