fix(deps): demote cargo/starship to rec, remove fisher from catalog

Required tier is now fish, fzf, and zoxide only — the tools the config
meaningfully can't function without. Everything else degrades gracefully.

- cargo: only used by fish-deps to install Rust tools or build fish from
  source; all paths are already gated on type -q cargo
- starship: type -q guard in conf.d/starship.fish; shell falls back to
  fish's built-in prompt without it
- fisher: auto-bootstrapped by first_run.fish; no need for users or
  fish-deps to manage it. Remove from catalog and clean up the now-dead
  fisher-bootstrap/special-fisher installer cases.

Catalog arrays verified aligned at 26 entries each.
This commit is contained in:
2026-06-11 23:50:37 -04:00
parent 5c224694ec
commit 36a303f7d4
3 changed files with 14 additions and 18 deletions
+9 -7
View File
@@ -850,11 +850,11 @@ Add -i (interactive confirmation) to destructive commands:
Dependencies are grouped into three tiers:
Required cargo, fish, fisher, starship, fzf, zoxide
Required fish, fzf, zoxide
Integrations wakatime, tailscale
Recommended uv, direnv, paru, yay, eza, lsd, bat, btop, dust, duf,
prettyping, ov, ripgrep, lazygit, lazydocker, trash,
kitty, wezterm, python3
Recommended cargo, starship, uv, direnv, paru, yay, eza, lsd, bat,
btop, dust, duf, prettyping, ov, ripgrep, lazygit,
lazydocker, trash, kitty, wezterm, python3
fish-deps
fish-deps install
@@ -1347,10 +1347,7 @@ fish-deps manages these tools. Run `fish-deps` to check status, or
## Required
cargo Rust toolchain (via rustup)
fish Fish shell >= 4.0
fisher Fish plugin manager
starship Cross-shell prompt
fzf Fuzzy finder
zoxide Smart cd with frecency
@@ -1361,6 +1358,11 @@ fish-deps manages these tools. Run `fish-deps` to check status, or
## Recommended
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 fish falls back to its built-in default prompt.
uv Python package and project manager (Astral); used by the
fish-from-source build path in fish-deps. All consumers
degrade gracefully without it.
+5 -5
View File
@@ -14,27 +14,27 @@
# echo $_fdc_bins
function _fish_deps_catalog
set -g _fdc_bins \
uv cargo fish fisher starship fzf zoxide direnv paru yay \
uv cargo fish starship fzf zoxide direnv paru yay \
wakatime tailscale \
eza lsd bat btop dust duf prettyping ov rg lazygit lazydocker trash kitty wezterm python3
set -g _fdc_tiers \
rec req req req req req req rec rec rec \
rec rec req rec req req rec rec rec \
int int \
rec rec rec rec rec rec rec rec rec rec rec rec rec rec rec
set -g _fdc_cargo \
"" "" "" "" starship "" zoxide "" "" "" \
"" "" "" starship "" zoxide "" "" "" \
"" "" \
eza lsd bat "" du-dust "" "" ov ripgrep "" "" trashy "" "" ""
set -g _fdc_pm \
uv cargo fish "" starship fzf zoxide direnv "" yay \
uv cargo fish starship fzf zoxide direnv "" yay \
wakatime tailscale \
eza lsd bat btop dust duf prettyping ov ripgrep lazygit lazydocker trash kitty wezterm python
set -g _fdc_special \
curl-uv rustup-installer git-cargo-fish fisher-bootstrap curl-installer fzf-update "" "" paru-build yay-build \
curl-uv rustup-installer git-cargo-fish curl-installer fzf-update "" "" paru-build yay-build \
wakatime-binary "" \
"" "" "" "" "" "" "" "" "" "" curl-lazydocker "" "" "" ""
end
-6
View File
@@ -92,9 +92,6 @@ function _fish_deps_install
case fzf-update
set -a methods special-fzf
set -a method_labels "git clone (~/.fzf)"
case fisher-bootstrap
set -a methods special-fisher
set -a method_labels "curl bootstrap (fisher)"
case curl-installer
set -a methods special-curl
set -a method_labels "curl installer"
@@ -202,9 +199,6 @@ function _fish_deps_install
rm -rf "$_tmpdir"
case special-fzf
fzf-update
case special-fisher
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source
fisher update
case special-curl
if test "$bin" = starship
curl -sS https://starship.rs/install.sh | sh