Subject: [PATCH 3/3] guix-install.sh: Add Bash prompt customization option.

From: Maxim Cournoyer <[email-masked]>
Date: Fri, 7 Oct 2022 01:32:00 -0400

* etc/guix-install.sh (sys_customize_bashrc): New function.
(main): Use it.
---
 etc/guix-install.sh | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/etc/guix-install.sh b/etc/guix-install.sh
index 6bf70b7941..2b304d1bdc 100755
--- a/etc/guix-install.sh
+++ b/etc/guix-install.sh
@@ -566,6 +566,23 @@ sys_create_shell_completion()
         _msg "${PAS}installed shell completion"
 }
 
+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 '
+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"
+}
 
 welcome()
 {
@@ -635,6 +652,7 @@ main()
     sys_authorize_build_farms
     sys_create_init_profile
     sys_create_shell_completion
+    sys_customize_bashrc
 
     _msg "${INF}cleaning up ${tmp_path}"
     rm -r "${tmp_path}"
-- 
2.37.3