Interface for Hydra and Cuirass (Nix and Guix build farms)

Alex Kost 5c268a3c23 Update version to 0.2.2 5 years ago
.gitignore 7fecae86ee Initial commit 5 years ago 82dbf78aa5 README: Add "Installation" section and some badges 5 years ago
build-farm-build.el e244dea355 build: Generalize making "latest builds" buttons 5 years ago
build-farm-evaluation.el 6a1b593d31 Update Cuirass evaluations for the latest API 5 years ago
build-farm-jobset.el e244dea355 build: Generalize making "latest builds" buttons 5 years ago
build-farm-popup.el fa7fa54901 popup: Switch keys for jobset and job 5 years ago
build-farm-project.el 381e10f543 Rename 'build-farm-build-info-insert-builds-button' 5 years ago
build-farm-url.el 06da6c8c2e url: Add and use "" 5 years ago
build-farm-utils.el c784acf46f Try to guess a package manager and a build farm url 5 years ago
build-farm.el 5c268a3c23 Update version to 0.2.2 5 years ago

file: file:


Emacs-Build-Farm is an Emacs interface for Hydra and Cuirass — build farms for Nix and Guix package managers, i.e., for:

https://hydra.nixos Hydra for Nix
https://hydra.gnu Hydra for Guix
https://berlin.guixsd Cuirass for Guix

This package allows you to look at builds, jobsets, evaluations and projects of these build farms.


Emacs-Build-Farm can be installed using Guix or from MELPA.


Just use:

guix package -i emacs-build-farm


If you added "melpa" or "melpa-stable" archives to package-archives as it is described on the MELPA Getting Started page, you can install "emacs-build-farm" using M-x package-install or =M-x list-packages= commands.


The entry point for the available features is M-x build-farm command. It provides a magit-popup interface to display evaluations, builds, jobsets and projects.

Alternatively, you can use the following M-x commands directly:

  • build-farm-projects
  • build-farm-project
  • build-farm-jobsets
  • build-farm-latest-evaluations
  • build-farm-latest-builds
  • build-farm-queued-builds
  • build-farm-build

Keys in "list" buffers

Most of the above commands show "list" buffers (list of builds, etc.). These lists provide some key bindings, the main of which are:

  • h (hint): allows you to look at the provided key bindings;
  • =RET=: displays "info" buffer for the current entry or several marked
  • entries (marked with =m= key).

Differences between Cuirass and Hydra

In the beginning there was Nix, and Hydra was its build farm. Then there appeared Guix which is technically very similar to Nix, except it is written in Guile. At first, Guix also used Hydra. Then Guix decided to make its own build farm, also written in Guile. So there appeared Cuirass. And Cuirass was very similar to Hydra, but afterwards it diverged quite a lot.

In particular, Cuirass does not have a notion of "project" anymore. Hydra has "projects" and "jobsets" inside each project. But Cuirass decided that projects are not needed, so it has only "jobsets".