Usually you would run GNU Guix/Hurd in a childhurd, as described here, but not all of us can to do that. I found a way to run GNU Guix/Hurd in qemu, and all you need is the qemu package.

  1. Download the latest Guix System image from https://guix.gnu.org/en/download/latest/.

  2. Convert the downloaded QCOW2 image into a raw disk image using qemu-img:

qemu-img convert -O raw /path/to/source.qcow2 /path/to/output.img

(Replace /path/to/ with the desired directory paths on your system.)

  1. Resize the image to the amount of disk space as desired. For example:

qemu-img resize hurd-system.img 30G

  1. Mount the image and resize the main partition as desired. The gnome disks tool can be used for this process, or any kind of partitioning software that supports raw images. Resize the main partition to, as an example 30gb, and write your changes.

  2. Virtualize it in qemu. We are going to use the same command as in the debian GNU/Hurd guide, but echo your image instead.

kvm -m 2G -drive file=$(echo yourimage.img),cache=writeback

  1. Your setup is complete, but I will include this as a bonus step. When you are at the login page just do login root and enter with no password.

GNU Guix integrates well with the Hurd so you can find documentation here

Note, when I did this setup, running guix pull was slow, but I think this is an issue with Guix and not specifically the GNU Hurd variant.

OC by @provectus@lemmy.ml