Posted on by Chris Warburton

This year I finally entered the 21st century by procuring a new fangled (actually about 4-year-old) 64bit desktop. This was to use Docker (which doesn’t work well on 32bit machines), since I need to run a particular project which comes with a ‘dockerfile’.

I though this would be a good opportunity to try out Hydra again, after previously struggling to make it run on my laptop.

Whilst there are instructions available to make Hydra run on Ubuntu (which this desktop was running), they’re very imperative and non-Nix-like.

Instead, I installed Nix on Ubuntu, and used that to install NixOps. I then used a great Hydra tutorial to get everything running in a couple of virtual machines.

This worked, but was quite limited regarding multi-core CPU usage, redundant copies of Nix stores, and RAM overhead.

Last week, I decided to bite the bullet and install NixOS alongside Ubuntu on the desktop’s bare metal, and after a few issues with WiFi dongles (which I had no trouble with on Ubuntu; well done Canonical!), I’ve managed to get a nice, clean Hydra service running, managed by systemd, configured as a NixOS module, making good use of all of the available resources