feat(yt-dlp): add wrapper with embedding + SponsorBlock defaults

Add functions/yt-dlp.fish, shadowing yt-dlp to prepend sane defaults
(--sponsorblock-remove all, --embed-subs, --embed-metadata,
--embed-thumbnail). Each default is suppressed when the user already
passes that flag, its alias (--add-metadata), its negation
(--no-embed-thumbnail), the --opt=value form (--sponsorblock-remove=...),
or the global --no-sponsorblock kill. User args pass through last so an
explicit flag wins on precedence. Gated as a C1 opinionated alias;
falls back to bare `command yt-dlp` when disabled.

Register yt-dlp as a recommended (rec tier) dependency in the fish-deps
catalog and document the function (§5.13) and dependency in the SSOT
and index.
This commit is contained in:
2026-06-22 00:55:12 -04:00
parent a76e4de605
commit 6bd6436c81
4 changed files with 86 additions and 6 deletions
+19 -1
View File
@@ -923,7 +923,7 @@ Add -i (interactive confirmation) to destructive commands:
Integrations wakatime, tailscale
Recommended cargo, starship, uv, direnv, paru, yay, eza, lsd, bat,
btop, dust, duf, prettyping, ov, ripgrep, lazygit,
lazydocker, trash, kitty, wezterm, python3
lazydocker, trash, kitty, wezterm, python3, yt-dlp
fish-deps
fish-deps install
@@ -1277,6 +1277,21 @@ Add -i (interactive confirmation) to destructive commands:
spark 1 1 2 5 14 42
echo "3 7 2 9 1" | spark
### yt-dlp
Synopsis: yt-dlp [args...] URL [URL...]
Wraps yt-dlp, prepending sane defaults: --sponsorblock-remove all,
--embed-subs, --embed-metadata, and --embed-thumbnail. Each default
is suppressed when you already pass that flag, its alias, or its
negation (e.g. --no-embed-thumbnail drops the thumbnail default;
--no-sponsorblock or your own --sponsorblock-remove drops ours). All
other arguments pass through unchanged, and --help falls through to
real yt-dlp. Opinionated component (C1 aliases); when disabled it
passes straight through to the system yt-dlp.
yt-dlp dQw4w9WgXcQ
yt-dlp --no-embed-thumbnail dQw4w9WgXcQ
---
## 5.14 Miscellaneous
@@ -1522,6 +1537,9 @@ fish-deps manages these tools. Run `fish-deps` to check status, or
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