setup-prompt() { local last_res=$? color=$PS1_color_green PS1="\w " if [[ -d .git ]]; then PS1+="$(command git branch --show-current) " fi if [[ -v SSH_CLIENT ]]; then PS1+="$PS1_hostname " fi if (( last_res )); then color=$PS1_color_red fi PS1+="\[$color\][$last_res]\[$PS1_color_reset\] $PS1_prompt_sym " } PS1_prompt_sym=λ PS1_hostname=${HOSTNAME-"$(hostname)"} PS1_color_red=$(tput setaf 1) PS1_color_green=$(tput setaf 2) PS1_color_reset=$(tput sgr0) PROMPT_COMMAND+=(setup-prompt) read -r month day < <(date "+%m %d") if (( 10#$month == 3 && 10#$day < 18 )); then if (( 17 - 10#$day == 0 )); then printf "Happy Saint Patrick's day!\n" else printf "Only %d days left until Saint Patrick's day!\n" "$(( 17 - 10#$day ))" fi PS1_prompt_sym=🍀 elif (( 10#$month == 10 )); then if (( 31 - 10#$day == 0 )); then printf 'Have a spooky halloween!\n' else printf 'Only %d days left until Halloween!\n' "$(( 31 - 10#$day ))" fi PS1_prompt_sym=🎃 elif (( 10#$month == 12 && 10#$day < 26 )); then if (( 25 - 10#$day == 0 )); then printf 'Merry Christmas!\n' else printf 'Only %d days left until Christmas!\n' "$(( 25 - 10#$day ))" fi PS1_prompt_sym=🌲 fi