diff --git a/docs/fish-config.md b/docs/fish-config.md index c739c25..01b88bf 100644 --- a/docs/fish-config.md +++ b/docs/fish-config.md @@ -845,18 +845,16 @@ Add -i (interactive confirmation) to destructive commands: 3. system PM (paru/apt/brew/etc.) 4. git clone (fzf) 5. curl installer (starship, fisher, uv) - 6. pipx (Python tools) When multiple methods are available you are prompted to choose. Dependencies are grouped into three tiers: - Required uv, cargo, fish, fisher, starship, fzf, zoxide, - direnv, paru/yay + Required fish, fzf, zoxide Integrations wakatime, tailscale - Recommended 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 @@ -1349,16 +1347,9 @@ fish-deps manages these tools. Run `fish-deps` to check status, or ## Required - uv Python package manager (Astral) - 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 - direnv Per-directory environment loading - paru AUR helper (Arch only; preferred) - yay AUR helper (Arch only; fallback) ## Integrations @@ -1367,6 +1358,20 @@ 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. + 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 lsd ls replacement (fallback to eza) bat Syntax-highlighted cat @@ -1396,7 +1401,6 @@ The install priority for each tool: system PM paru / apt / brew / dnf / etc. — for tools without a crate git clone fzf — installed from GitHub to ~/.fzf/ curl starship installer, fisher bootstrap, uv installer - pipx Python-based tools --- diff --git a/functions/_fish_deps_catalog.fish b/functions/_fish_deps_catalog.fish index 17c2946..4af1fc9 100644 --- a/functions/_fish_deps_catalog.fish +++ b/functions/_fish_deps_catalog.fish @@ -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 \ - req req req req req req req req 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 diff --git a/functions/_fish_deps_install.fish b/functions/_fish_deps_install.fish index 928ec81..1af829d 100644 --- a/functions/_fish_deps_install.fish +++ b/functions/_fish_deps_install.fish @@ -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" @@ -117,14 +114,6 @@ function _fish_deps_install set -a methods special-yay set -a method_labels "build from AUR (makepkg)" end - case pipx - if type -q pipx - set -a methods special-pipx - set -a method_labels "pipx ($bin)" - else if type -q pip - set -a methods special-pip - set -a method_labels "pip install --user ($bin)" - end end if test (count $methods) -eq 0 @@ -210,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 @@ -264,10 +250,6 @@ function _fish_deps_install popd 2>/dev/null rm -rf "$_tmpdir" test $_build_ok -eq 1 - case special-pipx - pipx install $bin - case special-pip - pip install --user $bin end if test $status -eq 0