Dr. Arne Babenhauserheide writes: > I’d like to create a small server that provides substitutes for > packages for which I often have to build a fallback (mostly ungoogled > Chromium). > > How can I do that? Is there already a simply way? It's not simple (yet), but I'm hoping to get there eventually with the Guix Build Coordinator. 1: https://git.cbaines.net/guix/build-coordinator/about/ > It would be ideal if I could put it on a dumb public host with only > HTTPS access and FTP for upload (since I already have that and it has > unlimited bandwidth). Using guix publish along with something to build the packages is simpler, providing you want to serve them from the store. However, one of the things on my mind when designing the Guix Build Coordinator was specifically this use case. I was actually more thinking about scalability, I didn't want to be limited by the storage of a single machine. Again, it's not simple (yet), but how this works currently is through hooks [2]. You have the Guix Build Coordinator run some Guile code when a build is successful, and this can do something with the outputs. 2: https://git.cbaines.net/guix/build-coordinator/tree/guix-build-coordinator/hooks.scm For https://guix.cbaines.net/ I use the build-success-s3-publish-hook as I use a hosted S3 service for the storage of the outputs. You could very similarly implement a build-success-ftp-publish-hook and use this to upload nars. Like guix publish, the Guix Build Coordinator can generate the narinfo files you need to serve substitutes. The Guix Build Coordinator is also close (but not quite there) to being able to easily build a subset of Guix packages in an automated way. Currently the guix-build-coordinator-queue-builds-from-guix-data-service [3] script will queue builds for all packages, and the channel instance derivations, but it could and should in the future allow controlling what to build. 3: https://git.cbaines.net/guix/build-coordinator/tree/scripts/guix-build-coordinator-queue-builds-from-guix-data-service.in I realise the promise of being able to do this more easily in the future isn't that helpful, but I still wanted to mention the Guix Build Coordinator in case it's something you're interested in. Chris