Files
fish-config/docs/manual/06-dependency-catalog.md
T
rootiest 63e71ac9dd feat(docs): generate fish-config.md from the manual tree
Adds docs/build-manual.py (--concat) and a round-trip test in
verify-manual.py that reproduces the pre-migration fish-config.md
exactly from docs/manual/.

Fixes found by the round-trip check, applied in split-manual.py and
re-run to regenerate docs/manual/:
- NAME/SYNOPSIS/TABLE OF CONTENTS had no sidebar.order, so they sorted
  after every numbered section instead of interleaving with DESCRIPTION
  in original document order. All manual pages now get sidebar.order
  from a single position counter matching source order.
- split_h1/split_h2 used .strip() on section bodies, which also ate
  leading indentation on the first body line, corrupting the 4-space
  indented code blocks that open SYNOPSIS and TABLE OF CONTENTS.
- The source's leading pandoc metadata block (title/section/header/
  date/author) was discarded entirely by the splitter. It's now parsed
  off via manualtools.parse and stashed on index.md under a "pandoc"
  key; build-manual.py re-emits it verbatim ahead of the first heading.
2026-07-25 21:39:48 -04:00

74 lines
2.8 KiB
Markdown

---
title: Dependency Catalog
manTitle: 6. DEPENDENCY CATALOG
sidebar:
order: 10
helpKeywords:
- catalog
- deps-catalog
---
fish-deps manages these tools. Run `fish-deps` to check status, or
`fish-deps install` to install missing ones.
## Required
fish Fish shell >= 4.0
fzf Fuzzy finder
zoxide Smart cd with frecency
## Integrations
wakatime Developer time tracking
tailscale Mesh VPN client
## 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 the Catppuccin nim-style fallback prompt activates.
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
btop Modern resource monitor
dust Disk usage tree (Rust)
duf Disk usage/free overview
prettyping Colorized ping wrapper
ov Modern pager (replaces less)
ripgrep Fast line search
lazygit Terminal git UI
lazydocker Terminal docker UI
trash Safe delete (trash-cli)
kitty GPU-accelerated terminal (primary)
wezterm GPU-accelerated terminal (alternative)
python3 Standalone interpreter — used by the paru/yay log cleaner.
Note: uv does not provide python3 on PATH, and Arch's base
does not include it, so it is listed separately. All
consumers degrade gracefully without it.
yt-dlp Video/media downloader; backs the yt-dlp wrapper function.
Optional — the wrapper falls back to the system yt-dlp and
the rest of the config works without it.
## Install Methods
The install priority for each tool:
cargo Rust tools (eza, lsd, bat, dust, ov, ripgrep, trashy, zoxide,
starship) — always gets the latest crate version
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
---