# .rc # vim: ft=zsh # Generic interactive shell setup # Eryn Wells print_heading -l 1 'Initializing interactive shell' print_info -l 2 'Creating aliases' alias j='jobs' alias h='history' alias df='df -h' alias du='du -h' alias v='vim' alias e='emacs' binary_exists ledger && alias l='ledger' binary_exists gpg2 && alias gpg='gpg2' binary_exists keybase && alias keybase="keybase --gpg \"`which gpg2`\"" alias chux='chmod u+x' alias chuw='chmod u+w' alias chur='chmod u+r' alias cho="chown $USER" alias today='date +%Y-%m-%d' alias addkey="ssh-agent ~/.ssh/id_rsa" alias pprint="python -c 'import sys,pprint; pprint.pprint(eval(sys.stdin.read()))'" alias pprint-json="python -c 'import sys,json;print json.dumps(json.load(sys.stdin), indent=2)'" # # Git # function g { if [[ $# -gt 0 ]]; then git $@ else git status --short --branch fi return $? } function vi { if which nvim 1>/dev/null 2>&1; then command nvim $@ elif which vim 1>/dev/null 2>&1; then command vim $@ elif which vi 1>/dev/null 2>&1; then command vi $@ fi } alias gp='g p origin $gitbranch' alias gpf='g p -f origin $gitbranch' # # Setup # function configure_ls { local has_gnu_ls local ls_options if [[ ! -e "$1" ]]; then return fi if $1 --version 2>&1 | grep GNU 1>/dev/null; then has_gnu_ls=1 ls_options='--color=auto' else has_gnu_ls=0 ls_options='-G' fi print_info_sub -l 3 "Setting up ls: $1" alias ls="$1 $ls_options" alias la="$1 -A $ls_options" alias ll="$1 -l $ls_options" alias l.="$1 -d $ls_options .*" local dircolors_bin=`whence -p dircolors || whence -p gdircolors` if [[ $has_gnu_ls -eq 1 && -n "$dircolors_bin" ]]; then if [[ -e "$HOME/.dircolors/$SYS.cfg" ]]; then dircolors="$HOME/.dircolors/$SYS.cfg" else dircolors="$HOME/.dircolors/default.cfg" fi print_info_sub -l 3 "Setting up dircolors: `basename $dircolors`" eval `$dircolors_bin $dircolors` fi } # NetHack options # use color in the terminal binary_exists nethack && export NETHACKOPTIONS="color" # Default ledger file [[ -e "$HOME/Documents/Financial/personal.ledger" ]] && \ LEDGER_FILE=$HOME/Documents/Financial/personal.ledger if [[ -e "$HOME/.rc.$SYS" ]]; then print_info -l 2 "Sourcing $SYS interactive shell setup" source "$HOME/.rc.$SYS" fi # Set up ls if it wasn't already done. if ! alias ls 2>&1 1>/dev/null; then configure_ls `which ls` fi if [[ -e "$HOME/.rc.local" ]]; then print_info -l 2 'Sourcing local interactive shell setup' source "$HOME/.rc.local" fi