fish-deps
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 subcommandis 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 |
Arguments:
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 |
Exit Status:
0 |
Subcommand completed |
1 |
Unknown subcommand |
fish-deps syncfish-depsfish-deps installfish-deps install --optionalfish-deps install --terminalsfish-deps install --allfish-deps update