nix/.bashrc

123 lines
4.5 KiB
Bash
Raw Normal View History

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/,/ |\&nbsp\;\&nbsp\; /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