Dotfiles, utilities, and other apparatus.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

101 lines
2.6 KiB

# Path stuff. This accounts for, at least:
#
# - a custom Firefox install
# - some bin dirs in my homedir
# - golang
# - some Chef bullshit
# - ansible
#
# Beware that other modifications to path might be made in .zshrc or .bashrc
export GOPATH=~/gocode
export PATH=~/firefox:~/bin:/usr/local/bin:~/.local/bin/:$PATH:$GOPATH/bin:~/.chefdk/gem/ruby/2.3.0/bin
# Needed for ansible - wouldn't surprise me if this interfered with other
# things:
# export PYTHONPATH=~/code/ansible/lib
# Debian stuff:
export DEBEMAIL="bbearnes@gmail.com"
export DEBFULLNAME="Brennen Bearnes"
# Explicitly set default editor:
export EDITOR=`which vim`
# Configure less(1):
export LESS='-FiRSX'
# Configure fzf fuzzyfinder:
export FZF_CTRL_R_OPTS='-e' # exact match by default - see fzf(1)
# Aliases, various and sundry: {{{
alias ac='apt-cache'
alias agu='sudo apt-get update && sudo apt-get upgrade'
alias c="commandlog"
alias g='git'
alias gitsu='git submodule sync && git submodule update'
alias l='ls -CF'
alias la='ls -A'
alias lal='ls -Al'
alias lah='ls -Alh'
alias ll='ls -l'
alias ls='ls --color'
alias m='make'
alias s='sudo'
alias st='mr -m stat' # myrepo status, minimal output
alias v='vim'
alias vt='vim `todaydir`'
# How big is the terminal?
alias dim='echo $(tput cols)x$(tput lines)'
# vi life:
alias :e='vim'
alias :q='exit'
alias :wq='exit'
alias :r='cat'
# Navigation:
alias p='cd ~/p1k3'
alias ct='cd `todaydir`'
# Get a persistent directory history menu in fzf - originally written for dmenu
# and inspired by jholland at:
# http://hints.macworld.com/article.php?story=20050806202859392
# I get the feeling that there's probably a more idiomatic way to do what
# I want here, but for the moment it's nice. See: https://p1k3.com/2016/5/17/
alias h='cd $(tail -500 ~/.directory_history | sed "s/^:[^;]*;//" | tac | unsorted-unique | fzf-tmux)'
alias ack='ack-grep'
# }}}
# Functions: {{{
function parse_git_branch {
# Formerly:
# ref=$(git symbolic-ref HEAD 2> /dev/null) || return
# echo "("${ref#refs/heads/}") "
# Largely borrowed from:
# https://github.com/robacarp/config_files/commit/5d983240d509bf4f7815ed822c0e868ccce08a79
git_status=$(git status --porcelain -b 2> /dev/null) || return
echo $git_status | awk '
BEGIN {
status["untracked"] = 0
status["modifications"] = 0
status["unmerged"] = 0
}
$1 ~ /##/ {
split($2, branch_names, ".")
}
$1 ~ /\?\?/ { status["untracked"] ++ }
$1 ~ /M/ { status["modifications"] ++ }
$1 ~ /[DAU][DAU]/ { status["unmerged"] ++ }
END {
printf "(%s %i/%i) ", branch_names[1], status["modifications"], status["untracked"]
}
'
}
# }}}