Report 1 - GUIX: Getting started
The reason I want to learn about GUIX is that it seems like the right thing to base the rest of my custom OS work on. I’ve used various distributions of Linux and I’m not really a fan of them. Further, it would be nice to have a sort of “One Ring” OS that I can use in every place I’d want a general PC OS, including cloud, desktop, embedded, and any other thing that might come up.
The target setup
Initially I want to be able to use vagrant to easily spin up a new instance by providing a GUIX SD image along with an OS configuration file and have a running environment in an instant.
What exists so far
Looks like there’s one other person who’s provided any sort of GUIX setup for Vagrant. Their setup is a year old and what they do is use Packet to create guix installs from an OS config and GUIX SD image. This is then used with Vagrant.
I think I want to go a different way but the first step in learning is to try someone else’s approach and see how it goes.
Easy enough. Go to their website and click the right host. Mine is a ubuntu based system so my copypasta is:
wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list sudo apt update && sudo apt install vagrant
Best bet is to do it one line at a time.
The quickstart for Vagrant says to run an init command with their base image. I ran the same command with the palfrey image and all it does is create the file. So instead I deleted it and recreated it from the content suggested in the palfrey image README. Then I run the vagrant up command, wait it out, and have it fail complaining that rsync doesn’t support the -z argument used due to libz being missing. Since I used the system package manager to install vagrant it would appear the system packages and packages provided are not compatible when it comes to rsync–the option isn’t being provided by the Vagrantfile config.
After an apt upgrade and redo of vagrant up I quickly arrived back at my prompt without an error. Then I run a vagrant ssh to find myself in a new prompt where guix –help gives the expected output.