# user profile ## .bashrc ```cat .bashrc # # ~/.bashrc # HISTIGNORE="ls:cd:pwd" export NMON=cd # If not running interactively, don't do anything [[ $- != *i* ]] && return alias ls='ls --color=auto' alias l='ls -lha --color=auto' alias dmesg='dmesg -e' alias lsuuid='lsblk -o +uuid,name' alias scrubstatus='for part in $(mount | grep btrfs | cut -d " " -f 3); do echo -ne "$part:\t\t"; sudo btrfs scrub status "$part" | grep "Error"; done' #PS1='[\A \u@\h \W]\$ ' # get current branch in git repo function parse_git_branch() { BRANCH=`git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'` if [ ! "${BRANCH}" == "" ] then STAT=`parse_git_dirty` echo "[${BRANCH}${STAT}]" else echo "" fi } # get current status of git repo function parse_git_dirty { status=`git status 2>&1 | tee` dirty=`echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?"` untracked=`echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?"` ahead=`echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?"` newfile=`echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?"` renamed=`echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?"` deleted=`echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?"` bits='' if [ "${renamed}" == "0" ]; then bits=">${bits}" fi if [ "${ahead}" == "0" ]; then bits="*${bits}" fi if [ "${newfile}" == "0" ]; then bits="+${bits}" fi if [ "${untracked}" == "0" ]; then bits="?${bits}" fi if [ "${deleted}" == "0" ]; then bits="x${bits}" fi if [ "${dirty}" == "0" ]; then bits="!${bits}" fi if [ ! "${bits}" == "" ]; then echo " ${bits}" else echo "" fi } function Color() { echo "\[$(tput setaf $1)\]" } function ResetColor() { echo "\[$(tput sgr0)\]" } # now you can add it to your prompt like this: # function which configures the prompet... function BashPrompt { local last_status=$? local reset=$(ResetColor) local failure="✘" local success="✔" if [[ "$last_status" != "0" ]]; then last_status="$(Color 5)$failure$reset" else last_status="$(Color 2)$success$reset" fi # ...some other things like hostname, current git branch etc echo "$last_status" } export PS1="`BashPrompt` [\A|\[\e[1;36m\]\u\[\e[0m\]@\h \W]\`parse_git_branch\`\\$ "