Subject: bug#58345: closed (Re: [bug#58345] [PATCH 3/3] guix-install.sh: Add Bash prompt customization option.)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 07 Oct 2022 12:30:02 +0000

Your bug report

#58345: [PATCH 0/3] Customize PS1 on foreign distributions

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
58345: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=58345
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#58345] [PATCH 3/3] guix-install.sh: Add Bash prompt customization option.
From: Maxim Cournoyer <[email-masked]>
To: zimoun <[email-masked]>
Cc: [email-masked]
Date: Fri, 07 Oct 2022 08:28:56 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

zimoun <[email-masked]> writes:

> Hi Maxim,
>
> On ven., 07 oct. 2022 at 01:32, Maxim Cournoyer <[email-masked]> wrote:
>> * etc/guix-install.sh (sys_customize_bashrc): New function.
>> (main): Use it.
>
> Nice idea!
>
>> +sys_customize_bashrc()
>> +{
>> +    prompt_yes_no "Customize users Bash shell prompt for Guix?" || return
>> +    for bashrc in /home/*/.bashrc /root/.bashrc; do
>> +        test -f "$bashrc" || continue
>> +        grep -Fq '$GUIX_ENVIRONMENT' "$bashrc" && continue
>> +        cp "${bashrc}" "${bashrc}.bak"
>> +        echo '
>
> Maybe comment, something like:
>
> # Automatically added by Guix install script
>> +if [ -n "$GUIX_ENVIRONMENT" ]; then
>> +    if [[ $PS1 =~ (.*)"\\$" ]]; then
>> +        PS1="${BASH_REMATCH[1]} [env]\\\$ "
>> +    fi
>> +fi
>> +' >> "$bashrc"
>> +    done
>> +    _msg "${PAS}Bash shell prompt successfully customized for Guix"
>> +}

Good idea!  Applied, like:

@@ -575,6 +575,7 @@ sys_customize_bashrc()
         grep -Fq '$GUIX_ENVIRONMENT' "$bashrc" && continue
         cp "${bashrc}" "${bashrc}.bak"
         echo '
+# Automatically added by the Guix install script.
 if [ -n "$GUIX_ENVIRONMENT" ]; then
     if [[ $PS1 =~ (.*)"\\$" ]]; then
         PS1="${BASH_REMATCH[1]} [env]\\\$ "

> LGTM!

Alright, the series have been pushed to master, and the script available
at https://guix.gnu.org/install.sh should soon reflect the changes.

Thanks for reviewing!

-- 
Maxim

Subject: [PATCH 0/3] Customize PS1 on foreign distributions
From: Maxim Cournoyer <[email-masked]>
To: [email-masked]
Cc: Maxim Cournoyer <[email-masked]>
Date: Fri, 7 Oct 2022 01:27:38 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi!

The following fixes a usability issue, which is that users entering 'guix
shell' or 'guix environment' would not have any visual feedback in the prompt
about where they are.  I've tested it on three different foreign
distributions, and it worked well on all of them.

Thanks,

Maxim Cournoyer (3):
  guix-install.sh: Improve prompt_yes_no procedure.
  guix-install.sh: Introduce 'die' utility function.
  guix-install.sh: Add Bash prompt customization option.

 etc/guix-install.sh | 69 +++++++++++++++++++++++++++++++--------------
 1 file changed, 48 insertions(+), 21 deletions(-)

-- 
2.37.3