Refactored dot-zshrc config

Added in command checking to the dot-zshrc file to now check if things
are installed before attempting to set aliases or run programs. This
allows easier sharing of this file for other users or even other
devices.
This commit is contained in:
2026-07-04 12:37:22 -04:00
parent 80c8976c9d
commit dba0fb01b7
+35 -14
View File
@@ -3,25 +3,36 @@
############### ALIASES ####################
# Load bottom with the proper color scheme
alias btm="btm --theme=gruvbox"
if command -v btm &>/dev/null; then
alias btm="btm --theme=gruvbox"
fi
# Remap ls to use lsd
alias ls="lsd"
# Add alias for la to call lsd -lah
alias la="lsd -lah"
if command -v lsd &>/dev/null; then
alias ls="lsd"
# Add alias for la to call lsd -lah
alias la="lsd -lah"
fi
# Replace cat with bat
alias cat="bat"
if command -v bat &>/dev/null; then
alias cat="bat"
fi
# Alias cd to z for zoxide
alias cd="z"
if command -v zoxide &>/dev/null; then
alias cd="z"
fi
# Alias vim to nvim
alias vim="nvim"
if command -v nvim &>/dev/null; then
alias vim="nvim"
fi
# Alias for stow --dotfiles
alias stow.="stow --dotfiles"
if command -v stow &>/dev/null; then
alias stow.="stow --dotfiles"
fi
############### END ALIASES ###############
@@ -31,7 +42,9 @@ alias stow.="stow --dotfiles"
export PATH=$HOME/.local/bin:$PATH
# Export my local-progs directory to find executables
export PATH=$HOME/local-progs/:$PATH
if [[ -d "$HOME/local-progs" ]]; then
export PATH=$HOME/local-progs/:$PATH
fi
# Pre-configure settings for zsh-vi-mode
function zvm_config() {
@@ -43,17 +56,25 @@ function zvm_config() {
# Add in our fzf integrations for zsh
# Comment if you don't want the fzf integration
source <(fzf --zsh)
if command -v fzf &>/dev/null; then
source <(fzf --zsh)
fi
# Enable vi mode for zsh
source $HOME/local-progs/zsh-vi-mode/zsh-vi-mode.plugin.zsh
if [[ -f "$HOME/local-progs/zsh-vi-mode/zsh-vi-mode.plugin.zsh" ]]; then
source $HOME/local-progs/zsh-vi-mode/zsh-vi-mode.plugin.zsh
fi
# We want to make sure that autocompletions are loaded
autoload -Uz compinit && compinit
# Initialize zoxide
eval "$(zoxide init zsh)"
if command -v zoxide &>/dev/null; then
eval "$(zoxide init zsh)"
fi
# Finally we want to use starship for our prompt
# (because rust that's why)
eval "$(starship init zsh)"
if command -v starship &>/dev/null; then
eval "$(starship init zsh)"
fi