#!/usr/bin/env bash
# ~/.bashrc
# Made on kisho, fixed for use on SDF
# xmpp:
[email protected]
# mailto:
[email protected]
# Program envs-------------------------------------------------------- #
if [[ -n ${SSH_CLIENT} ]]
then BROWSER="w3m"
elif command -v qutebrowser >/dev/null 2>&1
then BROWSER="qutebrowser"
else BROWSER="xlinks2"
fi
export BROWSER
# If not running interactively, stop here.---------------------------- #
case $- in
*i*) ;;
*) return;;
esac
# Some globbing options----------------------------------------------- #
shopt -s extglob # Extended globs are useful
shopt -s failglob # Don't default to literal * if glob fails.
shopt -s dotglob # Dotfiles are also human.
# Prompts------------------------------------------------------------- #
c=$(hostname | md5sum | tr 'a-z' '0-9' | cut -b 1)
export PS1="\[\e[m\]\[\e[1;3${c}m\] \h\[\e[1;34m\] \w\[\e[0;${ec}m\] \$ "
export PS2="^ "
export PS4='$LINENO + '
export PROMPT_DIRTRIM=4
export PROMPT_COMMAND=(
'ec=$(( $? != 0 ? 31 : 29 ))'
'export PS1="${PS1%%\$*}\[\e[0;${ec}m\]\$\[\e[m\] "'
)
# Colors-------------------------------------------------------------- #
alias tree="tree -C"
if command -v gls >/dev/null 2>&1
then alias gls="command gls --color=auto"
else alias gls="command ls --color=auto"
fi
alias dir="dir --color=auto"
alias vdir="vdir --color=auto"
alias grep="grep --color=auto"
alias fgrep="fgrep --color=auto"
alias cgrep="grep --color=always"
alias egrep="egrep --color=auto"
alias diff="diff --color"
alias xzdiff="xzdiff --color"
alias bzdiff="bzdiff --color"
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
# History file-------------------------------------------------------- #
export HISTFILE="${XDG_STATE_HOME:-$HOME/.local/state}/bash_history"
export HISTSIZE="-1"
export HISTCONTROL="ignoreboth"
shopt -s histappend
shopt -s histverify
shopt -s checkwinsize
# man(1) settings----------------------------------------------------- #
alias man='env MANWIDTH=$((COLUMNS > 80 ? 80 : COLUMNS)) man'
alias less="env \
LESS_TERMCAP_md=$'\e[1;33m' \
LESS_TERMCAP_me=$'\e[0m' \
LESS_TERMCAP_us=$'\e[4;38;5;14m' \
LESS_TERMCAP_ue=$'\e[0m' \
less"
# Query aliases------------------------------------------------------- #
alias q="find . -maxdepth 1 | grep -i"
alias Q="find . -maxdepth 1 | grep"
alias h='< $HISTFILE sort | uniq | grep -i'
alias H='< $HISTFILE sort | uniq | grep'
alias g="grep -i"
alias G="grep"
# Other aliases------------------------------------------------------- #
alias qq="exit"
if command -v exa >/dev/null 2>&1
then alias ls='exa -h --group-directories-first --icons --time-style=long-iso'
else alias ls="gls --human-readable --group-directories-first"
fi
alias ll="ls -l"
alias la="ls -a"
alias mi="micro"
alias bo="bombadillo"
alias quicknote='${EDITOR} ${HOME}/documents/quicknote.md'
alias qn="quicknote"
alias nohistory='export HISTFILE=/dev/null'
# Some help for fancy stow packages------------------------------------#
STOW_BASH_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/bash";
if [ -d "${STOW_BASH_DIR}" ]
then
for f in "${STOW_BASH_DIR}"/*.sh
do
[ -f "${f}" ] && . "${f}"
done
fi