a351e62a17
uv is now listed first in the catalog (before cargo and fish) so it is installed automatically before the fish source build is attempted. Install uses the official curl script; update uses `uv self update`. Catalog order is now: uv → cargo → fish → … ensuring prerequisites are in place before any dependent install method runs. README updated: uv and cargo added to the Required table, warning callout and dependency management note reflect the automatic install flow.
56 lines
2.0 KiB
Fish
56 lines
2.0 KiB
Fish
# Copyright (C) 2026 Rootiest
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
# Populates parallel arrays describing every managed dependency.
|
|
# Callers must invoke this function before accessing _fdc_* arrays.
|
|
#
|
|
# Array layout (same index across all sets):
|
|
# _fdc_bins — binary name (what `type -q` checks)
|
|
# _fdc_tiers — req | int | rec
|
|
# _fdc_cargo — cargo crate name, or "" if not on crates.io
|
|
# _fdc_pm — system PM package name, or "" if not in repos
|
|
# _fdc_special — special install key: rustup-installer | fisher-bootstrap |
|
|
# fzf-update | paru-build | pipx | curl-installer |
|
|
# git-cargo-fish | curl-uv | "" (none)
|
|
#
|
|
# uv and cargo are listed first so both are available before fish and other Rust tools.
|
|
function _fish_deps_catalog
|
|
set -g _fdc_bins \
|
|
uv cargo fish fisher starship fzf zoxide direnv paru \
|
|
wakatime tailscale \
|
|
eza lsd bat btop dust duf prettyping most rg lazygit lazydocker trash kitty wezterm
|
|
|
|
set -g _fdc_tiers \
|
|
req req req req req req req req rec \
|
|
int int \
|
|
rec rec rec rec rec rec rec rec rec rec rec rec rec rec
|
|
|
|
set -g _fdc_cargo \
|
|
"" "" "" "" starship "" zoxide "" "" \
|
|
"" "" \
|
|
eza lsd bat "" du-dust "" "" "" ripgrep "" "" trashy "" ""
|
|
|
|
set -g _fdc_pm \
|
|
uv cargo fish "" starship fzf zoxide direnv "" \
|
|
wakatime tailscale \
|
|
eza lsd bat btop dust duf prettyping most ripgrep lazygit lazydocker trash kitty wezterm
|
|
|
|
set -g _fdc_special \
|
|
curl-uv rustup-installer git-cargo-fish fisher-bootstrap curl-installer fzf-update "" "" paru-build \
|
|
wakatime-binary "" \
|
|
"" "" "" "" "" "" "" "" "" "" curl-lazydocker "" "" ""
|
|
end
|
|
|
|
# Returns the index (1-based) of $argv[1] in the catalog, or "" if not found.
|
|
function _fish_deps_catalog_idx --argument-names bin
|
|
_fish_deps_catalog
|
|
set -l i 1
|
|
for b in $_fdc_bins
|
|
if test "$b" = "$bin"
|
|
echo $i
|
|
return
|
|
end
|
|
set i (math $i + 1)
|
|
end
|
|
end
|