Hello, I do not understand the behavior of `guix repl', so I hope someone will be able to advice on it. I have pulled custom channels, correctly as far as I can say:
~ $ which guix
/home/wolf/.config/guix/current/bin/guix
~ $ guix describe
Generation 123 Jul 10 2024 12:08:29 (current)
guix efce95e
repository URL: https://git.wolfsden.cz/.git/guix
branch: master
commit: efce95ec77afec0cfc797d4802e329fdb815f26e
wolfsden cf8ec30
repository URL: https://git.wolfsden.cz/.git/wolfsden
branch: master
commit: cf8ec30359010e9a6a0436f4e5eec51bc9c6edbc
nonguix 9fe6f07
repository URL: https://gitlab.com/nonguix/nonguix
branch: master
commit: 9fe6f0751bf5770ef4b2afa7bca0b7e51e1382fd
However when I start `guix repl' and try to use modules from those extra
channels, it does not work:
$ guix repl
Loading Guix REPL meta-commands...
Increasing build verbosity...
Disabling grafting...
GNU Guile 3.0.9
Copyright (C) 1995-2023 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guix-user)> ,use (nongnu packages mozilla)
While executing meta-command:
no code for module (nongnu packages mozilla)
When I explore the load path, I can see this:
scheme@(guix-user)> ,pp %load-path
$2 =
("/gnu/store/a8lqn15kzjh99ncms26qm5hw699i94v5-guix-module-union/share/guile/site/3.0"
"/gnu/store/1gd9nsy4cps8fnrd1avkc9l01l7ywiai-guile-3.0.9/share/guile/3.0"
"/gnu/store/1gd9nsy4cps8fnrd1avkc9l01l7ywiai-guile-3.0.9/share/guile/3.0"
"/gnu/store/1gd9nsy4cps8fnrd1avkc9l01l7ywiai-guile-3.0.9/share/guile/site/3.0"
"/gnu/store/1gd9nsy4cps8fnrd1avkc9l01l7ywiai-guile-3.0.9/share/guile/site"
"/gnu/store/1gd9nsy4cps8fnrd1avkc9l01l7ywiai-guile-3.0.9/share/guile"
"/home/wolf/.guix-home/profile/share/guile/site/3.0"
"/run/current-system/profile/share/guile/site/3.0")
What seems interesting here is that it contains ~/.guix-home path, but not
~/.config/guix/current. When I check the ~/.config/guix/current the channels
are there:
$ ls -1 ~/.config/guix/current/share/guile/site/3.0
COPYING
NEWS
README
README.org
gnu
gnu.scm
guix
guix.scm
news.txt
nongnu
nonguix
wolfsden
And when I manually add it to the load path, it starts to work:
scheme@(guix-user)> (add-to-load-path
"/home/wolf/.config/guix/current/share/guile/site/3.0")
scheme@(guix-user)> ,use (nongnu packages mozilla)
scheme@(guix-user)>
And I am not sure why that is the case. Usage for `guix repl' says "In the Guix
execution environment ...", so I would expect the channels to be available by
default.
I am pretty sure the pull itself is fine, since I can reconfigure successfully,
it is just the `guix repl's behavior I do not get.
Thanks in advance for any pointers,
Tomas Volf
--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.
signature.asc
Description: PGP signature
