Skip to content

Instantly share code, notes, and snippets.

@glagola
Created August 8, 2013 14:16
Show Gist options
  • Save glagola/6184958 to your computer and use it in GitHub Desktop.
Save glagola/6184958 to your computer and use it in GitHub Desktop.
.bashrc
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
alias l='ls -l'
alias ll='ls -l'
alias la='ll -a'
alias tailf='tail -f'
alias grep='grep -iRHn --color=auto'
alias truecrypt='truecrypt -t -k "" --protect-hidden=no --fs-options=users'
alias poweroff='sudo poweroff'
alias reboot='sudo reboot'
export EDITOR="vim"
complete -cf sudo
############################## Bash prompt #######################################
function datetime {
date +\[%R:%S\ \|\ %A\ \|\ %d.%m.%y\]
}
find_git_branch() {
# Based on: http://stackoverflow.com/a/13003854/170413
local branch=""
if branch=$(git rev-parse --abbrev-ref HEAD 2> /dev/null); then
if [[ "$branch" == "HEAD" ]]; then
branch='detached*'
fi
fi
echo $branch;
}
find_git_dirty() {
local status=$(git status --porcelain 2> /dev/null)
if [[ -n "$status" ]]; then
echo '*'
fi
}
gitstatus() {
local branch=$(find_git_branch)
local status=$(find_git_dirty)
if [ -n "$branch" ]; then
echo -e "("$txtylw$branch$txtrst$bldred$txtblink$status$txtrst")"
fi
}
scr() {
# deps: imagemagick xorg-xwininfo
local suffix=`date +%R_%d.%m.%y`
local file=$HOME"/screenshot_"$suffix".jpg"
import -window `xwininfo |grep 'Window id:' - |cut -d" " -f5` `echo $file`
chromium $file
}
# Regular
txtblk='\e[0;30m' # Black
txtred='\e[0;31m' # Red
txtgrn='\e[0;32m' # Green
txtylw='\e[0;33m' # Yellow
txtblu='\e[0;34m' # Blue
txtpur='\e[0;35m' # Purple
txtcyn='\e[0;36m' # Cyan
txtwht='\e[0;37m' # White
# Bold
bldblk='\e[1;30m' # Black
bldred='\e[1;31m' # Red
bldgrn='\e[1;32m' # Green
bldylw='\e[1;33m' # Yellow
bldblu='\e[1;34m' # Blue
bldpur='\e[1;35m' # Purple
bldcyn='\e[1;36m' # Cyan
bldwht='\e[1;37m' # White
# Underline
unkblk='\e[4;30m' # Black
undred='\e[4;31m' # Red
undgrn='\e[4;32m' # Green
undylw='\e[4;33m' # Yellow
undblu='\e[4;34m' # Blue
undpur='\e[4;35m' # Purple
undcyn='\e[4;36m' # Cyan
undwht='\e[4;37m' # White
# Background
bakblk='\e[40m' # Black
bakred='\e[41m' # Red
bakgrn='\e[42m' # Green
bakylw='\e[43m' # Yellow
bakblu='\e[44m' # Blue
bakpur='\e[45m' # Purple
bakcyn='\e[46m' # Cyan
bakwht='\e[47m' # White
txtrst='\e[0m' # Text Reset
txtblink='\e[5m' # Text Blink
txtinv='\e[27m' # Text with inversed fg and bg
NL="\n"
export -f datetime gitstatus
PS1=$NL$txtblk$bakwht" \$(datetime) "$txtrst$NL$bldgrn$USER$txtrst\ \@\ $(hostname -s)" \$(gitstatus) "$txtgrn"\w"$txtrst$NL"$ "
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment