Skip to content

Gradient

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

The Gradient web interface

Features

  • Git Host Integration

    Building on push and pull request from GitHub, Gitea / Forgejo and GitLab. Status checks sent back.

  • Build Before Pushing

    Uncommitted changes built on the CI workers with gradient build, no local Nix needed.

  • Built-in Binary Cache

    Per-project caches with S3 storage, signing and sharing between projects.

  • Scales With Workers

    Evaluation and building both on workers. More capacity with every added machine.

  • MCP Server

    Logs, evaluations and failed builds, readable by any AI assistant.

  • Pull Deployment

    Machines fetch and switch to their latest built NixOS configuration on their own.

  • Declarative Setup

    Users, projects, caches and workers as NixOS options, validated at build time.

  • SSO and Teams

    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=

Project

Get started Try the public instance

The developer of Gradient is Wavelens GmbH. Gradient is available under the AGPL-3.0-only license.