Skip to content

fish-deps

Usage
fish-deps [status|install|update|sync] [--optional] [--terminals] [--all]

Unified command for managing all tools this configuration depends on, dispatching to subcommand handlers. Defaults to status when no subcommand is given.

Install method priority (highest to lowest): 1. git+cargo source build (fish shell itself) 2. cargo (Rust tools — gets latest crate version) 3. system PM (paru/apt/brew/etc.) 4. git clone (fzf) 5. curl installer (starship, fisher, uv)

When multiple methods are available you are prompted to choose.

Dependencies are grouped into five tiers:

Required fish, fzf Recommended cargo, starship, uv, zoxide, direnv, paru, yay, eza, lsd, bat, ov, ripgrep, trash, python3 Optional btop, dust, duf, prettyping, go, lazygit, lazydocker, docker, yt-dlp, screen — single-purpose wrapper conveniences that only matter if you already use that tool; skipped by install/sync unless --optional (or --all) is passed Terminal Emulators kitty, wezterm — only matter if one of them is your actual terminal; skipped by install/sync unless --terminals (or --all) is passed Integrations wakatime, tailscale

status Report installed/missing deps (default)
install Install missing deps interactively
update Update all installed deps
sync Install missing deps, then update all
--optional With install/sync: also offer Optional-tier deps
--terminals With install/sync: also offer Terminal-Emulator-tier deps
--all With install/sync: shorthand for --optional --terminals
0 Subcommand completed
1 Unknown subcommand
Terminal window
fish-deps sync
fish-deps
fish-deps install
fish-deps install --optional
fish-deps install --terminals
fish-deps install --all
fish-deps update

Dependencies: _fish_deps_status, _fish_deps_install, _fish_deps_update

Used by: check_fish_deps