Benoit J - My mostly tech blog

Guix VM System Configuration

2023-10-21


Something I forgot on my last Guix system configuration post, my work VM setup.

Obviously it’s built on top of my regular setup, but it has some specifics.

VirtualBox

The main difference between running on bare metal and running in VirtualBox is that I do need the virtualbox-guest-additions. This allows to:

  1. have a seamless mouse / keyboard integration with the host OS
  2. it also resize the desktop “screen” to the size of the window
  3. It allows me to mount local host folders as drives on the VM
  4. Has shared clipboard
  5. allows to share USB devices (USB sticks and more) with the guest OS

It does require to install and load a kernel module. You might know where this is going. Guix by default does not support that.

The solution is simple though, since I use the Linux kernel, and nonguix build system, I just need to modify my kernel and create a package (or find one) for guest additions.

I found here a guix config that does what I need to the kernel and package guest additions.

Building the image

On nix, I used packer to build the nix image so I don’t have to go through the installation process.

I’m planning to build the image using guix system image command with my vm system configuration. This actually is a better situation than Nix, but I never tried it.

What else?

The only thing else special is auto-resizing the ext4 partition. It’s not infrequent that I have to enlarge the VM disk, having auto Resize set, enable me to just reboot the machine to benefit from the full space.

I think that’s it on the “system” front.

What’s next

You might notice I’m trying to post everyday. Like I mentioned on my first post, I won’t install Guix until I have a plan for everything. Tomorrow hopefully I have done the research needed for Guix home setup, and be ready to install Guix, who knows. Ah, I also need to do a backup…