Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/erickm13/Salchipapa.Dots/llms.txt

Use this file to discover all available pages before exploring further.

The installer deploys a curated set of modern CLI replacements and productivity tools via Homebrew, then wires each one into Fish and Zsh with aliases, init hooks, and completions. Every tool below is configured automatically — no manual post-install steps are required when using install.sh.

Core tools

ToolReplaces / PurposeShell integration
ezals — icons, git status, tree viewsls, ll, la, lt, lS, lD aliases in both Fish and Zsh
batcat — syntax highlightingUsed in fzfbat and fzfnvim aliases for fzf preview panes
fzf— fuzzy finderfzf --zsh / fzf --fish init sourced at shell start; fzfbat, fzfnvim aliases
zoxidecd — smart directory jumperz command available in both shells; cd aliased to z in Zsh
atuinshell history — searchable, syncedatuin init zsh / atuin init fish sourced at shell start
fdfind — fast, user-friendlyPowers FZF_DEFAULT_COMMAND in Zsh
lazygitGit TUILaunched from Neovim via LazyVim’s built-in keymap
yaziFile manager TUIStandalone terminal file manager
btoptop / htop — resource monitorStandalone; run btop in any terminal
carapaceShell completions for 400+ CLIscarapace _carapace sourced at shell start in both Fish and Zsh
starshipShell promptCross-shell prompt with Solarized Osaka palette
fastfetchneofetch — system infoReads from ~/.config/fastfetch presets

eza aliases

Both Fish and Zsh define a consistent eza alias set. Fish uses slightly shorter flags; Zsh adds --no-permissions, --no-time, and --no-user for cleaner output:
alias ls="eza --icons"
alias ll="eza -la --icons --git"
alias lt="eza --tree --icons"
alias lt2="eza --tree --icons --level=2"
alias lt3="eza --tree --icons --level=3"
alias lt4="eza --tree --icons --level=4"
alias ld="eza -lD --icons"
alias lf="eza -la --icons -f"
alias lr="eza -la --icons --sort=modified --reverse"
alias lS="eza -la --icons --sort=size --reverse"
alias ls="eza --no-permissions --git --no-time --no-user --icons --group-directories-first"
alias ll="eza -l --no-permissions --no-time --no-user --icons --group-directories-first"
alias la="eza -la --no-permissions --no-time --no-user --icons --group-directories-first"
alias lt="eza -lT --no-permissions --no-time --no-user --icons --group-directories-first"
alias lt2="eza -lT --no-permissions --no-time --no-user --icons --group-directories-first --level=2"
alias lt3="eza -lT --no-permissions --no-time --no-user --icons --group-directories-first --level=3"
alias lt4="eza -lT --no-permissions --no-time --no-user --icons --group-directories-first --level=4"
alias lS="eza -l --no-permissions --sort=size --icons"
alias lD="eza -l --no-permissions --sort=date --icons"
alias lg="eza -l --no-permissions --git --icons"
alias lf="eza -l --git --group-directories-first"

fzf configuration

Default command (Zsh)

export FZF_DEFAULT_COMMAND="fd --hidden --strip-cwd-prefix --exclude .git"
export FZF_DEFAULT_T_COMMAND="$FZF_DEFAULT_COMMAND"
export FZF_ALT_COMMAND="fd --type=d --hidden --strip-cwd-prefix --exclude .git"
fd drives all fzf file listings, including hidden files, while .git directories are always excluded.

Preview aliases

Both shells define two aliases that combine fzf with bat for syntax-highlighted preview panes: Fish:
alias fzfbat='fzf --preview="bat --theme=\"Solarized (dark)\" --color=always {}"'
alias fzfnvim='nvim (fzf --preview="bat --theme=\"Solarized (dark)\" --color=always {}")'
Zsh:
alias fzfbat='fzf --preview="bat --theme=gruvbox-dark --color=always {}"'
alias fzfnvim='nvim $(fzf --preview="bat --theme=gruvbox-dark --color=always {}")'
fzfbat opens an interactive file picker with a live bat preview. fzfnvim opens the selected file directly in Neovim.

zoxide

Zoxide is initialised in both shells:
# Zsh
eval "$(zoxide init zsh)"
# Fish
zoxide init fish | source
In Zsh, cd is aliased to z so the smart jump behavior is transparent:
alias cd="z"

atuin

Atuin replaces shell history with a searchable, optionally synced database:
# Zsh
eval "$(atuin init zsh)"
# Fish
atuin init fish | source

carapace

Carapace provides completion definitions for over 400 CLI tools and bridges completions from Zsh, Fish, Bash, and inshellisense:
# Zsh
export CARAPACE_BRIDGES='zsh,fish,bash,inshellisense'
zstyle ':completion:*' format $'\e[2;37mCompleting %d\e[m'
source <(carapace _carapace)
# Fish
set -Ux CARAPACE_BRIDGES 'zsh,fish,bash,inshellisense'
carapace _carapace | source
On first Fish startup the config initialises completion files for every registered tool:
carapace --list | awk '{print $1}' | xargs -I{} touch ~/.config/fish/completions/{}.fish

Obsidian vault sync

A Fish alias keeps an Obsidian vault (stored as a git repo at ~/.config/obsidian) synced to GitHub with a single command:
alias obs="git -C ~/.config/obsidian add . && git -C ~/.config/obsidian commit -m 'update notes' && git -C ~/.config/obsidian push"
Run obs from any directory to stage, commit, and push all vault changes.

Git shortcuts

Both shells include git shorthand aliases. Fish and Zsh differ slightly: Fish (config.fish):
alias gs="git status"
alias gc="git commit -m"
alias gp="git push"
alias gl="git log --oneline --graph"
Zsh (.zshrc):
alias gs="git status"
alias ga="git add"
alias gc="git commit -m"
alias gp="git push -u origin main"

Angular CLI

Angular CLI is installed globally via npm:
npm install -g @angular/cli
In Zsh, Angular CLI autocompletion is loaded at shell start:
source <(ng completion script)

NVM — Node Version Manager

NVM is installed via Homebrew. The shell configs source it at startup:
# Zsh (Linux path)
export NVM_DIR="$HOME/.nvm"
[ -s "/home/linuxbrew/.linuxbrew/opt/nvm/nvm.sh" ] && \. "/home/linuxbrew/.linuxbrew/opt/nvm/nvm.sh"
[ -s "/home/linuxbrew/.linuxbrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/home/linuxbrew/.linuxbrew/opt/nvm/etc/bash_completion.d/nvm"
Fish uses the jorgebucaran/nvm.fish plugin managed by Fisher.

Volta

Volta is an alternative Node version manager. Its binary directory is prepended to PATH in both Fish and Zsh:
export PATH="$HOME/.volta/bin:$PATH"

PATH layout (Fish / Linux)

On Linux, Fish builds PATH with the following priority order:
set -x PATH \
  $HOME/.local/bin \
  $HOME/.opencode/bin \
  $HOME/.volta/bin \
  $HOME/.bun/bin \
  $HOME/.nix-profile/bin \
  /nix/var/nix/profiles/default/bin \
  /usr/local/bin \
  $HOME/.config \
  $HOME/.cargo/bin \
  /usr/local/lib/* \
  $PATH

yazi and btop are excellent companions for day-to-day terminal work. Launch yazi for a full TUI file manager with image previews, and btop for a real-time resource monitor with CPU, memory, network, and disk graphs — all without leaving the terminal.

Build docs developers (and LLMs) love