2021-01-02 01:31:52 +00:00
|
|
|
if [ -e /Users/evanreichard/.nix-profile/etc/profile.d/nix.sh ]; then . /Users/evanreichard/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer
|
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# ---------------------------------- VI MODE -----------------------------------
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
set -o vi
|
|
|
|
|
2020-10-22 14:30:03 +00:00
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# ---------------------------------- ALIASES -----------------------------------
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
alias vi="/Applications/MacVim.app/Contents/bin/mvim -v"
|
2021-01-02 01:31:52 +00:00
|
|
|
alias vim="/Applications/MacVim.app/Contents/bin/mvim -v"
|
|
|
|
alias grep="grep --color"
|
2021-07-12 13:40:29 +00:00
|
|
|
|
|
|
|
# Python URL Encode / Decoders
|
2019-02-07 16:00:51 +00:00
|
|
|
alias urldecode='python -c "import sys, urllib as ul; \
|
|
|
|
print ul.unquote_plus(sys.argv[1])"'
|
|
|
|
alias urlencode='python -c "import sys, urllib as ul; \
|
|
|
|
print ul.quote_plus(sys.argv[1])"'
|
|
|
|
|
2021-07-12 13:40:29 +00:00
|
|
|
# Spin up a Docker container mounting hosts PWD to `/mount` in the container
|
|
|
|
alias fast_docker='docker run -ti -v $(pwd):/mount ubuntu /bin/bash'
|
|
|
|
|
2020-10-22 14:30:03 +00:00
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# --------------------------------- FUNCTIONS ----------------------------------
|
|
|
|
# ------------------------------------------------------------------------------
|
2021-07-12 13:40:29 +00:00
|
|
|
|
2020-10-22 14:30:03 +00:00
|
|
|
function cache {
|
2021-07-12 13:40:29 +00:00
|
|
|
# Description
|
|
|
|
# Caches the output and return of any command
|
|
|
|
#
|
|
|
|
# Usage:
|
|
|
|
# cache curl google.com
|
|
|
|
#
|
|
|
|
# Notes:
|
|
|
|
# Stores data in ~/.bash-cache/* - You need to manually clean up cache.
|
|
|
|
|
2020-10-22 14:30:03 +00:00
|
|
|
cmd="$*"
|
|
|
|
name=$(echo "$PWD-$cmd" | base64)
|
|
|
|
if [[ -f ~/.bash-cache/$name.exit ]] && [[ $(cat ~/.bash-cache/$name.exit) -eq 0 ]]; then
|
|
|
|
printf "CACHED:\n\n"
|
|
|
|
else
|
|
|
|
mkdir -p ~/.bash-cache
|
|
|
|
eval "$cmd" > ~/.bash-cache/$name.out
|
|
|
|
echo $? > ~/.bash-cache/$name.exit
|
|
|
|
fi
|
|
|
|
cat ~/.bash-cache/$name.out
|
|
|
|
}
|
2021-01-02 01:31:52 +00:00
|
|
|
|
2019-02-07 16:00:51 +00:00
|
|
|
function sfind(){
|
2021-07-12 13:40:29 +00:00
|
|
|
# Description:
|
|
|
|
# Finds a file with name $1 and searches file using grep with $2
|
|
|
|
#
|
|
|
|
# Usage:
|
|
|
|
# sfind *.csv evan
|
|
|
|
|
2019-02-07 16:00:51 +00:00
|
|
|
find . -name "$1" -print0 | xargs -0 grep "$2"
|
|
|
|
}
|
2021-01-02 01:31:52 +00:00
|
|
|
|
2019-02-07 16:00:51 +00:00
|
|
|
function csv2mdt(){
|
2021-07-12 13:40:29 +00:00
|
|
|
# Description:
|
|
|
|
# Converts a CSV file to Markdown table format.
|
|
|
|
#
|
|
|
|
# Usage:
|
|
|
|
# To stdout:
|
|
|
|
# csv2mdt test.csv
|
|
|
|
# To clipboard:
|
|
|
|
# csv2mdt test.csv | pbcopy
|
|
|
|
|
2019-02-07 16:00:51 +00:00
|
|
|
cat $1 | sed 1p | LC_ALL=C sed -e 's/,/ |\ \;\ \; /g' -e 's/^/| /g' -e 's/$/ |/g' -e '2 s/[^|]/-/g' | LC_ALL=C tr -d $'\r'
|
|
|
|
}
|
|
|
|
|
2021-07-12 13:40:29 +00:00
|
|
|
function ggrep(){
|
|
|
|
# Description:
|
|
|
|
# Use grep to search through all git history. Search results return file and
|
|
|
|
# git commit hash. Using git commit hash, you can view state of repo in
|
|
|
|
# GitHub: https://github.com/<USER_OR_ORG>/<REPO>/tree/<GIT_HASH>
|
|
|
|
#
|
|
|
|
# Usage:
|
|
|
|
# No Directory Specification
|
|
|
|
# ggrep -in get_config
|
|
|
|
# Specify Directory
|
|
|
|
# ggrep -in get_config -- /rules
|
|
|
|
#
|
|
|
|
# Notes:
|
|
|
|
# To see specific arguments allowed, see `man git-grep`
|
|
|
|
|
|
|
|
GREP_ARGS=$(echo "$@" | sed "s/\(^.*\)--\(.*$\)/\1/")
|
|
|
|
PATH_ARGS=$(echo "$@" | sed "s/\(^.*\)--\(.*$\)/\2/")
|
|
|
|
|
|
|
|
if [[ "$@" == "$GREP_ARGS" ]]; then
|
|
|
|
unset PATH_ARGS
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ -n $PATH_ARGS ]]; then
|
|
|
|
git rev-list --all -- $PATH_ARGS | xargs -J{} git grep $GREP_ARGS {} -- $PATH_ARGS
|
|
|
|
else
|
|
|
|
git rev-list --all | xargs -J{} git grep $GREP_ARGS {}
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2020-10-22 14:30:03 +00:00
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# ---------------------------------- EXPORTS -----------------------------------
|
|
|
|
# ------------------------------------------------------------------------------
|
2021-01-26 23:19:17 +00:00
|
|
|
export PATH=$HOME/.local/bin:$HOME/.yarn/bin:$HOME/Development/Tools/flutter/bin:$PATH
|
|
|
|
export GOPATH=$HOME/go
|
2020-10-22 14:30:03 +00:00
|
|
|
export KUBE_EDITOR="/Applications/MacVim.app/Contents/bin/mvim -v"
|
2021-01-02 01:31:52 +00:00
|
|
|
export NIX_PYTHONPATH=$(python3 -c "import sys; print(sys.base_prefix)")
|
2019-05-29 18:19:30 +00:00
|
|
|
|
2020-10-22 14:30:03 +00:00
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# --------------------------------- POWERLINE ----------------------------------
|
|
|
|
# ------------------------------------------------------------------------------
|
2019-05-29 18:19:30 +00:00
|
|
|
powerline-daemon -q
|
|
|
|
POWERLINE_BASH_CONTINUATION=1
|
|
|
|
POWERLINE_BASH_SELECT=1
|
2021-01-26 23:19:17 +00:00
|
|
|
. $HOME/.local/lib/python3.9/site-packages/powerline/bindings/bash/powerline.sh
|
2019-05-29 18:19:30 +00:00
|
|
|
|
2020-10-22 14:30:03 +00:00
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# ------------------------------ TMUX & NEOFETCH -------------------------------
|
|
|
|
# ------------------------------------------------------------------------------
|
2019-02-07 16:00:51 +00:00
|
|
|
[ ! -z $TMUX ] || tmux a || tmux
|
|
|
|
neofetch
|