# .rc # vim: ft=zsh # Generic interactive shell setup # Eryn Wells print_info_noisy 1 'Initializing interactive shell' print_info_sub_noisy 2 'Creating aliases' alias j='jobs' alias h='history' alias df='df -h' alias du='du -h' alias g='git' alias v='view' binary_exists ledger && alias l='ledger' alias cux='chmod u+x' alias cuw='chmod u+w' alias cur='chmod u+r' 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)'" print_info_sub_noisy 2 "Sourcing ${SYS}-specific settings" case $SYS in darwin) alias acls='command ls -le' # These things might have been installed by Homebrew binary_exists gdircolors && alias dircolors='gdircolors' binary_exists gfind && alias find='gfind' binary_exists gnuindent && alias indent='gnuindent' ;; linux) # iptables aliases alias iptls='sudo iptables --line-numbers -nv -L' alias ip6tls='sudo ip6tables --line-numbers -nv -L' alias rlx="xrdb $HOME/.Xdefaults" ;; *) print_error "What system %Bis%b this, anyway?" ;; esac function { local has_gnu_ls=1 local ls='ls' local ls_options='--color=auto' case $SYS in darwin) if binary_exists gls; then ls='gls' else has_gnu_ls=0 ls_options='-G' fi ;; linux) ;; *) has_gnu_ls=0 ;; esac print_info_sub_noisy 3 "Setting up ls: `which $ls`" alias ls="$ls $ls_options" alias la="$ls -A $ls_options" alias ll="$ls -l $ls_options" alias l.="$ls -d $ls_options .*" if [ $has_gnu_ls ]; then if [ -e $HOME/.dircolors/$SYS.cfg ]; then dircolors=$HOME/.dircolors/$SYS.cfg else dircolors=$HOME/.dircolors/default.cfg fi print_info_sub_noisy 3 "Setting up dircolors: `basename $dircolors`" eval `dircolors $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.local ]; then print_info_noisy 2 "Sourcing local settings for interactive shells" source $HOME/.rc.local fi