-
Notifications
You must be signed in to change notification settings - Fork 0
/
.zshrc
76 lines (61 loc) · 1.86 KB
/
.zshrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
HISTFILE="$HOME/.zsh_history"
HISTSIZE=10000
SAVEHIST=$HISTSIZE
setopt INC_APPEND_HISTORY
setopt HIST_IGNORE_DUPS
setopt EXTENDED_HISTORY
setopt SHARE_HISTORY
# export mac os paths
export PATH="$PATH:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin:/usr/sbin:/usr/local/bin/"
# preferred editor for local and remote sessions
export EDITOR='vim'
# aliases
alias grep="grep"
alias vi="vim"
alias vim="vim"
alias ls='ls -FG'
alias ll='ls -lartFGh'
alias view='vim -R'
alias publicip='curl http://ifconfig.me'
alias diff='diff --side-by-side -W $(( $(tput cols) - 2 ))'
alias h='helm'
alias tf='terraform'
alias k='kubectl'
alias kx='kubectx'
alias kc='kubectl config current-context'
# Set emacs keybinding (ctrl+a usage etc)
bindkey -e
# load zgen
source "${HOME}/.zgen/zgen.zsh"
if ! zgen saved; then
echo "Creating a zgen save"
zgen load mafredri/zsh-async
zgen load junegunn/fzf
zgen load junegunn/fzf shell/completion.zsh
zgen load junegunn/fzf shell/key-bindings.zsh
zgen load felixr/docker-zsh-completion
zgen load lukechilds/zsh-nvm
zgen load superbrothers/zsh-kubectl-prompt
zgen save
fi
# use FZF for history
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
precmd() { print "" }
parse_git_branch() {
git symbolic-ref --short HEAD 2> /dev/null
}
setopt prompt_subst
PROMPT='%B[%b%T%B]%b %B%n%b@%m %9c %{%F{red}%}$(parse_git_branch)%{%F{none}%}$ '
export PATH="/opt/homebrew/opt/node@18/bin:$PATH"
export USE_GKE_GCLOUD_AUTH_PLUGIN=True
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # this loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # this loads nvm bash_completion
# pnpm
export PNPM_HOME="/Users/tristan.watson/Library/pnpm"
case ":$PATH:" in
*":$PNPM_HOME:"*) ;;
*) export PATH="$PNPM_HOME:$PATH" ;;
esac
# pnpm end
export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"