Hello everyone! I've been navigating Guix for the past couple days. Here's how it went:
At first, I added a skeleton for `guix git log' by copying from `guix git authenticate'. It might be useful to have a generic template for Guix scripts, with conventions and all, by the way, because there isn't much in "(guix)Coding Style". I figured it would make things easier to use Guix System in a VM, so I booted the QCOW2 image using the given libvirt config in "(guix)Running Guix in a VM" (although there were some typos and grammar errors, maybe I should send a patch for them). It worked without a hitch, but I got stumped when it came to configuration. I scanned through the info page to no avail. It's not exactly clear from the documentation that there are no configuration in the Unix sense, but rather single-use configuration scripts (which is admittedly really cool). I spent some time trying to find where the `operating-system' variable is defined, but people helpfully clarified in #guix that I need to make a script declaratively defining the setup I have in mind, then let Guix adapt itself to that automatically. Equipped with that knowledge, I decided I'm better off generating my own VM image once I have a better idea of what sort of Guix setup I want. It might be a good idea to clarify this in the info page. Next, I went back to installing Guix normally on Arch Linux (I tried it on Fedora previously and ran into SELinux issues). The AUR script is a bit wonky due to dependencies so I just used the official binary installer. When I tried to bootstrap Guile, I ran into the problem that Guile 3.0 is unavailable. Indeed, Arch developers have been neglecting to add Guile 3.0 to the official repos. (Scheme is a bit neglected in this respect. The MIT/GNU Scheme package has been broken for a while as well.) So I got a build script off AUR (although I had to patch it because it tried to replace Guile 2.2, which breaks programs like `make' that are linked to libguile2.2) and built Guile. Now that I had a working Guix + Guile 3 setup, I ran into the seemingly common `setlocale' issue which was quickly solved by installing both `glibc-locales` /and/ `glibc-utf8-locales` (and updating them with each glibc update), then setting `$GUILE_LOCPATH' accordingly for both root and my user. I did a `guix pull' and everything was dandy. With no more yaks to shave, I ran finished bootstrapping, ran the post install environment and my subcommand works! Now I can go back to add the functional parts of the script. I'll keep you updated! -- Lulu