# (use-modules (gnu)) ice-9/boot-9.scm: In procedure raise-exception: no code for module (gnu)

**URL:** <https://forum.systemcrafters.net/t/use-modules-gnu-ice-9-boot-9-scm-in-procedure-raise-exception-no-code-for-module-gnu/1713>\
**Category:** Guix\
**Tags:** guile, emacs, guix\
**Created:** [July 11, 2025, 3:01am UTC](https://forum.systemcrafters.net/t/use-modules-gnu-ice-9-boot-9-scm-in-procedure-raise-exception-no-code-for-module-gnu/1713 "2025-07-11T03:01:47Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![drewverlee](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/drewverlee/32/912_2.png) [@drewverlee](https://forum.systemcrafters.net/u/drewverlee)\
**Post date:** [July 11, 2025, 3:01am UTC](https://forum.systemcrafters.net/t/use-modules-gnu-ice-9-boot-9-scm-in-procedure-raise-exception-no-code-for-module-gnu/1713/1 "2025-07-11T03:01:47Z")

</div>

[edit] i fixed the issue by installing guile with guix instead of while my foreign dustro.

Og post:

```auto
(use-modules (gnu))

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
no code for module (gnu)

```

Where is the guile `gnu` module given I installed guix via the [install script](https://guix.gnu.org/manual/en/html_node/Installation.html)?

The error you see in the title and post comes when I eval via emacs, I assume what I need to do is tell a guile path about the guix guile modules, which is why I’m asking where they are.

How do I tell the GUILE repl about it? Via an env? Like GUILE\_LOAD\_PATH or GUILE\_LOAD\_COMPILED\_PATH?

Here is what those are set to:

```auto
GUILE_LOAD_COMPILED_PATH=/home/drewverlee/.config/guix/current/lib/guile/3.0/site-ccache
GUILE_LOAD_PATH=/home/drewverlee/.config/guix/current/share/guile/site/3.

```

Other information. My %load-path:

```auto
scheme@(emacs-guix)> %load-path
$15 = ("/home/drewverlee/emacs/spacemacs/elpa/29.2/develop/guix-20250525.1711/scheme" "/home/drewverlee/.config/guix/current/share/guile/site/3.0" "/home/drewverlee/emacs/spacemacs/elpa/29.2/develop/geiser-guile-20240920.35/src" "$HOME/.config/guix/current/share/guile/site/3.0" "$GUILE_LOAD_PATH" "/usr/share/guile/3.0" "/usr/share/guile/site/3.0" "/usr/share/guile/site" "/usr/share/guile")

```

Here is my ,import:

```auto
,import
(guile)
(guix ui)
(guix packages)
(emacs-guix commands)
(emacs-guix licenses)
(emacs-guix packages)
(emacs-guix generations)
(emacs-guix system-generations)
(emacs-guix system)
(emacs-guix services)
(emacs-guix store-items)
(emacs-guix actions)
(emacs-guix graph)
(emacs-guix hash)
(emacs-guix lint)
(emacs-guix pack)
(emacs-guix profiles)
(emacs-guix refresh)
(emacs-guix emacs)
(emacs-guix utils)
(guix packages)
(emacs-guix commands)
(emacs-guix licenses)
(emacs-guix packages)
(emacs-guix generations)
(emacs-guix system-generations)
(emacs-guix system)
(emacs-guix services)
(emacs-guix store-items)
(emacs-guix actions)
(emacs-guix graph)
(emacs-guix hash)
(emacs-guix lint)
(emacs-guix pack)
(emacs-guix profiles)
(emacs-guix refresh)
(emacs-guix emacs)
(emacs-guix utils)
(value-history)

```

A cool video on load-path: [https://www.youtube.com/watch?v=kPnn22aC5eQ](https://www.youtube.com/watch?v=kPnn22aC5eQ)

Thanks!

[EDIT]

SO I suspect they are $HOME/.config/guix/current/share/guile/site/3.0 given that has a /gnu.

But that’s confusing because that’s on the load-path. already…

---

<div class="post-metadata">

**Author:** ![williamspete001](https://avatars.discourse-cdn.com/v4/letter/w/977dab/32.png) [@williamspete001](https://forum.systemcrafters.net/u/williamspete001)\
**Post date:** [April 5, 2026, 5:19pm UTC](https://forum.systemcrafters.net/t/use-modules-gnu-ice-9-boot-9-scm-in-procedure-raise-exception-no-code-for-module-gnu/1713/2 "2026-04-05T17:19:41Z")

</div>

I’ve had similar issues (missing modules, undefined variables, etc.). Manual entry for this method of installation don’t really make this stuff clear enough, I suppose.

Anyway, just another reference on this that I wish I would have seen earlier: [guix/emacs-guix: IMPORTANT NOTE for non-Guix-System users](https://codeberg.org/guix/emacs-guix#headline-6)

Tl;dr: the package authors say to install both `guile` and `guix` in the current profile and then source them in the following order:

```bash
source "$HOME/.guix-profile/etc/profile"
source "$HOME/.config/guix/current/etc/profile"

```

I am not an expert so I don’t know exactly how particular this is to a specific method (e.g. can it be done in a manifest or in guix-home?).

Hopefully sometime I’ll find a good resource (and time) to actually learn these deep enough that I will be able to reason about that properly.
