-
Notifications
You must be signed in to change notification settings - Fork 2
/
dot_zshrc.tmpl
263 lines (227 loc) · 7.75 KB
/
dot_zshrc.tmpl
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
#zmodload zsh/zprof # for debugging shell startup speed
# Manually configured section
# Aliases
alias vim="nvim"
unset CONDA_PREFIX
# Aliases to run some conda packages w/o activating environment
if [[ -f "$HOME/.pixi_completions" ]]; then
export FPATH="$(tr '\n' ':' < $HOME/.pixi_completions | sed 's/:$//'):${FPATH}"
fi
{{ if eq .chezmoi.os "darwin" }}
# Make aliases for SSH hosts when logging in from macOS
alias scg1='ssh -Y [email protected] -t zsh'
alias scg2='ssh -Y [email protected] -t zsh'
alias scg3='ssh -Y [email protected] -t zsh'
alias scg4='ssh -Y [email protected] -t zsh'
alias sherlock='ssh -Y [email protected] -t zsh'
ulimit -n 10240
{{ end }}
# Environment variables
export EDITOR="nvim"
export SPROMPT='zsh: correct %F{1}%R%f to %F{2}%r%f [nyae]? '
export ENHANCD_COMMAND=ecd
export R_MAX_NUM_DLLS=500
#export MANPAGER="nvim -c 'set ft=man' -" # supposed to use nvim as man pager but not working
export XDG_CACHE_HOME="$HOME/.cache"
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export PATH=${HOME}/.pixi/bin:$PATH
# Load dircolors before plugins
eval $(dircolors)
# Powerlevel10K instant prompt doesn't work as desired
#if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
#source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
#fi
# Base 16 shell - not currently working
#BASE16_SHELL="$HOME/.config/base16-shell/"
#[ -n "$PS1" ] && \
#[ -s "$BASE16_SHELL/profile_helper.sh" ] && \
#eval "$("$BASE16_SHELL/profile_helper.sh")"
# Broot
if [ -f $HOME/.config/broot/launcher/bash/br ]; then
source $HOME/.config/broot/launcher/bash/br
fi
{{ if eq .chezmoi.os "darwin" }}
# iTerm2 integration
test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"
# Launch ssh-agent on macoS
ssh-add -A &> /dev/null
{{ end }}
# PM functions
#source ~/.pm/pm.zsh
#alias pma="pm add"
#alias pmg="pm go"
#alias pmrm="pm remove"
#alias pml="pm list"
# end PM
# Automatic or semi-automatic configuration
# The following lines were added by compinstall
zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _list _oldlist _expand _complete _ignored _match _correct _approximate _prefix
zstyle ':completion:*' completions 1
zstyle ':completion:*' condition 0
zstyle ':completion:*' expand prefix suffix
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' glob 1
zstyle ':completion:*' group-name ''
zstyle ':completion:*' insert-unambiguous false
#zstyle ':completion:*' list-colors ''
#zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list '+' '+m:{[:lower:][:upper:]}={[:upper:][:lower:]}' '+r:|[._-]=* r:|=*' '+l:|=* r:|=*'
zstyle ':completion:*' max-errors 2 numeric
zstyle ':completion:*' menu select=1
zstyle ':completion:*' original true
zstyle ':completion:*' preserve-prefix '//[^/]##/'
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' substitute 1
zstyle ':completion:*' verbose true
# Zinit plugin manager
# Commented out plugins may not be working
# Add new plugins here
ZINIT_HOME="$HOME/.local/share/zinit/zinit.git"
source "${ZINIT_HOME}/zinit.zsh"
# Prezto
zstyle ':prezto:*:*' color 'yes'
zinit snippet PZTM::environment
zinit snippet PZTM::terminal
zinit snippet PZTM::editor
zinit snippet PZTM::history
zinit snippet PZTM::directory
zinit snippet PZTM::spectrum
zinit snippet PZTM::utility
zinit snippet PZTM::completion
#zplug "modules/prompt", from:prezto
# Prezto extra
zinit snippet PZTM::helper
#zplug "modules/ocaml", from:prezto
zinit snippet PZTM::perl
zinit snippet PZTM::python
zinit snippet PZTM::rsync
zinit snippet PZTM::ruby
#zplug "modules/archive", from:prezto broken
#zplug "modules/git", from:prezto broken
zinit snippet PZTM::ssh
zinit snippet PZTM::tmux
# Colors
zinit snippet OMZP::colorize
zinit snippet OMZP::colored-man-pages
#zplug "plugins/catimg" from:oh-my-zsh
#zplug "plugins/command-not-found" from:oh-my-zsh
# Copy
#zinit snippet OMZP::copydir
zinit snippet OMZP::copypath
zinit snippet OMZP::copyfile
zinit snippet OMZP::cp
zinit snippet OMZP::rsync
# Perl
#zinit snippet OMZP::cpanm #lazy
zinit snippet OMZP::perl
# Directories
zinit ice pick"init.sh"
zinit light "b4b4r07/enhancd"
#zinit snippet OMZP::dircycle
zinit snippet OMZP::dirhistory
zinit snippet OMZP::jump
zinit snippet OMZP::wd
#zinit light "rupa/z"
zinit light "zdharma-continuum/zsh-navigation-tools"
zinit light "Tarrasch/zsh-bd"
#zplug "plugins/fasd", from:oh-my-zsh
# Archive
zinit snippet OMZP::extract
# Git
zinit snippet OMZP::git
# Go
zinit snippet OMZP::golang #lazy
# Haskell
zinit snippet OMZP::cabal #lazy
# History
#zplug "marlonrichert/zsh-autocomplete", use:zsh-autocomplete.zsh
zinit light "jimmijj/zsh-syntax-highlighting"
zinit light "zsh-users/zsh-history-substring-search"
zinit snippet OMZP::history
zinit light "zdharma-continuum/history-search-multi-word"
zinit light "tarruda/zsh-autosuggestions"
#zinit light "ellie/atuin"
# Python
#zinit snippet OMZP::pep8
zinit snippet OMZP::python
zinit snippet OMZP::pip
zinit snippet OMZP::pyenv
zinit snippet OMZP::virtualenv #lazy
#zplug oh-my-zsh "plugins/pylinst"
#zplug, from:oh-my-zsh "plugins/virtualenvwrapper"
# Miscellaneous
zinit ice depth"1"
zinit light "romkatv/powerlevel10k"
#zinit light "djui/alias-tips"
zinit light "hchbaw/zce.zsh"
zinit light "jreese/zsh-titles"
zinit light "mafredri/zsh-async" #lazy
zinit snippet OMZP::catimg #lazy
zinit snippet OMZP::taskwarrior #lazy
zinit snippet OMZP::themes #lazy
#zinit snippet OMZP::kate #lazy
#zplug "plugins/vi-mode", from:oh-my-zsh
#zinit snippet OMZP::zsh_reload
zinit light "zdharma-continuum/zsnapshot"
zinit light "zdharma-continuum/ztrace"
zinit light "Tarrasch/zsh-functional"
zinit light "vifon/deer" #lazy
#zinit light "willghatch/zsh-snippets"
zinit light "zsh-users/zaw"
#zplug "joel-porquet/zsh-dircolors-solarized"
#zplug "Valiev/almostontop"
#zplug, from:oh-my-zsh "plugins/safe-paste"
#zplug oh-my-zsh "plugins/web-search"
#zplug "joepvd/grep2awk", nice:10
#zplug load" Angelmmiguel/pm"
#zplug load" marzocchi/zsh-notify"
zinit light "softmoth/zsh-vim-mode"
#zplug "DarrinTisdale/zsh-aliases-exa"
#zplug "hchbaw/auto-fu.zsh"
# System
#zplug "plugins/archlinux", from:oh-my-zsh
#zinit snippet OMZP::zsh_reload
zinit snippet OMZP::systemadmin
#zplug "plugins/systemd", from:oh-my-zsh
zinit snippet OMZP::sudo
# Tmux
#zinit snippet OMZP::tmux
zinit snippet OMZP::tmuxinator
#zinit ice atclone"gdircolors -b LS_COLORS > clrs.zsh" \
# atpull'%atclone' pick"clrs.zsh" nocompile'!' \
# atload'zstyle ":completion:*" list-colors “${(s.:.)LS_COLORS}”'
#zinit light trapd00r/LS_COLORS
# Zinit installer lines
zinit light-mode for \
zdharma-continuum/zinit-annex-as-monitor \
zdharma-continuum/zinit-annex-bin-gem-node \
zdharma-continuum/zinit-annex-patch-dl \
zdharma-continuum/zinit-annex-rust
# Load a few important annexes, without Turbo
# (this is currently required for annexes)
### End of Zinit's installer chunk
# Autosuggest
bindkey '^f' forward-word
bindkey '^b' backward-word
bindkey '^e' end-of-line
bindkey '^P' history-substring-search-up
bindkey '^N' history-substring-search-down
ZSH_AUTOSUGGEST_USE_ASYNC=true
# Powerlevel10K
(( ! ${+functions[p10k]} )) || p10k finalize
# To customize prompt, run `p10k configure` or edit $HOME/.p10k.zsh.
[[ ! -f $HOME/.p10k.zsh ]] || source $HOME/.p10k.zsh
# Autoload compinit at the end
autoload -Uz compinit && compinit -u
autoload -Uz compdef
autoload -Uz promptinit && promptinit
# Zoxide
eval "$(zoxide init zsh)"
if [[ -f $HOME/.activate_cope.sh ]]; then
source $HOME/.activate_cope.sh
fi
if [[ -f $HOME/.extra_pixi_paths.sh ]]; then
source $HOME/.extra_pixi_paths.sh
fi