Subject: Re: bug#20255: 'search-paths' should respect both user and system profile.

From: [email-masked] (Ludovic Courtès)
Date: Sat, 04 Apr 2015 23:04:46 +0200

宋文武 <[email-masked]> skribis:

> Currently, search-paths built only from packages in user's profile.
> As reported by Andy Wingo in #guix, when I have:
>   perl installed into system profile
>   perl-xml-parser installed into user profile
>   
> guix package --search-paths won't give a hint about PERL5LIB,
> so it's very likely end up with a broken XML::Parser.

Rather it ends up with no XML::Parser, no?

That said, I’m not sure how this could be improved.  We could hard-code
lookup in /run/current-system/profile/.  OTOH that’s not different from
installing perl in one profile, and perl-xml-parser in another
(arbitrary) profile, which ‘guix package’ cannot be aware of.

WDYT?

> Another interesting fact is that we have both guile and guix in
> system profile, but the guix modules isn't work out-of-the-box
> on GuixSD.

(But guix.el *does* work out of the box.)

For a start, what about augmenting /etc/profile:

diff --git a/gnu/system.scm b/gnu/system.scm
index 0d510b6..bcc4919 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -447,6 +447,8 @@ export PATH=$HOME/.guix-profile/bin:/run/current-system/profile/bin
 export PATH=/run/setuid-programs:/run/current-system/profile/sbin:$PATH
 export MANPATH=$HOME/.guix-profile/share/man:/run/current-system/profile/share/man
 export INFOPATH=$HOME/.guix-profile/share/info:/run/current-system/profile/share/info
+export GUILE_LOAD_PATH=$HOME/share/guile/site/2.0:/run/current-system/profile/share/guile/site/2.0
+export GUILE_LOAD_COMPILED_PATH=$HOME/share/guile/site/2.0:/run/current-system/profile/share/guile/site/2.0
 
 export XDG_DATA_DIRS=$HOME/.guix-profile/share:/run/current-system/profile/share
 export XDG_CONFIG_DIRS=$HOME/.guix-profile/etc/xdg:/run/current-system/profile/etc/xdg

Thanks,
Ludo’.