56 lines
1.6 KiB
Bash
56 lines
1.6 KiB
Bash
#!/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) "
|