Subject: emacs-guix: Requires GUILE_LOAD_(COMPILED_)PATH env vars (or "guile" package)

From: Ivan Vilata i Balaguer <[email-masked]>
Date: Tue, 23 Aug 2022 12:43:24 +0200

Hi!  I have `emacs-guix` in a separate Guix profile with all Emacs stuff,
running on a foreign distro.  I noticed that removing the `guile` package
(from all profiles) broke `emacs-guix` after a session restart, and that
restoring the `guile` package or just Guile's environment variables fixed the
issue:

```
$ nog  # a script of mine running a distro shell with no Guix variables
$ . ~/env/guix/ivan/emacs/etc/profile  # from profile with Emacs stuff
$ . ~/.config/guix/current/etc/profile
$ command -v guile || echo missing
missing
$ emacs

Running M-x guix then v yields this error:

Starting Guix REPL ... [5 times]
guix-geiser-eval: Error in evaluating guile expression: ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Unbound variable: %max-returned-list-size

$ realpath ~/env/guix/ivan/emacs
/gnu/store/ahq…-profile
$ export GUILE_LOAD_PATH=/gnu/store/ahq…-profile/share/guile/site/3.0
$ export GUILE_LOAD_COMPILED_PATH=/gnu/store/ahq…-profile/lib/guile/3.0/site-ccache:/gnu/store/ahq…-profile/share/guile/site/3.0
$ emacs

Running M-x guix works successfully.

$ exit
```

I'm no Guix packaging expert, but it looks like `emacs-guix` should either
have `guile` as propagated input, or somehow add `GUILE_LOAD_PATH` and
`GUILE_LOAD_COMPILED_PATH` to the profile's search paths.

Thank you very much!

-- 
Ivan Vilata i Balaguer -- https://elvil.net/