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

2.8 KiB

title, manTitle, sidebar, helpKeywords
title manTitle sidebar helpKeywords
Dependency Catalog 6. DEPENDENCY CATALOG
order
10
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
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