dotfiles/zshrc

108 lines
2.6 KiB
Bash
Raw Normal View History

2021-06-17 16:20:42 +00:00
# Option adjustments
unsetopt nomatch
2022-03-15 20:49:41 +00:00
# Swap CAPSLOCK and ESC
setxkbmap -option caps:swapescape
2021-06-14 19:20:50 +00:00
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
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
2021-08-05 19:09:23 +00:00
# Use powerline
USE_POWERLINE="true"
# Source manjaro-zsh-configuration
if [[ -e /usr/share/zsh/manjaro-zsh-config ]]; then
source /usr/share/zsh/manjaro-zsh-config
fi
# Use a prompt, depending on what is available:
# 1. starship
# 2. p10k
# 3. manjaro
2021-08-09 16:58:16 +00:00
if (( $+commands[starship] )); then
2021-08-05 18:15:57 +00:00
eval "$(starship init zsh)"
else
2021-08-05 18:56:03 +00:00
if [[ -s ~/.p10k.zsh ]]; then
source ~/.p10k.zsh
else
# Use manjaro zsh prompt
if [[ -e /usr/share/zsh/manjaro-zsh-prompt ]]; then
source /usr/share/zsh/manjaro-zsh-prompt
fi
2021-08-05 18:56:03 +00:00
fi
fi
# Autosuggestions
if [[ -s /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh ]]; then
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
fi
# Intelligent and fast autojump
2021-08-09 16:58:16 +00:00
if (( $+commands[zoxide] )); then
2021-08-05 18:56:03 +00:00
eval "$(zoxide init zsh)"
2021-08-05 18:15:57 +00:00
fi
2021-06-14 19:20:50 +00:00
# Cheat my way through the CLI
2021-08-09 16:58:16 +00:00
if (( $+commands[navi] )); then
eval "$(navi widget zsh)"
fi
2022-04-07 06:25:51 +00:00
# Per-directory env
if (( $+commands[direnv])); then
eval "$(direnv hook zsh)"
fi
2022-04-11 22:11:10 +00:00
# Use $FINDER and $EDITOR
if (( $+commands[$FINDER] )); then
e?() {
2022-04-11 22:11:10 +00:00
$EDITOR $($FINDER)
}
fi
2021-08-09 16:58:16 +00:00
# Use fd for fzf
if (( $+commands[fd] && $+commands[fzf] )); then
2021-08-09 16:58:16 +00:00
_fzf_compgen_path() {
fd --hidden --follow --exclude ".git" . "$1"
}
_fzf_compgen_dir() {
fd --type d --hidden --follow --exclude ".git" . "$1"
}
fi
2021-06-14 19:20:50 +00:00
# Custom aliases
2021-08-05 18:56:03 +00:00
if [[ -s ~/.aliases ]]; then
2021-08-05 19:09:23 +00:00
source ~/.aliases
2021-08-05 18:56:03 +00:00
fi
2022-05-16 15:41:00 +00:00
if [[ -s ~/.aliases.local ]]; then
source ~/.aliases.local
fi
2021-06-14 19:20:50 +00:00
2021-06-17 16:20:42 +00:00
# NVM
2021-08-05 18:56:03 +00:00
if [[ -s "$NVM_DIR/nvm.sh" ]]; then
source "$NVM_DIR/nvm.sh" # This loads nvm
fi
if [[ -s "$NVM_DIR/bash_completion" ]]; then
source "$NVM_DIR/bash_completion" # This loads nvm bash_completion
fi
2021-07-20 15:50:29 +00:00
2022-04-03 03:48:19 +00:00
# Virtualenvwrapper
2022-10-16 20:08:35 +00:00
if [[ -s "$HOME/.local/bin/virtualenvwrapper_lazy.sh" ]]; then
source "$HOME/.local/bin/virtualenvwrapper_lazy.sh"
elif [[ -s "$HOME/.local/bin/virtualenvwrapper.sh" ]]; then
2022-04-03 03:48:19 +00:00
source "$HOME/.local/bin/virtualenvwrapper.sh"
fi
# broot
if [[ -s ~/.config/broot/launcher/bash/br ]]; then
source ~/.config/broot/launcher/bash/br
fi
2021-07-20 15:50:29 +00:00
# Source machine-specific setup
2021-08-05 18:56:03 +00:00
if [[ -s ~/.zshrc.local ]]; then
2021-08-05 19:09:23 +00:00
source ~/.zshrc.local
2021-08-05 18:56:03 +00:00
fi