2.6 KB

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".