Hi lxo, I can give some advice reg. libreboot+luks+btrfs, but not reg. LVM and I haven't tested a a btrfs multi-disk setup with GuixSD either unfortunately.
Using btrfs and luks on a librebooted laptop works well. > Full-disk encryption (LUKS) is also a strict requirement for me, and so > is multi-disk BTRFS. When using libreboot and GuixSD, I suggest that you have in the libreboot grub: cryptomount -a configfile /boot/grub.cfg in order to get all the Guix rollback features that are related to the grub-menu entries without needing to reflash after each guix system reconfigure. But I suggest that /boot/grub.cfg is a symlink to the /boot in the Guix root subvolume. So the full path to Guix's boot.cfg would be: /guix_rw/boot/grub.cfg By loading the Guix grub from libreboot grub like that you can reboot to a new btrfs snapshot such as /guix_rw_test before doing risky things just by changing the destination file of the symlink. The one issue I have had with this is that the GuixSD system reconfigure command generates grub-entries with the current relative path to initrd etc. so I had to write a small bash-script that replaced the grub-entries with the full paths, like this: function grubfix(){ sudo sed -i "s/linux\ \/gnu/linux\ \/guix_rw\/gnu/g" "$1" sudo sed -i "s/initrd\ \/gnu/initrd\ \/guix_rw\/gnu/g" "$1" sudo sed -i "s/--set\ \/gnu/--set\ \/guix_rw\/gnu/g" "$1" } which I then wrapped to a bash function called guix-update() that invokes guix system reconfigure and ends with the grubfix() above. > > I have not used GuixSD yet, to a large extent due to the stated lack of > LVM support. I haven't got myself into Guix either *blush*, but maybe I > could get started with it. I suppose VMs might be a way to get started, > but... the machines I use are not very powerful, as in, laptops old > enough as to support LibreBoot, so I haven't used virtualization much > myself. I ran GuixSD on an old x200 for a few a years and had a really painful time with overheating issues. This happens as soon as you have to build anything from source which happens every now and then. I would primarily recommend that you get a more powerful laptop like one of the Librems. There are though a few ways to mitigate small laptop heating issues: - run a Guix substitute server yourself on a more powerful machine (quite easy setup). - make sure to use several of the freely available substitute servers (e.g. berlin.guixsd.org) - underclocking - limiting the reconfigure to fewer cores To limit core cores and add additional substitute servers, you can add to your system services list something like below: (modify-services (guix-service-type config => (guix-configuration (inherit config) (substitute-urls (cons * "https://mirror.hydra.gnu.org" "https://mirror.guixsd.org" "https://berlin.guixsd.org" %default-substitute-urls)))) ; (extra-options ; '("--cores=1"))))) ; to avoid overheating from build-processes %base-services))) > > Thanks in advance for any guidance. I'm lxo on IRC. > > -- > Alexandre Oliva, freedom fighter he/him FSFLA.org/blogs/lxo > Be the change, be Free! FSF Latin America board member > GNU Toolchain Engineer Free Software Evangelist > Hay que enGNUrecerse, pero sin perder la terGNUra jamás - Che GNUevara I wish you the best of luck with GuixSD! // David