Subject: bug#37399: Guix subcommands from channels not found

From: Julien Lepiller <[email-masked]>
Date: Fri, 13 Sep 2019 13:57:08 +0200

Hi guix. While working on my guix-home-manager experiment, I tried to create a "guix home" subcommand in my channel, by creating the (guix scripts home) module.

However, after pulling the right branch, with this in my channels.scm:

(channel
  (name 'home)
  (url "https://framagit.org/tyreunom/guix-home-manager.git")
  (branch "subcommand"))

I get "guix: home: command not found".

Guix describes agrees that I have installed the right branch, and from guix repl, I can run:

,m (guix ui)
(run-guix-command 'home)

And it prints the test message.

From stracing the guix home invocation, I found out that guix was looking for the module only inside guix-module-union and my guix profile, but not inside "current". So either guix-module-union should be extended to contain channel code, or the load path modified to load a bigger union or multiple directories.

For now, setting GUILE_LOAD_PATH to load from "current" works and I can run guix home. I think it should work by default though.