Thomas,

Check out this link <https://afmoreno.srht.site/ways/guix-guile.html> where
I discuss my approach.

You then can have a manifest.scm that includes guile, emacs, emacs-geiser,
geiser-guile, and any other packages that you need.

Alternatively, with the above set up, you can fire a guile shell that
listens on a TCP port and can geiser-connect to it from a long-running
Emacs session. Ping me for more details if you need additional help.

Cheers! afm



On Wed, Jun 11, 2025 at 5:53 AM Tomas Volf <[email protected]> wrote:

> Hi,
>
> I am trying to use Geiser together with guix shell -C, however am not
> sure how to expose correct directories into the container.  I have put
> the following into my .dir-locals.el file:
>
> --8<---------------cut here---------------start------------->8---
> ((scheme-mode
>   .
>   ((geiser-guile-binary
>     . ("guix" "shell" "-CNm" "manifest.scm" "--" "guile")))))
> --8<---------------cut here---------------end--------------->8---
>
> This works, and I get a REPL up, however the Geiser is not correctly
> loaded with an error.  Looking into the *Geiser Messages* buffer, I see
> the following:
>
> --8<---------------cut here---------------start------------->8---
> INFO: RETORT: ((error (key . retort-syntax)) (output . "While executing
> meta-command:
> no code for module (geiser emacs)
> $4 = done") (debug))
> --8<---------------cut here---------------end--------------->8---
>
> My conclusion here is that the Geiser module is not available in the
> container.  However I did not figure out how to get it in there.  The
> best I have managed to do is to expose the whole store, as in:
>
> --8<---------------cut here---------------start------------->8---
> ((scheme-mode
>   .
>   ((geiser-guile-binary
>     . ("guix" "shell" "-CNm" "manifest.scm" "--expose=/gnu/store"
>        "--" "guile")))))
> --8<---------------cut here---------------end--------------->8---
>
> Is there any solution I am missing?  There is geiser-guile-scheme-dir
> variable present, but I am not sure how to use it when setting the local
> variables.
>
> Thanks,
> Tomas
>
> --
> There are only two hard things in Computer Science:
> cache invalidation, naming things and off-by-one errors.
>
>

Reply via email to