Better Nix CI
Caching, and hosting
Sign up for free →
flake.nix
{ 
description = "A sample Nix project"; 
outputs = { ... }: 
{ 
 
checks = { 
x86_64-linux.test = ...; 
}; 
 
 
packages = { 
x86_64-linux.frontend = ...; 
aarch64-darwin.devServer = ...; 
}; 
 
 
nixosConfigurations = { 
server = ...; 
db = ...; 
}; 
}; 
} 
  1. 1 / 3
    We run your checks, and cache intermediate build results for faster evaluation. You can also easily run these locally!
  2. 2 / 3
    We build your executables and make them easily available for download.
  3. 3 / 3
    We deploy your server with zero-downtime.
7M+ packages built. Trusted by:
Want to get started immediately?
Our cloud offering is for you!

CI

We build your Nix packages — and fast. Get GitHub checks, and nice logs on our website.

Hosting

We spin up VMs for your deployments, all with zero-downtime. Or see what a code change would look like with ephemeral PR deployments.

Cache

Everything you build gets uploaded to our cache, so CI never builds the same thing twice. And you can use our cache on your dev machines and servers too.

Actions

Purity is great, but sometimes you need effects: send a notification, start a deploy, or run an integration test against an external API. Actions allow you to do all of those, and more, easily.

Click. Push. Done. Just install the garnix GitHub App, and push a flake.nix file to your repo. We’ll handle the rest, from building your software and running your tests, to provisioning and deploying your servers.

Click

Sign up. Install the garnix GitHub App.

“The CI solution I endorse for most Nix/NixOS projects is garnix because... [it is] simple to install and manage.”

Gabriella Gonzalez, author of NixOS in Production and of the Dhall language

“The CI solution I endorse for most Nix/NixOS projects is garnix because... [it is] simple to install and manage.”

Gabriella Gonzalez, author of NixOS in Production and of the Dhall language

Push

Create a top-level flake.nix file and push it to your garnix-enabled repo.

“The thing I like the most about Garnix is how low friction is it. Add a flake.nix to your project, connect Garnix, and boom”

Jonas Chevalier (zimbatm), founder of Numtide and author of direnv

“The thing I like the most about Garnix is how low friction is it. Add a flake.nix to your project, connect Garnix, and boom”

Jonas Chevalier (zimbatm), founder of Numtide and author of direnv

Done

garnix will then kick off builds for all your packages and run your tests. If they pass, garnix will also deploy any servers you have.

“The build times are insanely fast!”

Gabriel Volpe, author of Functional Event-Driven Architecture and Practical FP in Scala

“The build times are insanely fast!”

Gabriel Volpe, author of Functional Event-Driven Architecture and Practical FP in Scala

Sign up for garnix for free

Features

From automatic caching to fast, reproducible builds — everything in Garnix is designed to make your Nix workflow seamless.

  • Easy setup
    Designed to work without any further tweaking. If you know Nix, you know garnix.
  • Fast builds
    garnix CI runs between 2-10x more quickly than alternatives based on GitHub Actions, even when using a Nix-specific cache, see our our benchmarks. Get your code to production quickly.
  • Cache
    garnix automatically caches all the build outputs. Not only does this make CI faster, it also speeds up local development, and functions as a binary source for your end users.
  • Zero-downtime deploys
    Get the highest standards of uptime without even thinking about uptime. On any commit, garnix spins up the new servers, waits for them to be ready, and then switches traffic to the new instances. Only then does it shut down old servers.
  • Infrastructure-as-Code
    With garnix, your git repo is the only source of truth. Everything can be configured there. A simple git diff can always tell you what changed.
  • Preview environments
    See what a change would look like with our PR deployments. We keep the deployment up-to-date with the latest changes in a PR, and shut down the deployment after the PR is closed.

If you want to say hi or need some extra help, just reach out!

Try it out for free