Skip to content

Dependency Catalog

fish-deps manages these tools. Run fish-deps to check status, fish-deps install to install missing Required/Recommended ones, or add --optional, --terminals, or --all to also include the Optional and/or Terminal Emulators tiers.

Tool Description
fish Fish shell >= 4.0
fzf Fuzzy finder
Tool Description
cargo Rust toolchain (via rustup); used by fish-deps to install Rust-based tools and to build fish from source. All paths are gated on type -q cargo and degrade gracefully.
starship Cross-shell prompt; loaded via type -q starship guard. Without it the Catppuccin nim-style fallback prompt activates.
uv Python package and project manager (Astral); used by the fish-from-source build path in fish-deps. All consumers degrade gracefully without it.
direnv Per-directory environment loading; integration is fully guarded with type -q direnv. Without it the direnv hook is simply not loaded and auto-venv activates normally.
paru AUR helper (Arch only; preferred); guarded throughout — non-Arch systems silently skip AUR-specific paths.
yay AUR helper (Arch only; fallback to paru); same guards apply.
eza Modern ls replacement
zoxide Smart cd with frecency
lsd ls replacement (fallback to eza)
bat Syntax-highlighted cat
ov Modern pager (replaces less); also backs the logs viewer. Not a Rust crate, despite the name collision with an unrelated ov crate on crates.io. Prefers go install github.com/noborus/ov@latest when go is available (always gets the latest release, and covers distros like Debian/Ubuntu that don’t package ov in their base repos); falls back to the system PM (AUR on Arch) otherwise.
ripgrep Fast line search
trash Safe delete (trash-cli); backs the rm and scrub wrappers.
python3 Standalone interpreter — used by the paru/yay log cleaner. Note: uv does not provide python3 on PATH, and Arch’s base does not include it, so it is listed separately. All consumers degrade gracefully without it.

Single-purpose tools that back one wrapper function (or less) and only matter if you already use that specific tool. Skipped by fish-deps install/sync unless you pass --optional.

Tool Description
btop Modern resource monitor; backs the top wrapper (falls back to system top).
dust Disk usage tree (Rust); one of two backends for the du wrapper (falls back to system du).
duf Disk usage/free overview; the other backend for the du wrapper (falls back to system du).
prettyping Colorized ping wrapper; backs the ping wrapper (falls back to system ping).
go Go toolchain; only used to install ov via go install (see below), which gets the latest release and doesn’t depend on your distro packaging ov. Package name varies by distro (go on Arch/Homebrew, golang/golang-go on Debian/Fedora) — install manually if the listed package name doesn’t resolve on your system.
lazygit Terminal git UI; only referenced by the lg abbreviation.
lazydocker Terminal docker UI; backs the ld wrapper.
docker Container runtime; gates the Docker context indicator in the right prompt and backs the ld wrapper. Both consumers are guarded with type -q docker and degrade gracefully without it. Installing the daemon package does not enable/start the service — do that yourself if you want it running.
yt-dlp Video/media downloader; backs the yt-dlp wrapper function. The wrapper falls back to the system yt-dlp and the rest of the config works without it.
screen GNU screen; fallback backend for jobrunner when tmux is unavailable.

GPU-accelerated terminal emulators. Only one is ever relevant to a given user — the one matching $TERM — so neither is installed by default. Skipped by fish-deps install/sync unless you pass --terminals (or --all).

Tool Description
kitty GPU-accelerated terminal; unlocks kitty-specific abbreviations and --hyperlink-format=kitty in the rg wrapper when $TERM = xterm-kitty.
wezterm GPU-accelerated terminal; unlocks WezTerm-specific abbreviations when it’s the active terminal.

Opt-in third-party services that require their own account/setup.

Tool Description
wakatime Developer time tracking
tailscale Mesh VPN client

The install priority for each tool:

Method Packages
cargo Rust tools (eza, lsd, bat, dust, ripgrep, trashy, zoxide, starship) — always gets the latest crate version
go install ov — preferred over the system PM when go is available; always gets the latest release
system PM paru / apt / brew / dnf / etc. — for tools without a crate or go install path
git clone fzf — installed from GitHub to ~/.fzf/
curl starship installer, fisher bootstrap, uv installer