|
# If you come from bash you might have to change your $PATH. |
|
# export PATH=$HOME/bin:/usr/local/bin:$PATH |
|
|
|
DEFAULT_USER=`whoami` |
|
|
|
# Path to your oh-my-zsh installation. |
|
export ZSH="$HOME/.oh-my-zsh" |
|
|
|
# Set name of the theme to load --- if set to "random", it will |
|
# load a random theme each time oh-my-zsh is loaded, in which case, |
|
# to know which specific one was loaded, run: echo $RANDOM_THEME |
|
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes |
|
ZSH_THEME="powerlevel10k/powerlevel10k" |
|
POWERLEVEL9k_MODE="nerdfont-complete" |
|
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(virtualenv status root_indicator background_jobs history time) |
|
|
|
# Set list of themes to pick from when loading at random |
|
# Setting this variable when ZSH_THEME=random will cause zsh to load |
|
# a theme from this variable instead of looking in $ZSH/themes/ |
|
# If set to an empty array, this variable will have no effect. |
|
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) |
|
|
|
# Uncomment the following line to use case-sensitive completion. |
|
# CASE_SENSITIVE="true" |
|
|
|
# Uncomment the following line to use hyphen-insensitive completion. |
|
# Case-sensitive completion must be off. _ and - will be interchangeable. |
|
# HYPHEN_INSENSITIVE="true" |
|
|
|
# Uncomment the following line to disable bi-weekly auto-update checks. |
|
# DISABLE_AUTO_UPDATE="true" |
|
|
|
# Uncomment the following line to automatically update without prompting. |
|
# DISABLE_UPDATE_PROMPT="true" |
|
|
|
# Uncomment the following line to change how often to auto-update (in days). |
|
# export UPDATE_ZSH_DAYS=13 |
|
|
|
# Uncomment the following line if pasting URLs and other text is messed up. |
|
# DISABLE_MAGIC_FUNCTIONS="true" |
|
|
|
# Uncomment the following line to disable colors in ls. |
|
# DISABLE_LS_COLORS="true" |
|
|
|
# Uncomment the following line to disable auto-setting terminal title. |
|
# DISABLE_AUTO_TITLE="true" |
|
|
|
# Uncomment the following line to enable command auto-correction. |
|
# ENABLE_CORRECTION="true" |
|
|
|
# Uncomment the following line to display red dots whilst waiting for completion. |
|
# Caution: this setting can cause issues with multiline prompts (zsh 5.7.1 and newer seem to work) |
|
# See https://github.com/ohmyzsh/ohmyzsh/issues/5765 |
|
# COMPLETION_WAITING_DOTS="true" |
|
|
|
# Uncomment the following line if you want to disable marking untracked files |
|
# under VCS as dirty. This makes repository status check for large repositories |
|
# much, much faster. |
|
# DISABLE_UNTRACKED_FILES_DIRTY="true" |
|
|
|
# Uncomment the following line if you want to change the command execution time |
|
# stamp shown in the history command output. |
|
# You can set one of the optional three formats: |
|
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" |
|
# or set a custom format using the strftime function format specifications, |
|
# see 'man strftime' for details. |
|
# HIST_STAMPS="mm/dd/yyyy" |
|
|
|
# Would you like to use another custom folder than $ZSH/custom? |
|
# ZSH_CUSTOM=/path/to/new-custom-folder |
|
|
|
# Which plugins would you like to load? |
|
# Standard plugins can be found in $ZSH/plugins/ |
|
# Custom plugins may be added to $ZSH_CUSTOM/plugins/ |
|
# Example format: plugins=(rails git textmate ruby lighthouse) |
|
# Add wisely, as too many plugins slow down shell startup. |
|
plugins=(virtualenv zsh-autosuggestions zsh-syntax-highlighting) |
|
|
|
# source ~/.oh-my-zsh/plugins/git/git.plugin.zsh |
|
# source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh |
|
# source $HOME/.oh-my-zsh/plugins/virtualenv/virtualenv.plugin.zsh |
|
|
|
source $ZSH/oh-my-zsh.sh |
|
|
|
# User configuration |
|
|
|
# export MANPATH="/usr/local/man:$MANPATH" |
|
|
|
# You may need to manually set your language environment |
|
# export LANG=en_US.UTF-8 |
|
|
|
# Preferred editor for local and remote sessions |
|
# if [[ -n $SSH_CONNECTION ]]; then |
|
# export EDITOR='vim' |
|
# else |
|
# export EDITOR='mvim' |
|
# fi |
|
|
|
# Compilation flags |
|
# export ARCHFLAGS="-arch x86_64" |
|
|
|
# Set personal aliases, overriding those provided by oh-my-zsh libs, |
|
# plugins, and themes. Aliases can be placed here, though oh-my-zsh |
|
# users are encouraged to define aliases within the ZSH_CUSTOM folder. |
|
# For a full list of active aliases, run `alias`. |
|
# |
|
# Example aliases |
|
# alias zshconfig="mate ~/.zshrc" |
|
# alias ohmyzsh="mate ~/.oh-my-zsh" |
|
|
|
|
|
# directory for virtualenvs created using virtualenvwrapper |
|
export WORKON_HOME=$HOME/.virtualenvs |
|
|
|
# ensure all new environments are isolated from the site-packages directory |
|
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' |
|
|
|
# use the same directory for virtualenvs as virtualenvwrapper |
|
export PIP_VIRTUALENV_BASE=$WORKON_HOME |
|
|
|
# makes pip detect an active virtualenv and install to it |
|
export PIP_RESPECT_VIRTUALENV=true |
|
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python |
|
if [[ -r /usr/local/bin/virtualenvwrapper.sh ]]; then |
|
source /usr/local/bin/virtualenvwrapper.sh |
|
else |
|
echo "WARNING: Can't find virtualenvwrapper.sh" |
|
fi |
|
|
|
export PYTHONDONTWRITEBYTECODE=1 |
|
|
|
################################## |
|
# ALIASES START # |
|
|
|
######## |
|
# Git related |
|
######## |
|
alias gcom="git commit " |
|
alias gcoma="git commit --amend " |
|
alias gshow="git show" |
|
alias gadd="git add " |
|
alias gmrg="git merge " |
|
alias gpull="git pull" |
|
alias gpush="git push" |
|
alias gco="git checkout " |
|
alias glg="git log" |
|
alias gdiff="git diff " |
|
alias gst="git status" |
|
alias gdmas="git diff origin/master..." |
|
alias grsl="git reset HEAD~1 --soft" |
|
|
|
alias gstal="git stash list" |
|
alias gstaa="git stash apply" |
|
alias gstad="git stash drop" |
|
alias gstas="git stash save " |
|
alias gsta="git stash " |
|
|
|
function gf() { |
|
branch=$1; |
|
shift; |
|
git fetch origin -f "$branch":"$branch" |
|
} |
|
|
|
# git master commands |
|
alias gnbmas="git checkout master && git pull && git checkout -b " |
|
alias gdmas="git diff origin/master..." |
|
|
|
function gnb() { |
|
branch_to_checkout=$1; |
|
shift; |
|
git checkout "$branch_to_checkout" && git pull && git checkout -b $@ |
|
echo "rest of args is: $@" |
|
} |
|
|
|
function gdlm() { |
|
# Git Diff Last Merged |
|
} |
|
|
|
function gpretty() { |
|
# Pretty prints between 2 revisions e.g. tag_name against master |
|
prev_rev=$1; |
|
current_rev=$2; |
|
git log --pretty=format:%s%n%b%n----------- --merges --first-parent $prev_rev..$current_rev |
|
} |
|
|
|
alias git_reset_merged="git reset --merge ORIG_HEAD" |
|
|
|
function gprunelocal() { |
|
# Prunes local branches that have been orphaned (remote deleted etc.) |
|
# Does a dry run if no args specified, must include a yes to prune for real |
|
should_prune=$1 |
|
if [[ $should_prune == 'YES' ]] |
|
then |
|
git remote prune origin |
|
else |
|
git remote prune origin --dry-run |
|
fi |
|
} |
|
|
|
####### |
|
# Golang module build |
|
####### |
|
# alias gomodulebuild="GO111MODULE=on go mod vendor" |
|
|
|
####### |
|
# pyenv virtualenvs |
|
####### |
|
alias pyls="pyenv versions" |
|
alias py-version-install="pyenv install " |
|
alias py-version-uninstall="pyenv uninstall " |
|
function pymakevenv() { |
|
mkvirtualenv --python=`pyenv root`/versions/$1/bin/python $2 |
|
} |
|
# lsvirtualenv |
|
# rmvirtualenv {venv_name} |
|
# workon {venv_name} |
|
# deactivate |
|
|
|
|
|
###### |
|
# Port checking command |
|
###### |
|
alias grep-port-listen="lsof -i -P -n | grep LISTEN" |
|
|
|
###### |
|
# Rsync and SSH utils |
|
###### |
|
function rsynccp() { |
|
# Uses rsync with the following options -chavzP --stats to copy from remote to local |
|
# For explanation of what the flags do, check man rsync OR http://explainshell.com/explain?cmd=rsync+-chavzP+--stats+user%40remote.host%3A%2Fpath%2Fto%2Fcopy+%2Fpath%2Fto%2Flocal%2Fstorage |
|
if [[ $# -ne 2 ]]; then |
|
echo "2 args required: ssh-host@ssh-ip:/path/to/file/or/dir /path/to/destination" |
|
echo "You passed in $#" |
|
return 2 |
|
fi |
|
|
|
rsync -chavzP --stats $1 $2 |
|
} |
|
|
|
####### |
|
# SSH config |
|
####### |
|
alias showssh="cat ~/.ssh/config| grep Host" |
|
|
|
####### |
|
# zsh utils |
|
####### |
|
alias zshr="source ~/.zshrc" |
|
alias zshe="vi ~/.zshrc" |
|
alias zhclear_history='echo "" > ~/.zsh_history & exec $SHELL -l' |
|
alias zsha="sed -n '/# ALIASES START #/,/# ALIASES END #/p' ~/.zshrc |
|
" |
|
# ALIASES END # |