adding .emacs.d/bin to $PATH

This commit is contained in:
Andrew Davidson 2023-04-29 21:42:30 -07:00
parent 9b1e8e2eb6
commit 3e3a64c712
Signed by: amd
SSH key fingerprint: SHA256:wVzFOuz2n/yUVVBFkpZQ0AOX6guwdUUzSeKWr8aLUiU
2 changed files with 292 additions and 1 deletions

288
bash/#.bashrc# Normal file
View file

@ -0,0 +1,288 @@
### Andrew's .bashrc
# _ _
# ___ _ ____ _(_)_ __ ___ _ __ _ __ ___ ___ _ __ | |_
# / _ \ '_ \ \ / / | '__/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __|
# | __/ | | \ V /| | | | (_) | | | | | | | | | __/ | | | |_
# \___|_| |_|\_/ |_|_| \___/|_| |_|_| |_| |_|\___|_| |_|\__|
# Set some defaults.
export EDITOR="emacsclient -t"
export VISUAL="emacsclient -c -a emacs"
export ALTERNATE_EDITOR=""
export PATH=".:~/bin:~/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin"
export LSCOLORS="ExGxBxDxCxEgEdxbxgxcxd"
if [[-d
# checks (stolen from zshuery)
if [[ $(uname) = 'Linux' ]]; then
IS_LINUX=1
fi
if [[ $(uname) = 'Darwin' ]]; then
IS_MAC=1
fi
if [[ -x `which brew >/dev/null 2>&1` ]]; then
HAS_BREW=1
fi
if [[ -x `which apt-get >/dev/null 2>&1` ]]; then
sdfHAS_APT=1
fi
# _
# _ __ _ __ ___ _ __ ___ _ __ | |_
# | '_ \| '__/ _ \| '_ ` _ \| '_ \| __|
# | |_) | | | (_) | | | | | | |_) | |_
# | .__/|_| \___/|_| |_| |_| .__/ \__|
# |_| |_|
# define useful aliases for color codes
sh_norm="\[\033[0m\]"
sh_black="\[\033[0;30m\]"
sh_dark_gray="\[\033[1;30m\]"
sh_blue="\[\033[0;34m\]"
sh_light_blue="\[\033[1;34m\]"
sh_green="\[\033[0;32m\]"
sh_light_green="\[\033[1;32m\]"
sh_cyan="\[\033[0;36m\]"
sh_light_cyan="\[\033[1;36m\]"
sh_red="\[\033[0;31m\]"
sh_light_red="\[\033[1;31m\]"
sh_purple="\[\033[0;35m\]"
sh_light_purple="\[\033[1;35m\]"
sh_brown="\[\033[0;33m\]"
sh_yellow="\[\033[1;33m\]"
sh_light_gray="\[\033[0;37m\]"
sh_white="\[\033[1;37m\]"
function git_prompt {
PCHANGED=""
PAHEAD=""
PBEHIND=""
local FULL_BRANCH="$(git symbolic-ref -q HEAD 2>/dev/null || git name-rev --name-only --no-undefined --always HEAD 2>/dev/null)"
PBRANCH="$(echo $FULL_BRANCH | sed 's/refs\/heads\///')"
if [ -n $PBRANCH ]; then
echo -n "${PBRANCH} "
# Are there unstaged changes in the working directory
local CHANGED=$(git status --porcelain --ignore-submodule -unormal 2>/dev/null | wc -l)
if [ $CHANGED -gt 0 ]; then
PCHANGED="◊"
fi
# Are we behind the origin?
local NUM_BEHIND="$(git log --oneline ..@{u} 2>/dev/null | wc -l | tr -d ' ' )"
if [ "$NUM_BEHIND" -gt 0 ]; then
PBEHIND="↓"
fi
# Are we ahead of the origin?
local NUM_AHEAD="$(git log --oneline @{u}.. 2>/dev/null | wc -l | tr -d ' ')"
if [ "$NUM_AHEAD" -gt 0 ]; then
PAHEAD="↑"
fi
if [[ -n $PCHANGED || -n $PAHEAD || -n $PBEHIND ]]; then
echo -n "${PCHANGED}${PBEHIND}${PAHEAD}"
fi
fi
}
# Make a pretty prompt.
export PROMPT_COMMAND='history -a; if [ $? -ne 0 ];then ERROR_FLAG=1;else ERROR_FLAG=;fi;'
export PS1=${HOSTCOLOUR}${sh_light_gray}'\h'${sh_green}':\w'${sh_light_gray}' $(git_prompt)'${sh_light_gray}'${ERROR_FLAG:+'${sh_light_red}'}\$ '${sh_norm}
# New files and folders should not be world readable
umask 0027
# Borrow features from sensible.bash
# Trim long paths in prompt
PROMPT_DIRTRIM=2
# Update window size after every command
shopt -s checkwinsize
# _ _ _
# | |__ (_)___| |_ ___ _ __ _ _
# | '_ \| / __| __/ _ \| '__| | | |
# | | | | \__ \ || (_) | | | |_| |
# |_| |_|_|___/\__\___/|_| \__, |
# |___/
# Append history don't overwrite
shopt -s histappend
# Save multi-line commands as one line
shopt -s cmdhist
# Avoid duplicate entries
export HISTCONTROL="erasedups:ignoreboth"
# Use ISO8601 time format for history file.
export HISTTIMEFORMAT='%F %T '
# Big history file
HISTSIZE=500000
HISTFILESIZE=100000
# _ _
# __ _| (_) __ _ ___ ___ ___
# / _` | | |/ _` / __|/ _ \/ __|
# | (_| | | | (_| \__ \ __/\__ \
# \__,_|_|_|\__,_|___/\___||___/
# jump down the tree.
alias ..="cd .."
# empty the screen (or use C-l)
alias c="clear"
# why wouldn't you want human readable sizes?
alias df="df -h"
# get outta here!
alias e="exit"
# grep shortie
alias g="grep --color=auto -i "
# shorter ls
alias l="ls -G --color"
# list files with details
alias ll="ls -lh --color"
# list all files.
alias la="ls -alh --color"
# List directories.
alias ld="ls --color -Gd */"
# add some color to grep.
alias grep="grep --color=auto"
# make the whole directory tree if required and let us know about it.
alias mkdir="mkdir -p -v "
# don't ping forever.
#alias ping="ping -c5"
# refresh the shell customizations without opening a new one.
alias refresh="source ~/.bashrc && hash -r"
# A python calculator
alias pc='python -ic "from __future__ import division; from math import *"'
# Start nano with line numbering no wrapping and autoindenting
alias nano='nano -ciw '
# shortcut for tmux command
alias tm="tmux new-session -A -s main"
# emacsclient
alias ec="emacsclient -n -c -a emacs"
# __ _ _
# / _|_ _ _ __ ___| |_(_) ___ _ __ ___
# | |_| | | | '_ \ / __| __| |/ _ \| '_ \/ __|
# | _| |_| | | | | (__| |_| | (_) | | | \__ \
# |_| \__,_|_| |_|\___|\__|_|\___/|_| |_|___/
# General purpose extract command.
extract () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.tar.xz) tar xJf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) rar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7za e $1 ;;
*.xz) xz -dv $1 ;;
*) echo "'$1' cannot be extracted via extract()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
# General purpose backup command.
bu () { tar czf ~/.backup/`basename $1`-`date +%Y%m%d%H%M`.tgz $1; }
# create an archive of a list of files, compress the archive, and encrypt the compressed archive
function archive-and-encrypt {
echo -n "Enter desired output filename: "
read filename
tar cJ $1 | \
gpg -q -r andrew@amdavidson.com -s -e -o "$filename.tar.xz.gpg"
}
# run mosh and tmux to a specific host
function mt {
mosh $1 -- tmux new-session -A -s main
}
# _ _
# (_)_ __ ___ _ __ ___ _ __| |_ ___
# | | '_ ` _ \| '_ \ / _ \| '__| __/ __|
# | | | | | | | |_) | (_) | | | |_\__ \
# |_|_| |_| |_| .__/ \___/|_| \__|___/
# |_|
# import fzf if possible
# Debian
if [ -d /usr/share/doc/fzf/examples ]; then
source /usr/share/doc/fzf/examples/key-bindings.bash
if [ -f /usr/share/doc/fzf/examples/completion.bash ]; then
source /usr/share/doc/fzf/examples/completion.bash
fi
fi
# MacOS
if [ -d /opt/homebrew/opt/fzf/shell ]; then
source /opt/homebrew/opt/fzf/shell/key-bindings.bash
source /opt/homebrew/opt/fzf/shell/completion.bash
fi
# Import local extensions if needed.
if [ -f $HOME/.bashrc_local ]; then
source $HOME/.bashrc_local
fi

View file

@ -16,7 +16,10 @@ export ALTERNATE_EDITOR=""
export PATH=".:~/bin:~/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin"
export LSCOLORS="ExGxBxDxCxEgEdxbxgxcxd"
# include doom in path if it exists
if [ -d ~/.config/emacs/bin ]; then
export PATH="$HOME/.emacs.d/bin:$PATH"
fi
# checks (stolen from zshuery)
if [[ $(uname) = 'Linux' ]]; then