dotfiles/.bashrc

100 lines
4.4 KiB
Bash
Raw Normal View History

#--------------------------------------------------------------------------------
# Exit for non-interactive sessions
#--------------------------------------------------------------------------------
if [ -z "$PS1" ]; then
return
fi
#--------------------------------------------------------------------------------
2016-02-16 20:19:31 +00:00
#--------------------------------------------------------------------------------
# Function to prepend PATH only if it doesn't already exist
#--------------------------------------------------------------------------------
pathadd() {
if [ -d "$1" ] && [[ ":$PATH:" != *":$1:"* ]]; then
PATH="$1${PATH:+":$PATH"}"
fi
}
2016-02-16 20:19:31 +00:00
#--------------------------------------------------------------------------------
2016-02-18 08:03:43 +00:00
#--------------------------------------------------------------------------------
# Decrypt stored keys
#--------------------------------------------------------------------------------
getkey() {
KEYFILE=~/.keys/${1}
if [ -f ${KEYFILE} ]; then
if [ -x /usr/bin/security ]; then
PASS=$(/usr/bin/security find-internet-password -l ssh:scott@wallace.sh -gw)
else
read -sp "Password: " PASS
2016-02-18 08:43:13 +00:00
echo
fi
2016-02-18 08:03:43 +00:00
openssl rsautl -decrypt -inkey ~/.ssh/scott@wallace.sh -passin "pass:${PASS}" -in ${KEYFILE} 2>/dev/null
else
echo "No such key" >&2
fi
}
#--------------------------------------------------------------------------------
2014-11-11 21:13:52 +00:00
#--------------------------------------------------------------------------------
2014-11-11 21:01:06 +00:00
# The best editor
2014-11-11 21:13:52 +00:00
#--------------------------------------------------------------------------------
2016-08-30 14:31:47 +01:00
export EDITOR=vim
2016-10-05 14:30:59 +01:00
alias vi='vim'
2014-11-11 21:13:52 +00:00
#--------------------------------------------------------------------------------
2014-11-11 21:01:06 +00:00
#--------------------------------------------------------------------------------
# Make less use visual bell
#--------------------------------------------------------------------------------
export LESS="-qr"
#--------------------------------------------------------------------------------
2016-01-26 15:38:37 +00:00
#--------------------------------------------------------------------------------
# Default directories
#--------------------------------------------------------------------------------
mkdir -p ~/src ~/tmp ~/var/log
#--------------------------------------------------------------------------------
2014-11-11 21:13:52 +00:00
#--------------------------------------------------------------------------------
2014-11-11 21:01:06 +00:00
# Update the path with local overrides
2014-11-11 21:13:52 +00:00
#--------------------------------------------------------------------------------
pathadd /usr/local/sbin
pathadd /usr/local/bin
pathadd ~/bin
2014-11-11 21:13:52 +00:00
#--------------------------------------------------------------------------------
2014-11-11 21:01:06 +00:00
2014-11-11 21:13:52 +00:00
#--------------------------------------------------------------------------------
# A useful prompt
#--------------------------------------------------------------------------------
2019-01-16 11:52:40 +00:00
function __PROMPT_COMMAND() {
history -a
echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"
}
export PS1="[\u@\h \W \[\033[32m\]\$(git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ <\1>/')\[\033[00m\]]\\$ "
2019-01-16 11:52:40 +00:00
export PROMPT_COMMAND="${PROMPT_COMMAND:+"${PROMPT_COMMAND%%';__PROMPT_COMMAND'};"}__PROMPT_COMMAND"
2019-01-16 11:59:13 +00:00
export PROMPT_COMMAND="${PROMPT_COMMAND//;;/;}"
2014-11-11 21:13:52 +00:00
#--------------------------------------------------------------------------------
#--------------------------------------------------------------------------------
2016-07-16 16:46:14 +01:00
# Command alias functions
2014-11-11 21:13:52 +00:00
#--------------------------------------------------------------------------------
function datafart() { curl --data-binary @- datafart.com; } && export -f datafart
function space() { du -ahx --max-depth=1 | sort -h; } && export -f space
2016-07-19 14:16:51 +01:00
if ! alias ll >/dev/null 2>&1; then function ll() { ls -l ${@}; } && export -f ll; fi
[[ ! -x $(which psgrep 2>/dev/null) ]] && function psgrep() { ps -ef | grep ${@} | grep -v ${$}; } && export -f psgrep
2018-07-15 06:38:56 +01:00
[[ -x $(which glances 2>/dev/null) ]] && function top() { glances; } && export -f top
2017-08-05 16:34:49 +01:00
[[ -x $(which tree 2>/dev/null) ]] && alias tree="tree -AQh --du"
2014-11-11 21:01:06 +00:00
export GIT_SSH_COMMAND="$(which ssh) -o RemoteCommand=none"
#--------------------------------------------------------------------------------
#--------------------------------------------------------------------------------
# Include deployed bash config
#--------------------------------------------------------------------------------
2019-01-21 13:53:10 +00:00
for include in ~/.bashrc.d/*; do
source ${include}
done
#--------------------------------------------------------------------------------