Hi, csanchez...@gmail.com (Carlos Sánchez de La Lama) skribis:
> Alex Kost <alez...@gmail.com> writes: [...] >>> what about something like: >>> >>> - /etc/profile >>> # [...] >>> GUIX_PROFILES="/run/current-system/profile:$HOME/.guix-profile" >>> . /run/current-system/profile/etc/profile >>> # [...] >>> . "$HOME/.guix-profile/etc/profile" >>> # [...] >>> >>> - /run/current-system/profile/etc/profile >>> profiles="${GUIX_PROFILES:=/gnu/store/<hashA>-profile}" >>> export PATH="${profiles//:/\/bin}/bin ${profiles//:/\/sbin}/sbin" >>> # [...] >>> >>> >>> - $HOME/.guix-profile/etc/profile >>> profiles="${GUIX_PROFILES:=/gnu/store/<hashB>-profile}" >>> export ACLOCAL_PATH="${profiles//:/\/share/aclocal}/share/aclocal" >>> # [...] >>> >>> That is, each profile adds all its search paths to all the profile roots >>> passed in the colon separated variable GUIX_PROFILES. If GUIX_PROFILES >>> is empty, it adds the search paths inside its own directory only (as >>> until now). >> >> I think it was mentioned somewhere in the bug discussion: this will not >> work for some things. For example, if a user has 'guile' in a system >> profile, and several guile packages (but not 'guile' itself) in >> ~/.guix-profile, then GUILE_LOAD_PATH will include >> "<system-profile>/share/guile/site/2.0" but not >> "<user-profile>/share/guile/site/2.0". That's why combining profiles >> inside "guix package --search-paths" command looks like the only >> solution. > > It will actually solve it, that is the case I was trying to fix in > fact. The code I show will include /share/guile/site/2.0 prefixed > by every root in the colon-separated list GUIX_PROFILES (note the > difference with current code with has GUIX_PROFILE, singular). If > GUIX_PROFILES is (as in the example): > > GUIX_PROFILES="/run/current-system/profile:$HOME/.guix-profile" > > And guile is in the system profile, the line > > export > GUILE_LOAD_PATH="${profiles//://share/guile/site/2.0:}/share/guile/site/2.0" > > will produce: > > export > GUILE_LOAD_PATH=/run/current-system/profile/share/guile/site/2.0:$HOME/.guix-profile/share/guile/site/2.0 Unless I’m mistaken, I don’t think this would work. In the example Alex gave, none of the two profiles specifies GUILE_LOAD_PATH if taken individually. This example is also in the manual to illustrate the use of multiple -p flags with --search-paths (info "(guix) Invoking guix package"). Thoughts? Ludo’.