dotfiles/rc
Eryn Wells 9ea891311c Update rc init scripts
- 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)
2013-09-04 20:26:49 -07:00

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