Update dotfiles/.local/share/chezmoi/dot_local/state/zsh/.gitkeep, dotfiles/.zshrc, dotfiles/.local/share/chezmoi/dot_zshrc.tmpl, dotfiles/.local/share/chezmoi/dot_bashrc.tmpl
This commit is contained in:
parent
36038a3c70
commit
c99e83b0f6
4 changed files with 362 additions and 4 deletions
|
@ -0,0 +1 @@
|
|||
|
357
dotfiles/.local/share/chezmoi/dot_zshrc.tmpl
Normal file
357
dotfiles/.local/share/chezmoi/dot_zshrc.tmpl
Normal file
|
@ -0,0 +1,357 @@
|
|||
# shellcheck disable=SC1090,SC1091,SC2034,SC2154,SC2296
|
||||
|
||||
### Language / Fonts
|
||||
export LANG="en_US"
|
||||
export LC_ALL="en_US.UTF-8"
|
||||
|
||||
### Advanced Bash-features are supported
|
||||
export BASH_SUPPORT=true
|
||||
|
||||
### ~/.profile
|
||||
[[ -f "$HOME/.profile" ]] && . "$HOME/.profile"
|
||||
|
||||
### Misc.
|
||||
export HISTFILE="$XDG_STATE_HOME/zsh/history"
|
||||
export ZLE_RPROMPT_INDENT=0
|
||||
export WORDCHARS=${WORDCHARS//\/}
|
||||
export PROMPT_EOL_MARK=
|
||||
export TIMEFMT=$'\nreal\t%E\nuser\t%U\nsys\t%S\ncpu\t%P'
|
||||
|
||||
### Antigen
|
||||
export ADOTDIR="$HOME/.local/antigen"
|
||||
|
||||
### Powerline
|
||||
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
|
||||
|
||||
### Fig
|
||||
[[ -f "$HOME/.fig/shell/zshrc.pre.zsh" ]] && . "$HOME/.fig/shell/zshrc.pre.zsh"
|
||||
|
||||
# --------------------------------- SETTINGS ----------------------------------
|
||||
setopt AUTO_CD
|
||||
setopt BEEP
|
||||
#setopt CORRECT
|
||||
setopt HIST_BEEP
|
||||
setopt HIST_EXPIRE_DUPS_FIRST
|
||||
setopt HIST_FIND_NO_DUPS
|
||||
setopt HIST_IGNORE_ALL_DUPS
|
||||
setopt HIST_IGNORE_DUPS
|
||||
setopt HIST_REDUCE_BLANKS
|
||||
setopt HIST_SAVE_NO_DUPS
|
||||
setopt HIST_VERIFY
|
||||
setopt INC_APPEND_HISTORY
|
||||
setopt INTERACTIVE_COMMENTS
|
||||
setopt MAGIC_EQUAL_SUBST
|
||||
setopt NO_NO_MATCH
|
||||
setopt NOTIFY
|
||||
setopt NUMERIC_GLOB_SORT
|
||||
setopt PROMPT_SUBST
|
||||
setopt SHARE_HISTORY
|
||||
|
||||
# ZSH completion system
|
||||
autoload -Uz compinit
|
||||
compinit -d ~/.cache/zcompdump
|
||||
zstyle ':completion:*:*:*:*:*' menu select
|
||||
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
|
||||
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
||||
zstyle ':completion:*' auto-description 'specify: %d'
|
||||
zstyle ':completion:*' completer _expand _complete
|
||||
zstyle ':completion:*' format 'Completing %d'
|
||||
zstyle ':completion:*' group-name ''
|
||||
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
|
||||
zstyle ':completion:*' rehash true
|
||||
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
|
||||
zstyle ':completion:*' use-compctl false
|
||||
zstyle ':completion:*' verbose true
|
||||
# shellcheck disable=SC2016
|
||||
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
|
||||
|
||||
# Key bindings
|
||||
bindkey -e
|
||||
bindkey '^U' backward-kill-line
|
||||
bindkey '^[[2~' overwrite-mode
|
||||
bindkey '^[[3~' delete-char
|
||||
bindkey '^[[H' beginning-of-line
|
||||
bindkey '^[[1~' beginning-of-line
|
||||
bindkey '^[[F' end-of-line
|
||||
bindkey '^[[4~' end-of-line
|
||||
bindkey '^[[1;5C' forward-word
|
||||
bindkey '^[[1;5D' backward-word
|
||||
bindkey '^[[3;5~' kill-word
|
||||
bindkey '^[[5~' beginning-of-buffer-or-history
|
||||
bindkey '^[[6~' end-of-buffer-or-history
|
||||
bindkey '^[[Z' undo
|
||||
bindkey ' ' magic-space
|
||||
|
||||
# ------------------------------- ZSH PLUGINS ---------------------------------
|
||||
# Plugin source helper
|
||||
_source_plugin() {
|
||||
local plugin_name="$1"
|
||||
for basedir in "$HOME/.local/antigen/bundles/zsh-users"; do
|
||||
plugin="$basedir/$plugin_name/$plugin_name.zsh"
|
||||
[ -f "$plugin" ] && source "$plugin" && return 0
|
||||
done
|
||||
echo "\033[33m[ ! ]\033[0m ZSH ${plugin_name#zsh-} not installed"
|
||||
return 1
|
||||
}
|
||||
|
||||
# ZSH Autosuggestions
|
||||
_source_plugin zsh-autosuggestions && ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=#999'
|
||||
|
||||
# ZSH Syntax Highlighting
|
||||
if _source_plugin zsh-syntax-highlighting; then
|
||||
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern)
|
||||
ZSH_HIGHLIGHT_STYLES[default]=none
|
||||
ZSH_HIGHLIGHT_STYLES[unknown-token]=fg=white,underline
|
||||
ZSH_HIGHLIGHT_STYLES[reserved-word]=fg=cyan,bold
|
||||
ZSH_HIGHLIGHT_STYLES[suffix-alias]=fg=green,underline
|
||||
ZSH_HIGHLIGHT_STYLES[global-alias]=fg=green,bold
|
||||
ZSH_HIGHLIGHT_STYLES[precommand]=fg=green,underline
|
||||
ZSH_HIGHLIGHT_STYLES[commandseparator]=fg=blue,bold
|
||||
ZSH_HIGHLIGHT_STYLES[autodirectory]=fg=green,underline
|
||||
ZSH_HIGHLIGHT_STYLES[path]=bold
|
||||
ZSH_HIGHLIGHT_STYLES[path_pathseparator]=
|
||||
ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]=
|
||||
ZSH_HIGHLIGHT_STYLES[globbing]=fg=blue,bold
|
||||
ZSH_HIGHLIGHT_STYLES[history-expansion]=fg=blue,bold
|
||||
ZSH_HIGHLIGHT_STYLES[command-substitution]=none
|
||||
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter]=fg=magenta,bold
|
||||
ZSH_HIGHLIGHT_STYLES[process-substitution]=none
|
||||
ZSH_HIGHLIGHT_STYLES[process-substitution-delimiter]=fg=magenta,bold
|
||||
ZSH_HIGHLIGHT_STYLES[single-hyphen-option]=fg=green
|
||||
ZSH_HIGHLIGHT_STYLES[double-hyphen-option]=fg=green
|
||||
ZSH_HIGHLIGHT_STYLES[back-quoted-argument]=none
|
||||
ZSH_HIGHLIGHT_STYLES[back-quoted-argument-delimiter]=fg=blue,bold
|
||||
ZSH_HIGHLIGHT_STYLES[single-quoted-argument]=fg=yellow
|
||||
ZSH_HIGHLIGHT_STYLES[double-quoted-argument]=fg=yellow
|
||||
ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]=fg=yellow
|
||||
ZSH_HIGHLIGHT_STYLES[rc-quote]=fg=magenta
|
||||
ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]=fg=magenta,bold
|
||||
ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]=fg=magenta,bold
|
||||
ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]=fg=magenta,bold
|
||||
ZSH_HIGHLIGHT_STYLES[assign]=none
|
||||
ZSH_HIGHLIGHT_STYLES[redirection]=fg=blue,bold
|
||||
ZSH_HIGHLIGHT_STYLES[comment]=fg=black,bold
|
||||
ZSH_HIGHLIGHT_STYLES[named-fd]=none
|
||||
ZSH_HIGHLIGHT_STYLES[numeric-fd]=none
|
||||
ZSH_HIGHLIGHT_STYLES[arg0]=fg=cyan
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-error]=fg=red,bold
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-1]=fg=blue,bold
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-2]=fg=green,bold
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-3]=fg=magenta,bold
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-4]=fg=yellow,bold
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-5]=fg=cyan,bold
|
||||
ZSH_HIGHLIGHT_STYLES[cursor-matchingbracket]=standout
|
||||
fi
|
||||
|
||||
unset -f _source_plugin
|
||||
|
||||
# POWERLEVEL
|
||||
if ! [[ $(tty) = /dev/tty* ]]; then
|
||||
if source "$HOME/.local/antigen/bundles/romkatv/powerlevel10k/powerlevel10k.zsh-theme" 2> /dev/null; then
|
||||
s=' ' # fix too wide icons
|
||||
POWERLEVEL9K_MODE=nerdfont-complete
|
||||
POWERLEVEL9K_SHORTEN_STRATEGY=truncate_beginning
|
||||
POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
|
||||
POWERLEVEL9K_PROMPT_ON_NEWLINE=true
|
||||
POWERLEVEL9K_RPROMPT_ON_NEWLINE=true
|
||||
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
||||
# shellcheck disable=SC2016
|
||||
POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='${P9K_CONTENT} $(whoami | grep -v "^root\$")'
|
||||
POWERLEVEL9K_OS_ICON_BACKGROUND=red
|
||||
POWERLEVEL9K_OS_ICON_FOREGROUND=white
|
||||
POWERLEVEL9K_ROOT_INDICATOR_BACKGROUND=black
|
||||
POWERLEVEL9K_ROOT_INDICATOR_FOREGROUND=red
|
||||
POWERLEVEL9K_SSH_BACKGROUND=white
|
||||
POWERLEVEL9K_SSH_FOREGROUND=blue
|
||||
POWERLEVEL9K_FOLDER_ICON=
|
||||
POWERLEVEL9K_DIR_BACKGROUND=blue
|
||||
POWERLEVEL9K_DIR_FOREGROUND=black
|
||||
POWERLEVEL9K_DIR_WRITABLE_BACKGROUND=black
|
||||
POWERLEVEL9K_DIR_WRITABLE_FOREGROUND=red
|
||||
POWERLEVEL9K_VCS_CLEAN_FOREGROUND=black
|
||||
POWERLEVEL9K_VCS_CLEAN_BACKGROUND=green
|
||||
POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=black
|
||||
POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND=yellow
|
||||
POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=white
|
||||
POWERLEVEL9K_VCS_MODIFIED_BACKGROUND=black
|
||||
POWERLEVEL9K_VCS_UNTRACKED_ICON=●
|
||||
POWERLEVEL9K_VCS_UNSTAGED_ICON=±
|
||||
POWERLEVEL9K_VCS_INCOMING_CHANGES_ICON=↓
|
||||
POWERLEVEL9K_VCS_OUTGOING_CHANGES_ICON=↑
|
||||
POWERLEVEL9K_VCS_COMMIT_ICON=$s
|
||||
POWERLEVEL9K_STATUS_VERBOSE=false
|
||||
POWERLEVEL9K_STATUS_VERBOSE=false
|
||||
POWERLEVEL9K_STATUS_OK_IN_NON_VERBOSE=true
|
||||
POWERLEVEL9K_EXECUTION_TIME_ICON=$s
|
||||
POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=0
|
||||
POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND=black
|
||||
POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=blue
|
||||
POWERLEVEL9K_COMMAND_BACKGROUND_JOBS_BACKGROUND=black
|
||||
POWERLEVEL9K_COMMAND_BACKGROUND_JOBS_FOREGROUND=cyan
|
||||
POWERLEVEL9K_TIME_ICON=
|
||||
POWERLEVEL9K_TIME_FORMAT='%D{%I:%M}'
|
||||
POWERLEVEL9K_TIME_BACKGROUND=black
|
||||
POWERLEVEL9K_TIME_FOREGROUND=white
|
||||
POWERLEVEL9K_RAM_ICON=
|
||||
POWERLEVEL9K_RAM_FOREGROUND=black
|
||||
POWERLEVEL9K_RAM_BACKGROUND=yellow
|
||||
POWERLEVEL9K_VI_MODE_FOREGROUND=black
|
||||
POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL
|
||||
POWERLEVEL9K_VI_MODE_NORMAL_BACKGROUND=green
|
||||
POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL
|
||||
POWERLEVEL9K_VI_MODE_VISUAL_BACKGROUND=blue
|
||||
POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE
|
||||
POWERLEVEL9K_VI_MODE_OVERWRITE_BACKGROUND=red
|
||||
POWERLEVEL9K_VI_INSERT_MODE_STRING=
|
||||
POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B2'
|
||||
POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0'
|
||||
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%F{blue}╭─'
|
||||
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%F{blue}╰%f '
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(os_icon root_indicator ssh dir dir_writable vcs)
|
||||
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(vi_mode status command_execution_time background_jobs time ram)
|
||||
unset s
|
||||
else
|
||||
echo '\033[33m[ ! ]\033[0m ZSH powerlevel10k not installed'
|
||||
fi
|
||||
else
|
||||
clear
|
||||
echo
|
||||
echo
|
||||
fi
|
||||
|
||||
switch_powerlevel_multiline_prompt(){
|
||||
[ $POWERLEVEL9K_PROMPT_ON_NEWLINE = true ] \
|
||||
&& POWERLEVEL9K_PROMPT_ON_NEWLINE=false \
|
||||
|| POWERLEVEL9K_PROMPT_ON_NEWLINE=true
|
||||
|
||||
zle && zle accept-line
|
||||
}
|
||||
zle -N switch_powerlevel_multiline_prompt
|
||||
bindkey ^P switch_powerlevel_multiline_prompt
|
||||
|
||||
# ----------------------------------- MISC -----------------------------------
|
||||
# If this is an xterm set the title to user@host:dir
|
||||
case "$TERM" in
|
||||
xterm*|rxvt*|Eterm|aterm|kterm|gnome*|alacritty)
|
||||
precmd() {
|
||||
print -Pnr -- $'\e]0;%n@%m: %~\a'
|
||||
}
|
||||
;;
|
||||
esac
|
||||
|
||||
# https://github.com/trapd00r/LS_COLORS
|
||||
command -v gdircolors >/dev/null 2>&1 || alias gdircolors="dircolors"
|
||||
if type gdircolors &> /dev/null && [ -f "$HOME/.config/dircolors" ]; then
|
||||
eval "$(gdircolors -b "$HOME/.config/dircolors")"
|
||||
fi
|
||||
|
||||
### Antigen
|
||||
if [ -f "$HOME/.local/antigen.zsh" ]; then
|
||||
source "$HOME/.local/antigen.zsh"
|
||||
fi
|
||||
if command -v antigen > /dev/null; then
|
||||
antigen use oh-my-zsh
|
||||
antigen bundle adb
|
||||
antigen bundle colored-man-pages
|
||||
antigen bundle command-not-found
|
||||
antigen bundle copyfile
|
||||
antigen bundle copybuffer
|
||||
antigen bundle encode64
|
||||
antigen bundle fd
|
||||
antigen bundle git-auto-fetch
|
||||
antigen bundle gnu-utils
|
||||
antigen bundle heroku
|
||||
# antigen bundle keychain
|
||||
antigen bundle kubectx
|
||||
antigen bundle macos
|
||||
antigen bundle magic-enter
|
||||
antigen bundle minikube
|
||||
antigen bundle ng
|
||||
antigen bundle nomad
|
||||
antigen bundle redis-cli
|
||||
antigen bundle ripgrep
|
||||
# antigen bundle rust
|
||||
antigen bundle safe-paste
|
||||
antigen bundle salt
|
||||
# antigen bundle shell-proxy
|
||||
# antigen bundle ssh-agent
|
||||
antigen bundle sudo
|
||||
antigen bundle ufw
|
||||
# antigen bundle web-search
|
||||
|
||||
### Disable plugin alias
|
||||
# alias alias=true
|
||||
antigen bundle docker
|
||||
antigen bundle docker-compose
|
||||
antigen bundle gem
|
||||
antigen bundle ionic
|
||||
antigen bundle microk8s
|
||||
antigen bundle multipass
|
||||
antigen bundle pip
|
||||
antigen bundle pm2
|
||||
antigen bundle terraform
|
||||
antigen bundle vagrant
|
||||
antigen bundle yarn
|
||||
# unalias alias
|
||||
|
||||
# antigen bundle zsh-interactive-cd
|
||||
# antigen bundle zsh-navigation-tools
|
||||
antigen bundle zsh-users/zsh-completions src
|
||||
antigen bundle zsh-users/zsh-syntax-highlighting
|
||||
antigen bundle zsh-users/zsh-autosuggestions
|
||||
antigen bundle marlonrichert/zsh-autocomplete@main
|
||||
antigen theme romkatv/powerlevel10k
|
||||
antigen bundle npm
|
||||
antigen apply
|
||||
fi
|
||||
|
||||
### ZSH Autocomplete
|
||||
zstyle ':autocomplete:*' list-lines 14
|
||||
zstyle ':autocomplete:history-search:*' list-lines 14
|
||||
zstyle ':autocomplete:history-incremental-search-*:*' list-lines 14
|
||||
if command -v fzf > /dev/null; then
|
||||
zstyle ':autocomplete:*' fzf-completion yes
|
||||
fi
|
||||
if command -v zoxide > /dev/null; then
|
||||
zstyle ':autocomplete:recent-dirs' backend zoxide
|
||||
fi
|
||||
|
||||
### direnv
|
||||
if command -v direnv > /dev/null; then
|
||||
eval "$(direnv hook zsh)"
|
||||
fi
|
||||
|
||||
### Java (asdf)
|
||||
if [ -f "$HOME/.local/asdf/plugins/java/set-java-home.zsh" ]; then
|
||||
# . "$HOME/.local/asdf/plugins/java/set-java-home.zsh"
|
||||
fi
|
||||
|
||||
### mcfly
|
||||
if command -v mcfly > /dev/null; then
|
||||
eval "$(mcfly init zsh)"
|
||||
fi
|
||||
|
||||
### zoxide
|
||||
if command -v zoxide > /dev/null; then
|
||||
eval "$(zoxide init --cmd cd zsh)"
|
||||
fi
|
||||
|
||||
### Fig
|
||||
if [ -f "$HOME/.fig/shell/zshrc.post.zsh" ]; then
|
||||
source "$HOME/.fig/shell/zshrc.post.zsh"
|
||||
fi
|
||||
|
||||
### Powerline
|
||||
if [ -f ~/.local/p10k.zsh ]; then
|
||||
source ~/.local/p10k.zsh
|
||||
fi
|
||||
|
||||
### Bash Completions
|
||||
autoload -U +X bashcompinit && bashcompinit
|
||||
|
||||
### HashiCorp Vault
|
||||
if command -v vault > /dev/null; then
|
||||
complete -o nospace -C vault vault
|
||||
fi
|
|
@ -7,8 +7,11 @@ export LC_ALL="en_US.UTF-8"
|
|||
### Advanced Bash-features are supported
|
||||
export BASH_SUPPORT=true
|
||||
|
||||
### ~/.profile
|
||||
[[ -f "$HOME/.profile" ]] && . "$HOME/.profile"
|
||||
|
||||
### Misc.
|
||||
export HISTFILE=~/.local/zsh_history
|
||||
export HISTFILE="$XDG_STATE_HOME/zsh/history"
|
||||
export ZLE_RPROMPT_INDENT=0
|
||||
export WORDCHARS=${WORDCHARS//\/}
|
||||
export PROMPT_EOL_MARK=
|
||||
|
@ -25,9 +28,6 @@ fi
|
|||
### Fig
|
||||
[[ -f "$HOME/.fig/shell/zshrc.pre.zsh" ]] && . "$HOME/.fig/shell/zshrc.pre.zsh"
|
||||
|
||||
### ~/.profile
|
||||
[[ -f "$HOME/.profile" ]] && . "$HOME/.profile"
|
||||
|
||||
# --------------------------------- SETTINGS ----------------------------------
|
||||
setopt AUTO_CD
|
||||
setopt BEEP
|
||||
|
|
Loading…
Reference in a new issue