GNU/GUIX fails to locate custom modules specified in a manifest

318 Views Asked by At

I'm trying run guix package install for following manifest:

(specifications->manifest
'("noguix-hugo" ;; A CUSTOM MODULE implemented in /module/root-1/site-lisp/nonguix-hugo.scm
  "go"))

The custom module in the manifest is declared as follows:

(define-module (nonguix-hugo)
  ;; implementation detail
  ;; ....
)
 

And the installation command looks like:

guix package --load-path="/module/root1/site-lisp"   \
             --load-path="/module/root-2/site-lisp"  \
             --manifest="/path/to/manifest.scm"      \
             --profile="/path/to/profile"

The command fails with error message:

guix package: error: noguix-hugo: unknown package

However, building the noguix-hugo using guix build command works just fine

guix build   --load-path="/module/root1/site-lisp"   \
             --load-path="/module/root-2/site-lisp"  \
             nonguix-package

# The command builds and outputs the module location as expected 
# /gnu/store/7js349wb17371225njzll9gma8kmwf-nonguix-hugo-1.0

My question:

Why does Guix succeed to locate the module when building it, but can't seem to locate it when specified in a manifest file.

I even tried adding a (use-modules (nonguix-hugo)) to the manifest and setting GUIX_PACKAGE_PATH as specified in[1], yet the install still fails.

References

[1] https://guix.gnu.org/manual/en/html_node/Package-Modules.html

1

There are 1 best solutions below

0
On

Okay, turns out this was a typo in the manifest:

(specifications->manifest
'("noguix-hugo"
  "go"))

which should be corrected to:

(specifications->manifest
  '("nonguix-hugo" ;; <= this line
    "go"))

Sheesh!....