122 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
# .rc
 | 
						|
# vim: ft=zsh
 | 
						|
# Generic interactive shell setup
 | 
						|
# Eryn Wells <eryn@erynwells.me>
 | 
						|
 | 
						|
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
 |