#!/bin/bash # Customize the prompt POWERLINE_LOCATION=$(command -v powerline-go || command -v powerline) &>/dev/null POWERLINE=$(basename "$POWERLINE_LOCATION") if [ "${POWERLINE}" = "powerline-go" ]; then echo "Using $POWERLINE" function _update_ps1() { PS1=$($POWERLINE -jobs "$(jobs -p | wc -l)" -error $? -modules "ssh,host,wsl,user,cwd,direnv,venv,perms,git,jobs,exit,root" -modules-right "docker,docker-context,kube,terraform-workspace,termtitle" -newline) } if [ "$TERM" != "linux" ]; then PROMPT_COMMAND="$PROMPT_COMMAND; _update_ps1"; fi elif [ "${POWERLINE}" = "powerline" ]; then echo "Using $POWERLINE" # Run powerline daemon powerline-daemon -q # Cache powerline location # To locate this directory, run: pip show powerline-status export POWERLINE_LOCATION="/home/xavier/.local/lib/python3.10//site-packages/powerline" # Set up powerline environment export POWERLINE_CONFIG_COMMAND=powerline-config export POWERLINE_BASH_CONTINUATION=1 export POWERLINE_BASH_SELECT=1# Invoke binding script . "$POWERLINE_LOCATION/bindings/bash/powerline.sh" else if [ "$UID" -eq 0 ]; then export PS1='\[\e[01;31m\]\u@\h\[\e[01;34m\] \w \$\[\e[0m\] ' else export PS1='\[\e[01;32m\]\u@\h\[\e[01;34m\] \w \$\[\e[0m\] ' fi fi # Limit the path to 3 levels PROMPT_DIRTRIM=3 # Add a smiley at end of prompt showing last command status code #smiley() { # ret_val=$? # if [ "$ret_val" = "0" ] # then # echo -e "\e[01;32m:)\e[0m" # else # echo -e "\e[01;31m:(\e[0m" # fi #} #export PS1='\[\e[01;32m\]\u@\h\[\e[01;34m\] \w \$\[\e[0m\] '"\$(smiley) "