-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.zshrc
113 lines (99 loc) · 2.54 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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#!/bin/zsh
# Environment
export LANG="en_US.UTF-8"
export PATH="./bin:./.bin:$PATH"
[[ -f ~/.env ]] && . ~/.env
# Homebrew (https://brew.sh)
export HOMEBREW_PREFIX="/opt/homebrew"
export HOMEBREW_CELLAR="$HOMEBREW_PREFIX/Cellar"
export HOMEBREW_REPOSITORY="$HOMEBREW_PREFIX"
export HOMEBREW_NO_INSTALL_FROM_API=1
export HOMEBREW_NO_ANALYTICS=1
export HOMEBREW_NO_ENV_HINTS=1
export PATH="$HOMEBREW_PREFIX/bin:$HOMEBREW_PREFIX/sbin${PATH+:$PATH}"
export MANPATH="$HOMEBREW_PREFIX/share/man${MANPATH+:$MANPATH}:"
export INFOPATH="$HOMEBREW_PREFIX/share/info:${INFOPATH:-}"
export FPATH="$(brew --prefix)/share/zsh/site-functions:${FPATH}"
# Version managers
# nodenv (https://github.com/nodenv/nodenv)
# pyenv (https://github.com/pyenv/pyenv)
# rbenv (https://github.com/rbenv/rbenv)
for vm in nodenv pyenv rbenv; do
export ${vm:u}_ROOT="$HOME/.${vm}"
export PATH="$(eval "echo $"${vm:u}_ROOT"")/bin:$PATH"
eval "$(${vm} init --path - zsh)"
done; unset vm
# Oh My Zsh (https://ohmyz.sh)
ZSH="$HOME/.oh-my-zsh"
ZSH_CUSTOM="$HOME/.zsh"
ZSH_THEME="squanchy"
ZSH_THEME_SQUANCHY_LANGS=(node ruby python)
ZSH_COMPDUMP="$HOME/.zcompdump"
# Options
CASE_SENSITIVE=0
COMPLETION_WAITING_DOTS=""
DISABLE_AUTO_TITLE=0
DISABLE_AUTO_UPDATE=1
DISABLE_LS_COLORS=0
DISABLE_UNTRACKED_FILES_DIRTY=0
ENABLE_CORRECTION=0
HIST_STAMPS="yyyy-mm-dd"
HYPHEN_INSENSITIVE=0
UPDATE_ZSH_DAYS=7
zstyle ':bracketed-paste-magic' active-widgets '.self-*'
zstyle ':completion:*' list-dirs-first true
zstyle ':omz:alpha:lib:git' async-prompt false
zstyle ':omz:update' mode auto
zle_highlight+=(paste:none)
# Plugins
plugins=(
colored-man-pages
colorize
gh
git-auto-fetch
gitfast
last-working-dir
nodenv
npm
pyenv
rbenv
# From zsh-users
zsh-autosuggestions
zsh-completions
zsh-syntax-highlighting
# Custom
brewfile
completions
gemfile
lts
npm-global
path
plugin
profile
)
lazy_plugins=(
colors256
dependencies
gatekeeper
google
node-modules
)
. "$ZSH/oh-my-zsh.sh"
# Completions
autoload bashcompinit && bashcompinit
. $(brew --prefix)/etc/bash_completion.d/az
completions npm
# Profile
! profile check && return 1
# Git (https://git-scm.com)
git config --file "$HOME/.gitprofile" user.name "$NAME"
git config --file "$HOME/.gitprofile" user.email "$EMAIL"
git config --file "$HOME/.gitprofile" core.editor "$GIT_EDITOR"
# Node (https://nodejs.org)
export PATH="./node_modules/.bin:$PATH"
# Aliases, background jobs, cronjobs
. "$HOME/.aliases"
(. "$HOME/.jobs" >/dev/null &) >/dev/null
crontab "$HOME/.crontab"
# Avoid duplicates in PATH
typeset -aU path