-
-
Notifications
You must be signed in to change notification settings - Fork 29
Expand file tree
/
Copy path.zshrc
More file actions
169 lines (138 loc) · 6.19 KB
/
.zshrc
File metadata and controls
169 lines (138 loc) · 6.19 KB
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
#!/usr/bin/env zsh
# Do not want background jobs to be at a lower priority
unsetopt BG_NICE
# Custom aliases
function setup_aliases() {
[ -f ~/.aliases.zsh ] && source ~/.aliases.zsh
}
# All zsh plugins (Generated via Antibody)
function setup_zsh_plugin() {
ZSH_AUTOSUGGEST_STRATEGY=(history completion)
[ -f ~/.zsh_plugins.zsh ] && source ~/.zsh_plugins.zsh
}
# Secret env
function setup_env() {
[ -f ~/.env ] && source ~/.env
}
setup_aliases
setup_zsh_plugin
setup_env
# Preferred editor for local and remote sessions
export EDITOR='vim'
# screen
export SCREENDIR=$HOME/.screen
# Go
if [[ -d /usr/local/go/bin ]]; then
export PATH=$PATH:/usr/local/go/bin
export PATH=$PATH:$(go env GOPATH)/bin
fi
# Rust
source "$HOME/.cargo/env"
## History command configuration
HISTSIZE=5000 # How many lines of history to keep in memory
HISTFILE=~/.zsh_history # Where to save history to disk
SAVEHIST=5000 # Number of history entries to save to disk
setopt extended_history # record timestamp of command in HISTFILE
setopt hist_expire_dups_first # delete duplicates first when HISTFILE size exceeds HISTSIZE
setopt hist_ignore_dups # ignore duplicated commands history list
setopt hist_ignore_space # ignore commands that start with space
setopt hist_verify # show command with history expansion to user before running it
setopt inc_append_history # add commands to HISTFILE in order of execution
setopt share_history # share command history data
# Custom dircolors, without useless green background on directories
# dircolors | sed -E 's/(tw|ow)=[^:]+/\1=01;34/g'
LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=01;34:ow=01;34:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:';
export LS_COLORS
# Show cwd when shell prompts for input.
tabtitle_precmd() {
pwd=$(dirs) # Store full path as variable
cwd=${pwd##*/} # Extract current working dir only
printf "\033]0;%s\a" "$cwd" # Omit construct from $1 to show args
}
[[ -z $precmd_functions ]] && precmd_functions=()
precmd_functions=($precmd_functions tabtitle_precmd)
# Prepend command (w/o arguments) to cwd while waiting for command to complete.
tabtitle_preexec() {
printf "\033]0;%s\a" "${1%% *} | $cwd" # Omit construct from $1 to show args
}
[[ -z $preexec_functions ]] && preexec_functions=()
preexec_functions=($preexec_functions tabtitle_preexec)
# Keybindings
# Source: https://www.zsh.org/mla/users/2008/msg00794.html
bindkey '\e[1~' beginning-of-line # Linux console
bindkey '\e[H' beginning-of-line # xterm
bindkey '\eOH' beginning-of-line # gnome-terminal
bindkey '\e[2~' overwrite-mode # Linux console, xterm, gnome-terminal
bindkey '\e[3~' delete-char # Linux console, xterm, gnome-terminal
bindkey '\e[4~' end-of-line # Linux console
bindkey '\e[F' end-of-line # xterm
bindkey '\eOF' end-of-line # gnome-terminal
# pnpm
export PNPM_HOME="/home/ademode/.local/share/pnpm"
export PATH="$PNPM_HOME:$PATH"
# pnpm end
# CUDA
# export PATH="/usr/local/cuda/bin:$PATH" # Adaptez le chemin si votre installation CUDA est différente
# export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
# autoload -U +X bashcompinit && bashcompinit
# complete -o nospace -C /usr/bin/nomad nomad
#
# # add Pulumi to the PATH
# export PATH=$PATH:/home/ademode/.pulumi/bin
#
# Hugging Face
export HF_HOME=$HOME/ai/models/hf_cache
# Conda / Python
# Add any commands which depend on conda here
function setup_python() {
lazy_conda_aliases=('python' 'conda')
load_conda() {
for lazy_conda_alias in "${lazy_conda_aliases[@]}"
do
unalias "$lazy_conda_alias"
done
__conda_prefix="$HOME/.miniconda3" # Set your conda Location
# >>> conda initialize >>>
__conda_setup="$("$__conda_prefix/bin/conda" 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "$__conda_prefix/etc/profile.d/conda.sh" ]; then
. "$__conda_prefix/etc/profile.d/conda.sh"
else
export PATH="$__conda_prefix/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
unset __conda_prefix
unfunction load_conda
}
for lazy_conda_alias in "${lazy_conda_aliases[@]}"
do
# shellcheck disable=SC2139
alias "$lazy_conda_alias"="load_conda && $lazy_conda_alias"
done
}
setup_python
function setup_vite_plus() {
lazy_vite_plus_aliases=('node' 'npm' 'npx' 'pnpm' 'pnpx' 'vp' 'vpx')
# Vite+ bin (https://viteplus.dev)
function load_vite_plus() {
for lazy_vite_plus_alias in "${lazy_vite_plus_aliases[@]}"
do
unalias "$lazy_vite_plus_alias"
done
. "$HOME/.vite-plus/env"
}
for lazy_vite_plus_alias in "${lazy_vite_plus_aliases[@]}"
do
# shellcheck disable=SC2139
alias "$lazy_vite_plus_alias"="load_vite_plus && $lazy_vite_plus_alias"
done
}
setup_vite_plus
function setup_prompt() {
eval "$(starship init zsh)"
}
setup_prompt