Hello, I'd like to share with you some experiences with using Guix.
I tried to install Guix as alternative OS to my Gentoo and openSUSE installations to give a try. I tried unsupported scenario - installation on LVM volume and separate /boot partition until I was told it is unsupported. Separate boot wasn't hard as I had to just copy generated files so they are loaded. But eventually I gave up preparing it manually or automating it and I had rather put another Grub in the same partition and set up chainloading. I met then two problems: 1] if you set device to partition (and not to disk) in your grub-configuration like this: (bootloader (grub-configuration (device "/dev/sda4"))) `guix system init' will fail on grub installation. By default Grub tries to fit in the beginning of partition and fails if it can't fit in. I asked about this behaviour on Grub mailing list and it seems that there are two options: a] add `--force' to command line and use block list for keeping information about position of Grub's core.img b] use filesystem which allows embedding - BtrFS or ZFS I verified both options (a] and then b] with BtrFS) and it no longer fails. But, ad a] - I don't feel safe passing `--force' to grub-install every time. So if installation fails on this point and you'd like to use your FS anyway, you can pass `--no-grub' to `guix system init' and then rung grub-install manually. ad b] - I don't feel safe using still experimental BtrFS. 2] current Grub version in Guix during boots generated this error: error: symbol 'grub_term_highlight_color' not found and started rescue shell. It seems to be a bit mystic bug: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1289977 I used my Gentoo's version of Grub to fix it and then it worked. I'm also interested in running chroot in Guix. This is something I like about all Linux distribution I use - I can run Linux and at the same time I prepare another Linux root filesystem for use. It seems that chrooting into Guix may be tricky. I prepared this script to be placed somewhere into Guix: ----------%<--------- #!/run/current-system/profile/bin/bash export LIBRARY_PATH=LIBRARY_PATH=/root/.guix-profile/lib export CPATH=/root/.guix-profile/include export PATH=/run/setuid-programs:/run/current-system/profile/sbin:/root/.guix-profile/bin:/run/current-system/profile/bin export INFOPATH=/root/.guix-profile/share/info:/run/current-system/profile/share/info exec bash -i ----------%<-------- for i in dev proc sys; do mount -R /$i /guix_mountpoint/$i; done chroot /guix_mountpoint/ /helper_script.sh Ludovic said that `guix packages --search-paths' should generate similar path configuration so it may be the right way, but it didn't work for me. And last thing I wanted to mention, you have kind community around Guix and Guile. It's really motivating! Best regards, Tomas Cech Sleep_Walker