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.
Tool Replaces / Purpose Shell integration ezals — icons, git status, tree viewsls, ll, la, lt, lS, lD aliases in both Fish and Zshbatcat — syntax highlightingUsed in fzfbat and fzfnvim aliases for fzf preview panes fzf— fuzzy finder fzf --zsh / fzf --fish init sourced at shell start; fzfbat, fzfnvim aliaseszoxidecd — smart directory jumperz command available in both shells; cd aliased to z in Zshatuinshell history — searchable, synced atuin init zsh / atuin init fish sourced at shell startfdfind — fast, user-friendlyPowers FZF_DEFAULT_COMMAND in Zsh lazygitGit TUI Launched from Neovim via LazyVim’s built-in keymap yaziFile manager TUI Standalone terminal file manager btoptop / htop — resource monitorStandalone; run btop in any terminal carapaceShell completions for 400+ CLIs carapace _carapace sourced at shell start in both Fish and ZshstarshipShell prompt Cross-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:
Fish aliases (config.fish)
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:
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.