Skip to content

Instantly share code, notes, and snippets.

@axis7818
Last active April 10, 2020 22:18
Show Gist options
  • Save axis7818/12078d9cd8b4dc7123f8a011a3cc877d to your computer and use it in GitHub Desktop.
Save axis7818/12078d9cd8b4dc7123f8a011a3cc877d to your computer and use it in GitHub Desktop.
axis7818 zsh configuration

Axis7818 ZSH Configuration

Here are the various configurations and rc files I use to configure my terminal environment.

I use iTerm2 and oh-my-zsh

The iTerm2 color theme comes from here

.zshrc: configuration for my zsh behavior axis7818.zsh-theme: PS1 customization post(de)activate: set and remove the virtualenvironment portion of the prompt.

# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH="/Users/catay/.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/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="axis7818"
# 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 ~/.oh-my-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 change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
# 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.
# 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 ~/.oh-my-zsh/plugins/*
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git brew docker kubectl helm oc mvn npm osx python web-search)
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"
# ssh
# export SSH_KEY_PATH="~/.ssh/rsa_id"
# 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"
collapsed_wd() {
echo $(pwd | perl -pe '
BEGIN {
binmode STDIN, ":encoding(UTF-8)";
binmode STDOUT, ":encoding(UTF-8)";
}; s|^$ENV{HOME}|~|g; s|/([^/.])[^/]*(?=/)|/$1|g; s|/\.([^/])[^/]*(?=/)|/.$1|g
')
}
function git_info() {
check_git=$(command git rev-parse --is-inside-work-tree 2> /dev/null) || return 0
echo "─[ $(git_prompt_info)$(git_prompt_status) $FG[008]]"
}
local user_color='blue'; [ $UID -eq 0 ] && user_color='red'
local wd_color='green'
local date_time="%{$fg[default]%}%*%{$reset_color%} $FG[008]]"
local user="%{$fg_bold[$user_color]%}%n %{$fg[$wd_color]%}"
local post_wd="$reset_color$FG[008] ]"
local prompt_line="└─%(!.#.➤)%{$reset_color%} "
local return_status="%{$fg_bold[red]%}%(?..└─➤ %?
)%{$reset_color%}"
# Set Prompt
PROMPT='${return_status}
$FG[008]┌─[ ${user}$(collapsed_wd)${post_wd}$(git_info)
${prompt_line}'
PROMPT2="%{$fg[red]%}\ %{$reset_color%}"
RPROMPT='%{$reset_color%}'
# Git Fields
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[magenta]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[yellow]%}∼%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[green]%}✓%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_ADDED="%{$fg_bold[green]%}+%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg_bold[blue]%}✱%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DELETED="%{$fg_bold[red]%}✗%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg_bold[magenta]%}➦%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg_bold[yellow]%}✂%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg_bold[cyan]%}?%{$reset_color%}"
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Ansi 0 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.20312860608100891</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.1734282374382019</real>
<key>Red Component</key>
<real>0.1565571129322052</real>
</dict>
<key>Ansi 1 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.53223955631256104</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.51200956106185913</real>
<key>Red Component</key>
<real>0.90961164236068726</real>
</dict>
<key>Ansi 10 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.54745244979858398</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.79839777946472168</real>
<key>Red Component</key>
<real>0.65606218576431274</real>
</dict>
<key>Ansi 11 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.47426080703735352</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.6669049859046936</real>
<key>Red Component</key>
<real>0.85765749216079712</real>
</dict>
<key>Ansi 12 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.9508097767829895</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.74439483880996704</real>
<key>Red Component</key>
<real>0.44629907608032227</real>
</dict>
<key>Ansi 13 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.89314508438110352</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.5672115683555603</real>
<key>Red Component</key>
<real>0.82347232103347778</real>
</dict>
<key>Ansi 14 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.80495297908782959</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.76067376136779785</real>
<key>Red Component</key>
<real>0.39768177270889282</real>
</dict>
<key>Ansi 15 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.99999994039535522</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.99999994039535522</real>
<key>Red Component</key>
<real>0.9999966025352478</real>
</dict>
<key>Ansi 2 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.54745244979858398</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.79839777946472168</real>
<key>Red Component</key>
<real>0.65606218576431274</real>
</dict>
<key>Ansi 3 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.47426080703735352</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.6669049859046936</real>
<key>Red Component</key>
<real>0.85765749216079712</real>
</dict>
<key>Ansi 4 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.9508097767829895</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.74439483880996704</real>
<key>Red Component</key>
<real>0.44629907608032227</real>
</dict>
<key>Ansi 5 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.89314508438110352</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.5672115683555603</real>
<key>Red Component</key>
<real>0.82347232103347778</real>
</dict>
<key>Ansi 6 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.80495297908782959</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.76067376136779785</real>
<key>Red Component</key>
<real>0.39768177270889282</real>
</dict>
<key>Ansi 7 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.79459840059280396</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.75171965360641479</real>
<key>Red Component</key>
<real>0.72623991966247559</real>
</dict>
<key>Ansi 8 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.51439088582992554</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.46512907743453979</real>
<key>Red Component</key>
<real>0.43546438217163086</real>
</dict>
<key>Ansi 9 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.53223955631256104</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.51200956106185913</real>
<key>Red Component</key>
<real>0.90961164236068726</real>
</dict>
<key>Background Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.20312860608100891</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.1734282374382019</real>
<key>Red Component</key>
<real>0.1565571129322052</real>
</dict>
<key>Badge Color</key>
<dict>
<key>Alpha Component</key>
<real>0.5</real>
<key>Blue Component</key>
<real>0.0</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.1491314172744751</real>
<key>Red Component</key>
<real>1</real>
</dict>
<key>Bold Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.79459840059280396</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.75171965360641479</real>
<key>Red Component</key>
<real>0.72623991966247559</real>
</dict>
<key>Cursor Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.78104829788208008</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.78105825185775757</real>
<key>Red Component</key>
<real>0.7810397744178772</real>
</dict>
<key>Cursor Guide Color</key>
<dict>
<key>Alpha Component</key>
<real>0.25</real>
<key>Blue Component</key>
<real>1</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.9268307089805603</real>
<key>Red Component</key>
<real>0.70213186740875244</real>
</dict>
<key>Cursor Text Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>1</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>1</real>
<key>Red Component</key>
<real>0.99999600648880005</real>
</dict>
<key>Foreground Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.79459840059280396</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.75171965360641479</real>
<key>Red Component</key>
<real>0.72623991966247559</real>
</dict>
<key>Link Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.73423302173614502</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.35916060209274292</real>
<key>Red Component</key>
<real>0.0</real>
</dict>
<key>Selected Text Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.36653554439544678</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.31614315509796143</real>
<key>Red Component</key>
<real>0.29196262359619141</real>
</dict>
<key>Selection Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.51439088582992554</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.46512907743453979</real>
<key>Red Component</key>
<real>0.43546438217163086</real>
</dict>
</dict>
</plist>
#!/bin/bash
# This hook is sourced after every virtualenv is activated.
PS1="$_OLD_VIRTUAL_PS1"
_OLD_RPROMPT="$RPROMPT"
RPROMPT="%{${fg_bold[white]}%}(env: %{${fg[green]}%}`basename \"$VIRTUAL_ENV\"`%{${fg_bold[white]}%})%{${reset_color}%} $RPROMPT"
#!/bin/bash
# This hook is sourced after every virtualenv is deactivated.
RPROMPT="$_OLD_RPROMPT"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment