Very cool - thanks Chris!
In the meantime, I've updated my build script to externalize the Guix environment from the Docker container.
So far the daily builds are staying nice and small at ~197MB and one layer. The images and updated script are
here if anybody is curious:
GitLab allows you to cache files between job stages and even full pipeline runs. I first tried to cache /var/guix
and /gnu/store and mount them inside a container in which to perform `guix pull` etc. However, it seems
that handling hard links on externally mounted file systems from within a container is problematic. I think
passing `--disable-deduplication` to guix-daemon might resolve it, but I couldn't figure out where/how to
change the Shepherd configuration to do that. So instead, I just copy the directories into and out of the
container at start and end of the process. It seems to work. Mounting would probably speed up the process
quite a bit if I could make it work.