dotfiles_bash/bash_prompt.sh
2026-05-13 06:27:02 +00:00

30 lines
968 B
Bash

set_prompt() {
local EXIT_STATUS="$?"
local COLOR_RESET='\[\033[0m\]'
# User settings
if (( EUID == 0 )); then
local COLOR_USER='\[\033[38;2;191;29;60m\]' # Deep pink / crimson (root)
local PROMPT_SYMBOL='#'
else
local COLOR_USER='\[\033[38;2;44;162;221m\]' # Azure blue (user)
local PROMPT_SYMBOL='$'
fi
# Host and path
local COLOR_HOST='\[\033[38;2;44;180;70m\]' # Emerald green
local COLOR_PATH='\[\033[38;2;72;72;72m\]' # Dark gray / charcoal
# Dynamic symbol color
if (( EXIT_STATUS != 0 )); then
local COLOR_SYMBOL='\[\033[38;2;255;50;50m\]' # Bright red (error)
else
local COLOR_SYMBOL='\[\033[38;2;67;91;18m\]' # Olive green (success)
fi
# Final prompt assembly
PS1="${COLOR_USER}\u${COLOR_RESET}@${COLOR_HOST}\h${COLOR_RESET}:${COLOR_PATH}\w${COLOR_RESET}${COLOR_SYMBOL}${PROMPT_SYMBOL}${COLOR_RESET} "
}
PROMPT_COMMAND=set_prompt