- Move system specific setup to rc.$SYS scripts - Write configure_ls function (based on previous anonymous function) that takes the full path to an ls binary - Create system specific script for FreeBSD (nothing in it yet)
		
			
				
	
	
		
			97 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
	
		
			2.2 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'
 | 
						|
 | 
						|
binary_exists ledger && alias l='ledger'
 | 
						|
 | 
						|
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)'"
 | 
						|
 | 
						|
function g
 | 
						|
{
 | 
						|
    if [[ $# -gt 0 ]]; then
 | 
						|
        git $@
 | 
						|
    else
 | 
						|
        git status --short --branch
 | 
						|
    fi
 | 
						|
    return $?
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
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 .*"
 | 
						|
 | 
						|
    if [[ $has_gnu_ls -eq 1 ]] && binary_exists dircolors; 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 $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 interactive shell setup for $SYS systems"
 | 
						|
    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
 |