In the weekend of September 27th & 28th and to celebrate the 30th anniversary of GNU an on line hackathon of GNU Guix was held. Although I didn’t officially joined, I took the chance to try Guix for the first time.

There are two ways of currently running GNU Guix, either it could be installed on top of an existing GNU/Linux distribution, or installed directly on bare metal (or a virtual machine for the instance). Since the virtualization platform I use is VirtualBox, this was my primary target, in contrast qemu is the preferred choice of Guix developers, because its GPL license I assume.

Being in alpha state, the GNU Guix distribution provides a very basic USB image to boot and install the system, VirtualBox currently does not boot from USB, so I had to convert the installer raw image to some format which VirtualBox could handle. I tried VBoxManage at first, but it didn’t work or maybe I was unable to figure out how to do so, in the end I used qemu-img command to achieve the task.

In Gitorious you can find my notes and some guides which I wrote during this two days of the hackathon.

The latest GNU Guix installer image version available for download is Guix-0.7 which is flawed, guix --version shows the right version but the bundled packages are from Guix-0.6. It is not a showstopper, since you can easily upgrade to the latest version right before installing to your hard drive. This little bug slowed my install a few hours until I found the solution when someone else hit the same problem in #guix at

The installer script is rather basic, do not expect anything fancy like hard disk re-partitioning, much less a GUI. It does not mean that it is hard to install, any mididly experienced unix user should be able to use fdisk, e2label, mount, sed and other basic commands to get a running GNU Guix system. One thing I missed though was the lack of vi or ed text editors, my keyboard is broken and keys ‘Z’ and left ‘CTRL’ don’t work. VirtualBox grabs hold of the right ‘CTRL’ for its own purposes and the only two editors available in the installer image are nano and zile (an Emacs clone), both unusable with my current keyboard.

Also the installer fetches pre-built binaries from, sometimes this hosts is overloaded or simply unresponsive and you will get this “guix-system: error: build failed: unexpceted-end-of-file” message instead of the cool one “Installation finished. No error reported”, just re-run the last command until the task finishes successfully. If everything went well, now you should have a shiny new GNU Guix system ready to be booted into.