rice

personal dot files and scripts for linux and macOS
Log | Files | Refs | README | LICENSE

.zshrc (2954B)


      1 source $XDG_CONFIG_HOME/oh-my-zsh/oh-my-zsh.sh
      2 source $XDG_CONFIG_HOME/zsh/fzf.zsh
      3 source $XDG_CONFIG_HOME/zsh/kubernetes.zsh
      4 source $XDG_CONFIG_HOME/zsh/terraform.zsh
      5 source $XDG_CONFIG_HOME/zsh/gcloud.zsh
      6 source $XDG_CONFIG_HOME/aliasrc
      7 
      8 # oh my zsh plugins
      9 plugins=(
     10     colored-man-pages
     11     compleat
     12     git
     13 )
     14 
     15 
     16 # setup prompt
     17 git_prompt() {
     18     ref=$(git_current_branch)
     19     [ -z "$ref" ] || echo "%F{cyan}$ref%f "
     20 }
     21 kube_prompt() {
     22     ctx=$([ -z "$KUBECTX" ] && [ -d $HOME/.kube ] && { grep -m1 "current-context" $HOME/.kube/config | cut -d' ' -f2 2> /dev/null; } || echo "$KUBECTX" )
     23     ns=$KUBENS
     24     [ -z "$ctx" ] || echo -n "%F{green}$ctx%f "
     25     [ -z "$ns" ] || echo -n "%F{blue}$ns%f "
     26 }
     27 setopt prompt_subst
     28 setopt transient_rprompt
     29 RPROMPT='$(kube_prompt)'
     30 PROMPT='%F{241}#%b%f '
     31 
     32 # history in cache directory
     33 HISTSIZE=10000
     34 SAVEHIST=10000
     35 HISTFILE=~/.cache/zsh/history
     36 SHELL_SESSION_HISTORY=0
     37 
     38 LS_COLORS="rs=0:di=36;36:ln=36;51:mh=00:pi=40;36;11:so=36;13:do=36;5:bd=48;236;36;11:cd=48;236;36;3:or=48;236;36;9:mi=01;36;41:su=48;196;36;15:sg=48;11;36;16:ca=48;196;36;226:tw=48;10;36;16:ow=48;10;36;21:st=48;21;36;15:ex=1:*.tar=36;9:*.tgz=36;9:*.arc=36;9:*.arj=36;9:*.taz=36;9:*.lha=36;9:*.lz4=36;9:*.lzh=36;9:*.lzma=36;9:*.tlz=36;9:*.txz=36;9:*.tzo=36;9:*.t7z=36;9:*.zip=36;9:*.z=36;9:*.dz=36;9:*.gz=36;9:*.lrz=36;9:*.lz=36;9:*.lzo=36;9:*.xz=36;9:*.zst=36;9:*.tzst=36;9:*.bz2=36;9:*.bz=36;9:*.tbz=36;9:*.tbz2=36;9:*.tz=36;9:*.deb=36;9:*.rpm=36;9:*.jar=36;9:*.war=36;9:*.ear=36;9:*.sar=36;9:*.rar=36;9:*.alz=36;9:*.ace=36;9:*.zoo=36;9:*.cpio=36;9:*.7z=36;9:*.rz=36;9:*.cab=36;9:*.wim=36;9:*.swm=36;9:*.dwm=36;9:*.esd=36;9:*.jpg=36;13:*.jpeg=36;13:*.mjpg=36;13:*.mjpeg=36;13:*.gif=36;13:*.bmp=36;13:*.pbm=36;13:*.pgm=36;13:*.ppm=36;13:*.tga=36;13:*.xbm=36;13:*.xpm=36;13:*.tif=36;13:*.tiff=36;13:*.png=36;13:*.svg=36;13:*.svgz=36;13:*.mng=36;13:*.pcx=36;13:*.mov=36;13:*.mpg=36;13:*.mpeg=36;13:*.m2v=36;13:*.mkv=36;13:*.webm=36;13:*.ogm=36;13:*.mp4=36;13:*.m4v=36;13:*.mp4v=36;13:*.vob=36;13:*.qt=36;13:*.nuv=36;13:*.wmv=36;13:*.asf=36;13:*.rm=36;13:*.rmvb=36;13:*.flc=36;13:*.avi=36;13:*.fli=36;13:*.flv=36;13:*.gl=36;13:*.dl=36;13:*.xcf=36;13:*.xwd=36;13:*.yuv=36;13:*.cgm=36;13:*.emf=36;13:*.ogv=36;13:*.ogx=36;13:*.aac=36;45:*.au=36;45:*.flac=36;45:*.m4a=36;45:*.mid=36;45:*.midi=36;45:*.mka=36;45:*.mp3=36;45:*.mpc=36;45:*.ogg=36;45:*.ra=36;45:*.wav=36;45:*.oga=36;45:*.opus=36;45:*.spx=36;45:*.xspf=36;45:"
     39 
     40 venv() {
     41     [ "$1" = "reload" ] && [ -d "venv" ] && rm -rf venv
     42 
     43     if [ ! -d "venv" ]; then
     44         /usr/local/opt/python@3.8/bin/python3 -m venv venv
     45         source venv/bin/activate
     46         pip install -U pip
     47         [ -f requirements.txt ]     && pip install -r requirements.txt
     48         [ -f requirements-dev.txt ] && pip install -r requirements-dev.txt
     49     else
     50         source venv/bin/activate
     51     fi
     52 }
     53 
     54 if [[ "$INSIDE_EMACS" = 'vterm' ]]; then
     55     alias clear='vterm_printf "51;Evterm-clear-scrollback";tput clear'
     56 fi