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
|