Subject: Re: [bug#77525] [PATCH v4 2/6] system: /etc/profile: Rearrange to avoid search path duplication.

From: 宋文武 <[email-masked]>
Date: Tue, 15 Apr 2025 22:05:06 +0800

Ludovic Courtès <[email-masked]> writes:

> [...]
>
> The last item does not say the whole story:
>
>> +++ b/gnu/system/shadow.scm
>> @@ -179,16 +179,6 @@ (define %default-bash-profile
>>  
>>  # Honor per-interactive-shell startup file
>>  if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
>> -
>> -# Merge search-paths from multiple profiles, the order matters.
>> -eval \"$(guix package --search-paths \\
>> --p $HOME/.config/guix/current \\
>> --p $HOME/.guix-home/profile \\
>> --p $HOME/.guix-profile \\
>> --p /run/current-system/profile)\"
>> -
>> -# Prepend setuid programs.
>> -export PATH=/run/setuid-programs:$PATH
>>  "))
>
> I am the one who suggested to not invoke ‘guix package’ from shell
> startup files:
>
>   https://issues.guix.gnu.org/77035#8-lineno17
>
> However, I hadn’t realized that this had previously been introduced by
> 宋文武 in commit 40310efde9b4a4f2cf98081d6cd10f843685ebb6.
>
> Since this patch essentially reverts this commit, could you share your
> thoughts on this, 宋文武?

Hi, Sorry for that, it seems I had leave it partly commited in, without
a news entry and documentation.  The change about
/etc/skel/.bash_profile in commit 40310e is to provide a sensible
default to merge multiple profiles, which will fix
<https://issues.guix.gnu.org/20255>.  Users can easily change his own
~/.bash_profile to not invoke 'guix package', to avoid merge multiple
profiles.

Now I think it's better to remove it as the patch did, so we default to
not merge search paths from multiple profiles, and document how to
custom your ~/.bash_profile with 'guix package --search-paths` to merge
them.  Also mention the drawback when you choose to merge profiles for
search paths, mainly ABI incompatible problems from plugins (GIO
modules, Qt, etc.).

Thanks.