Analysis updated 2026-05-18
Automatically build and test GitHub repositories that use Nix flakes on every push.
Host the outputs of successful Nix builds instead of only verifying they pass.
Run a local Garnix development environment inside virtual machines for contributing.
| garnix-io/garnix-ci | psibi/shell-conduit | psibi/yesod-postgres | |
|---|---|---|---|
| Stars | 349 | 96 | 4 |
| Language | Haskell | Haskell | Haskell |
| Last pushed | — | 2020-06-20 | 2018-08-24 |
| Maintenance | — | Dormant | Dormant |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 5/5 | 3/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires setting up a GitHub App and virtual machines via qemu to run a working local instance.
Garnix is a continuous integration (CI) service built specifically for GitHub repositories that use Nix flakes. Nix is a package manager and build system that describes software environments in a very precise, reproducible way. A "flake" is a specific format for Nix projects that makes them easier to share and build consistently across machines. Garnix reads these flake definitions and automatically builds and tests the code whenever changes are pushed. The project is written in Haskell and is now open source. In addition to running CI builds, Garnix also handles hosting, meaning it can serve the outputs of successful builds, not just verify that they pass. For developers who want to run Garnix locally or contribute to it, the README explains how to spin up virtual machines on their computer using a tool called qemu. A helper command sets up a small simulated Garnix deployment that includes a web interface for monitoring builds and an admin panel for development tasks. Setting up a working instance also requires creating a GitHub App, which is how Garnix authenticates with GitHub to receive notifications about new commits and report build results back to pull requests. The README walks through that setup process and shows how to submit a test build via a command-line request. Frontend development is also documented: you can run the web interface in a live-reload development mode while the backend runs inside a virtual machine. The acknowledgments section notes that git history was cleared when the project was open-sourced, and lists the contributors who worked on it before that point.
Garnix is a continuous integration and hosting service built specifically for GitHub repositories that use the Nix package manager's flake format.
Mainly Haskell. The stack also includes Haskell, Nix, qemu.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.