1
0
mirror of https://github.com/tiyn/dotfiles.git synced 2026-03-08 10:24:47 +01:00

zsh: eval opam

This commit is contained in:
2026-03-04 00:48:41 +01:00
parent 3c5691e879
commit 27ac63f781

View File

@@ -101,12 +101,10 @@ _auto_venv() {
local venv_dir local venv_dir
venv_dir=$(_find_venv_upwards) venv_dir=$(_find_venv_upwards)
# Falls wir eine andere venv aktiv haben → deaktivieren
if [[ -n "$VIRTUAL_ENV" && "$VIRTUAL_ENV" != "$venv_dir" ]]; then if [[ -n "$VIRTUAL_ENV" && "$VIRTUAL_ENV" != "$venv_dir" ]]; then
deactivate 2>/dev/null deactivate 2>/dev/null
fi fi
# Falls passende venv gefunden → aktivieren
if [[ -n "$venv_dir" && "$VIRTUAL_ENV" != "$venv_dir" ]]; then if [[ -n "$venv_dir" && "$VIRTUAL_ENV" != "$venv_dir" ]]; then
source "$venv_dir/bin/activate" source "$venv_dir/bin/activate"
fi fi
@@ -210,54 +208,54 @@ bindkey "^M" _accept_line
# STYLE # # STYLE #
######### #########
# Set style for version control # set style for version control
zstyle ':vcs_info:*' enable git zstyle ':vcs_info:*' enable git
zstyle ':vcs_info:git*:*' get-revision true zstyle ':vcs_info:git*:*' get-revision true
zstyle ':vcs_info:git*:*' check-for-changes true zstyle ':vcs_info:git*:*' check-for-changes true
zstyle ':vcs_info:git*' formats "(%s) %c%u %b%m" zstyle ':vcs_info:git*' formats "(%s) %c%u %b%m"
zstyle ':vcs_info:git*' actionformats "(%s|%a) %12.12i %c%u %b%m" zstyle ':vcs_info:git*' actionformats "(%s|%a) %12.12i %c%u %b%m"
# Show remote ref name and number of commits ahead-of or behind # show remote ref name and number of commits ahead-of or behind
# Show count of stashed changes # show count of stashed changes
zstyle ':vcs_info:git*+set-message:*' hooks git-st git-stash zstyle ':vcs_info:git*+set-message:*' hooks git-st git-stash
# Set style for completion options # set style for completion options
zstyle ':completion:*' menu select zstyle ':completion:*' menu select
zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' # Case insensitive completion zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' # Case insensitive completion
zmodload zsh/complist zmodload zsh/complist
_comp_options+=(globdots) _comp_options+=(globdots)
# Disable sort when completing `git checkout` # disable sort when completing `git checkout`
zstyle ':completion:*:git-checkout:*' sort false zstyle ':completion:*:git-checkout:*' sort false
# Set descriptions format to enable group support # set descriptions format to enable group support
zstyle ':completion:*:descriptions' format '[%d]' zstyle ':completion:*:descriptions' format '[%d]'
# Set list-colors to enable filename colorizing # set list-colors to enable filename colorizing
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
# Preview directory's content with eza when completing cd # preview directory's content with eza when completing cd
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza -1 --color=always $realpath' zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza -1 --color=always $realpath'
# Switch group using `,` and `.` # switch group using `,` and `.`
zstyle ':fzf-tab:*' switch-group ',' '.' zstyle ':fzf-tab:*' switch-group ',' '.'
# Set default Vim Cursor shape # set default Vim Cursor shape
zle -N zle-keymap-select zle -N zle-keymap-select
zle -N zle-line-init zle -N zle-line-init
echo -ne '\e[5 q' echo -ne '\e[5 q'
# Set default prompt # set default prompt
PS1='%B%{$fg[blue]%}[%{$fg[blue]%}%n%{$fg[blue]%}@%{$fg[blue]%}%M %{$fg[blue]%}%~%{$fg[blue]%}]%{$reset_color%}\$%b ' PS1='%B%{$fg[blue]%}[%{$fg[blue]%}%n%{$fg[blue]%}@%{$fg[blue]%}%M %{$fg[blue]%}%~%{$fg[blue]%}]%{$reset_color%}\$%b '
RPROMPT='%B%{$fg[blue]%}$vcs_info_msg_0_%{$reset_color%}%b' RPROMPT='%B%{$fg[blue]%}$vcs_info_msg_0_%{$reset_color%}%b'
setopt prompt_subst setopt prompt_subst
# Copy to x11 clipboard # copy to x11 clipboard
x11-clip-wrap-widgets copy $copy_widgets x11-clip-wrap-widgets copy $copy_widgets
x11-clip-wrap-widgets paste $paste_widgets x11-clip-wrap-widgets paste $paste_widgets
# Enable colors # enable colors
autoload -U colors && colors autoload -U colors && colors
# Enable git info in prompt # enable git info in prompt
autoload -Uz vcs_info autoload -Uz vcs_info
# Enable smart history search # enable smart history search
bindkey -M vicmd 'j' history-beginning-search-forward bindkey -M vicmd 'j' history-beginning-search-forward
bindkey -M vicmd 'k' history-beginning-search-backward bindkey -M vicmd 'k' history-beginning-search-backward
@@ -265,11 +263,11 @@ bindkey -M vicmd 'k' history-beginning-search-backward
# KEYBINDINGS # # KEYBINDINGS #
############### ###############
# Enable vi mode # enable vi mode
bindkey -v bindkey -v
export KEYTIMEOUT=1 export KEYTIMEOUT=1
# Vim bindings in tab mode # vim bindings in tab mode
bindkey -M menuselect 'h' vi-backward-char bindkey -M menuselect 'h' vi-backward-char
bindkey -M menuselect 'k' vi-up-line-or-history bindkey -M menuselect 'k' vi-up-line-or-history
bindkey -M menuselect 'l' vi-forward-char bindkey -M menuselect 'l' vi-forward-char
@@ -280,48 +278,50 @@ bindkey -v '^?' backward-delete-char
# ADDITIONAL FEATURES # # ADDITIONAL FEATURES #
####################### #######################
# Load alias # load alias
[ -f "$HOME/.config/aliasrc" ] && source "$HOME/.config/aliasrc" # Load aliases [ -f "$HOME/.config/aliasrc" ] && source "$HOME/.config/aliasrc" # Load aliases
# Disable ctrl-s and ctrl-q. # disable ctrl-s and ctrl-q.
stty -ixon stty -ixon
# Automatically cd if given a directory # automatically cd if given a directory
setopt autocd autopushd setopt autocd autopushd
# Enable compinit # enable compinit
autoload -Uz compinit && compinit autoload -Uz compinit && compinit
# Plugin: command not found notice # plugin: command not found notice
[ -f "/usr/share/doc/pkgfile/command-not-found.zsh" ] && source /usr/share/doc/pkgfile/command-not-found.zsh [ -f "/usr/share/doc/pkgfile/command-not-found.zsh" ] && source /usr/share/doc/pkgfile/command-not-found.zsh
# Plugin: fuzzy completion # plugin: fuzzy completion
[ -f "/usr/share/zsh/plugins/fzf-tab-git/fzf-tab.plugin.zsh" ] && source /usr/share/zsh/plugins/fzf-tab-git/fzf-tab.plugin.zsh [ -f "/usr/share/zsh/plugins/fzf-tab-git/fzf-tab.plugin.zsh" ] && source /usr/share/zsh/plugins/fzf-tab-git/fzf-tab.plugin.zsh
# Plugin: autosuggestions # plugin: autosuggestions
[ -f "/usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" ] && source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh && bindkey '^ ' autosuggest-accept [ -f "/usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" ] && source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh && bindkey '^ ' autosuggest-accept
# Plugin: syntax highlighting # plugin: syntax highlighting
[ -f "/usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh" ] && source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh [ -f "/usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh" ] && source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh
# Plugin: Autopair # plugin: Autopair
[ -f "/usr/share/zsh/plugins/zsh-autopair/zsh-autopair.plugin.zsh" ] && source /usr/share/zsh/plugins/zsh-autopair/zsh-autopair.plugin.zsh [ -f "/usr/share/zsh/plugins/zsh-autopair/zsh-autopair.plugin.zsh" ] && source /usr/share/zsh/plugins/zsh-autopair/zsh-autopair.plugin.zsh
# Open shell with tmux always # open shell with tmux always
if [[ -n "$PS1" ]] && [[ -z "$TMUX" ]] && [[ -n "$SSH_CONNECTION" ]]; then if [[ -n "$PS1" ]] && [[ -z "$TMUX" ]] && [[ -n "$SSH_CONNECTION" ]]; then
tmux attack-session -t $USER || tmux new-session -s $USER tmux attack-session -t $USER || tmux new-session -s $USER
fi fi
# set up thefuck # thefuck
eval $(thefuck --alias) eval $(thefuck --alias)
# python # python
eval "$(pyenv init -)" eval "$(pyenv init -)"
# opam
[[ ! -r "$HOME/.opam/opam-init/init.zsh" ]] || source "$HOME/.opam/opam-init/init.zsh" > /dev/null 2> /dev/null
########################## ##########################
# COMMANDS BEFORE PROMPT # # COMMANDS BEFORE PROMPT #
########################## ##########################
# Display pfetch when starting zsh
pfetch pfetch