Earl Chase <[email protected]> writes:

Quick note though: Guix is a rolling-release somewhat niche distro. I would love to see this get setup but I worry that it might just be a frustrating rabbit hole. If this is put in a container that gets reset each time, then it might require the rebuild of the older emacs versions each time which would be very inefficient.


I'm not a CI expert but isn't this how all CI systems work? Also isn't that what we want, a completely refresh emacs for each run?

I'm unfamiliar with CI systems and I'm sorta guessing how they work. I belive what we want to do is pull in a pre-built Emacs binary and then build org-mode with it. Currently, guix offers a pre-built binary for emacs 31 and emacs 32.0 (called emacs-next) available from the official substitute servers.

My guix.scm file also adds definitions for Emacs 28, 29, and 30. There are no substitute servers that provide these so we'd have to build Emacs from scratch (which is a pretty long compile). If we end up rebuilding these 3 emacs's every time we run CI, then it might take hours when it should take maybe 10 minutes I think.

It might be worthwhile to setup a more mainstream approach first. If for no other reason then to be able to learn the CI system without Guix getting in the way.

One option could be to use a Debian or Ubuntu image and then install just the guix package manager on that image. Then we could just test builds with guix containers. Maybe that's a little convoluted. But I use guix containers for all of my elisp projects so I know that would work.

I didn't realize you also used Guix! If you're already invested in Guix then please do continue that! This is my first time encountering another user in the wild :P

Reply via email to