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. > >
