I've been eyeing GuixSD for awhile now. I've been tempted on installing on my laptop (lenovo x220) but didn't want to mess something up. Then beginning of this summer I bought an used x220 since I also wanted to try out coreboot and again didn't want to mess with my main laptop, i.e. bricking it.Got that running and I now had an extra laptop which I could do whatever I want with. Which is a perfect opportunity try out GuixSD!
Noticed pretty quickly that having coreboot compiled without VGA support wasn't the best idea. Without that the Grub menu didn't show at the beginning which made it impossible to roll back when I borked the configuration. Instead I needed to reinstall guixsd to get to a working state. So I recompiled coreboot with VGA support and I could now select what generation to boot.
After that I've been trying to set up GuixSD to mimic what I have on my Arch install. I gotten to a working state but I hit some road blocks that I can't figure out.
1) Mounting a nfs disk.
I tried adding the nfs mount to file-systems.
It works after I reconfigure guix
sudo guix system reconfigure /etc/config.scm
But when I reboot, guixsd will not start it just hangs in the boot process. Looks like a lot of services are failing.
2) Change shell for user to zsh.
guix system: error: failed to load '/etc/config.scm':
ice-9/boot-9.scm:2795:6: In procedure resolve-interface:
ice-9/boot-9.scm:2795:6: no code for module (gnu packages zsh)
I can install zsh using guix package -i zsh and start it manually.
3) Keyboard mapping.
On my Arch install I have this
Option "XkbLayout" "us,se"
Option "XkbOptions" "ctrl:nocaps,grp:sclk_toggle,grp_led:scroll,:2"
Which does two things; remap caps to ctrl - reduces stress on my pinky when working in emacs.
Let me toggle between Swedish and US keyboard layout with scroll lock, US is by far easier to code and navigate the terminal with than Swedish.
The question is how do I translate this to GuixSD? Closest I could find in the manual was about the X window, but didn't find anything that directly matches what I want. And my search in the mail archive turned up empty.
In the manual, under Base Services
it describes how to add env to /bin. I tried adding that snippet to my services but I don't see env in /bin after I reconfigure.
I've also noticed some odd issues with my keyboards that are running the qmk firmware
. I've setup that my space have a dual action, it's register as space when pressing and ctrl when holding the key. But when using them in GuixSD it results in a 1s delay every time I press space. Which gives a very sluggish impression when typing in the terminal. It works fine if I disable that feature. I have not experienced that issue in any other distro.
I've attached my full config.scm.