89 lines
2.5 KiB
Bash
89 lines
2.5 KiB
Bash
typeset -U path cdpath fpath manpath
|
|
for profile in ${(z)NIX_PROFILES}; do
|
|
fpath+=($profile/share/zsh/site-functions $profile/share/zsh/$ZSH_VERSION/functions $profile/share/zsh/vendor-completions)
|
|
done
|
|
|
|
HELPDIR="${ZSH_HELPDIR:-${XDG_DATA_HOME:-$HOME/.local/share}/zsh/$ZSH_VERSION/help}"
|
|
|
|
# Source zsh-autosuggestions (use environment variable)
|
|
if [ -n "$ZSH_AUTOSUGGESTIONS_PATH" ]; then
|
|
source "$ZSH_AUTOSUGGESTIONS_PATH"
|
|
ZSH_AUTOSUGGEST_STRATEGY=(history)
|
|
fi
|
|
|
|
# oh-my-zsh extra settings for plugins
|
|
plugins=(git sudo extract colored-man-pages command-not-found history docker kubectl)
|
|
|
|
source "$ZSH/oh-my-zsh.sh"
|
|
|
|
# Source zoxide (use environment variable)
|
|
if [ -n "$ZOXIDE_INIT" ]; then
|
|
eval "$($ZOXIDE_INIT zsh)"
|
|
fi
|
|
|
|
# History options should be set in .zshrc and after oh-my-zsh sourcing.
|
|
HISTSIZE="10000"
|
|
SAVEHIST="10000"
|
|
HISTFILE="${XDG_CONFIG_HOME:-$HOME/.config}/zsh/.zsh_history"
|
|
mkdir -p "$(dirname "$HISTFILE")"
|
|
|
|
# Source fzf (use environment variable)
|
|
if [[ $options[zle] = on ]] && [ -n "$FZF_ZSH" ]; then
|
|
source <($FZF_ZSH --zsh)
|
|
fi
|
|
|
|
# Source zsh-syntax-highlighting (use environment variable)
|
|
if [ -n "$ZSH_SYNTAX_HIGHLIGHTING_PATH" ]; then
|
|
source "$ZSH_SYNTAX_HIGHLIGHTING_PATH"
|
|
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main)
|
|
fi
|
|
|
|
# Source catppuccin zsh-syntax-highlighting (use environment variable)
|
|
if [ -n "$CATPPUCCIN_ZSH_SYNTAX_PATH" ]; then
|
|
source "$CATPPUCCIN_ZSH_SYNTAX_PATH"
|
|
fi
|
|
|
|
# Set shell options
|
|
set_opts=(
|
|
HIST_FCNTL_LOCK HIST_IGNORE_DUPS HIST_IGNORE_SPACE SHARE_HISTORY autocd
|
|
NO_APPEND_HISTORY NO_EXTENDED_HISTORY NO_HIST_EXPIRE_DUPS_FIRST
|
|
NO_HIST_FIND_NO_DUPS NO_HIST_IGNORE_ALL_DUPS NO_HIST_SAVE_NO_DUPS
|
|
)
|
|
for opt in "${set_opts[@]}"; do
|
|
setopt "$opt"
|
|
done
|
|
unset opt set_opts
|
|
|
|
# Source starship (use environment variable)
|
|
if [[ $TERM != "dumb" ]] && [ -n "$STARSHIP_INIT" ]; then
|
|
eval "$($STARSHIP_INIT zsh)"
|
|
fi
|
|
|
|
# Kitty shell integration
|
|
if test -n "$KITTY_INSTALLATION_DIR"; then
|
|
export KITTY_SHELL_INTEGRATION="no-rc"
|
|
autoload -Uz -- "$KITTY_INSTALLATION_DIR/shell-integration/zsh/kitty-integration"
|
|
kitty-integration
|
|
unfunction kitty-integration
|
|
fi
|
|
|
|
# Source direnv (use environment variable)
|
|
if [ -n "$DIRENV_HOOK" ]; then
|
|
eval "$($DIRENV_HOOK zsh)"
|
|
fi
|
|
|
|
# Aliases
|
|
# alias -- la='eza -a'
|
|
# alias -- ll='eza -l'
|
|
# alias -- lla='eza -la'
|
|
# alias -- ls='eza'
|
|
# alias -- lt='eza --tree'
|
|
|
|
# Eat shell integration
|
|
[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && source "$EAT_SHELL_INTEGRATION_DIR/zsh"
|
|
|
|
# Source user aliases
|
|
if [ -f "$XDG_CONFIG_HOME/zsh/aliases.zsh" ]; then
|
|
source "$XDG_CONFIG_HOME/zsh/aliases.zsh"
|
|
fi
|