Subject: Guix-emacs doesn't work

From: Ryan Prior <[email-masked]>
Date: Mon, 18 Apr 2022 23:46:03 +0000

Hi folks! I decided to check-in on the status of the guix-emacs​ package, since my understanding is it's had a change of maintainership a little over a year ago after its previous abandonware status.

First I installed it into my normal Spacemacs setup, and that didn't work at all. Running guix-packages-by-name yielded this error:

> if: Error in evaluating guile expression: ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> Unbound variable: package-names*

But I hardly blame any package for not working with Spacemacs - most packages do just fine, but occasionally when something doesn't work it's Spacemacs fault. So I set out to create a minimal reproduction. Here's what I came up with:

To start Emacs, I ran:

> guix shell -CNPE TERM --no-cwd emacs guix emacs-guix coreutils -- emacs -nw

​
If my understanding is correct, this creates a container with only Emacs, Guix, and the emacs-guix elisp package installed in there, with network access and my TERM environment set but otherwise with none of my Spacemacs or other user config.

Inside this Emacs, I again ran guix-packages-by-name​ and got a nearly identical error:

> guix-geiser-eval: Error in evaluating guile expression: ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> Unbound variable: package-names*

​
For completeness, I also tried a few other commands, like guix-installed-packages​ and guix-profiles-show​. These each have subtly different errors, but none of them remotely work.

Those of us who use Emacs and have some experience with elisp and Guile should consider swarming on this package to get it working, since it is a touted feature with Guix in the name, so people try when they're giving Guix a shot. A working Emacs integration would be something I'd use every day and a great showcase for what Guix can do when integrated into hacking workflows.

If that's proves not to be feasible, we might want to consider deprecating the package, removing it from Guix and Melpa. Its protracted state of disrepair and uselessness (it hasn't worked since I started using Guix in ~2018) may be giving people the impression that Guix is not well maintained. This should be a last resort, as getting the package working would be dramatically preferable, but there are stakes here in terms of cost to Guix reputation that imo cannot be ignored.

Cheers,
Ryan