I'm playing around with guixsd and am really impressed with the work so far! I've been unpacking the installer and configuration trying to understand how it works. so if there's a more straightforward way to do this that would be great also, but I have some questions on how guix itself works.
I'm trying to install guix on a IntelNUC where I don't have access to a wired connection. This requires me to use the iwlwifi-firmware.
I have a docker container on my OSX machine that installs guix on a debian image, and from there I add another channel to guix that has the standard linux kernel. From there I build an installation iso that I copy to USB key, boot the nuc off of, and am able to install the system over WiFi and everything is great.
My plan was to then change my /etc/config.scm file to include the packages that I built in the docker container to provision the system with a different kernel. What I can't figure out is how to copy the package over in a way that guix system reconfigure can see them just using a USB stick.
Question 1:
On the docker container, if I do guix archive --recursive --export linux > linux.nar and then move it over to the nuc, I can successfully guix archive --import the package into the /gnu/store. How do I then reference that package?
I tried to guix package -i /gnu/store/asdfasdf-linx but it fails because there are missing dependencies which it tries to build, and that obviously fails because there's no network. This seems like it shouldn't happen based upon my understanding of the guix archive docs -- it implies that all the dependancies would be included.
Question 2:
The setup on the usb key works so I was looking at ways to pull the config off of that. The installation image has no /etc/config.scm however, so I don't really know what to base it off it. Also, it would be great if the graphical installer actually let you edit the config.scm that it generates, so that I could tweak that and see if I could alter the kernel definition.
It seems to me that the installation should take the existing packages on the device and then build the environment and copy it over. What I'd like is to figure out how to "get a closure of the packages installed on the current machine" and then copy that to /mnt or whatever it would take to get it onto the actual destination disk. Is that possible, to move the packages over manually in some way?
Question 3:
It seems crazy to me that I'm downloading everything over and over. At the office (where I was playing with this) we have fiber, but right here we have a terrible network connection so downloading multiple times is painful. Is there a way to setup a local mirror of the builds (I'm waiting for ipfs backing for this obvious.)
Anyway, what I really dont understand is the guix archive behavior and why that didn't work, and how to reference the packages once they've been imported into either my profile and especially the config.scm.
Thanks, and I'm very excited to be playing with guix!