feat(deps): add marktext and firejail as optional dependencies

Both back the new `md` wrapper and nothing else, so both land in the
Optional tier, skipped by `fish-deps install`/`sync` unless `--optional`
(or `--all`) is passed.

firejail is a plain system package everywhere, so it needs no special
handling. marktext is not: upstream ships an AUR package and its own
GitHub release assets, and no distro carries it under a common name. Its
`_fdc_pm` entry is therefore deliberately empty, and a `marktext-release`
special offers the AUR package via paru/yay where one is present and
otherwise installs upstream's AppImage to ~/.local/bin/marktext.

The release assets embed their version in the filename, so there is no
stable /releases/latest/download URL to fetch -- `_fish_deps_marktext_appimage`
reads the download URL from the GitHub API instead. Upstream builds the
Linux AppImage for x86_64 only, and the helper says so rather than
downloading an unusable binary.

`fish-deps update` refreshes marktext through the AUR where available, and
otherwise only when ~/.local/bin/marktext exists -- a distro-packaged
marktext belongs to that package manager, and dropping an AppImage into
~/.local/bin would shadow it.
This commit is contained in:
2026-09-16 03:56:48 -04:00
parent 8aa2d15ae8
commit f153a3db87
7 changed files with 2456 additions and 2672 deletions
+20
View File
@@ -126,6 +126,20 @@ function _fish_deps_install
case wakatime-binary
set -a methods special-wakatime
set -a method_labels "binary download (github releases)"
case marktext-release
# Upstream packages MarkText for the AUR and for its own
# GitHub releases only -- no distro carries it under a
# common name, so off Arch the AppImage is the only
# option and $_fdc_pm is deliberately empty.
if type -q paru
set -a methods special-marktext-paru
set -a method_labels "paru -S marktext-bin (AUR)"
else if type -q yay
set -a methods special-marktext-yay
set -a method_labels "yay -S marktext-bin (AUR)"
end
set -a methods special-marktext-appimage
set -a method_labels "AppImage download (~/.local/bin/marktext)"
case go-ov
if type -q go
set -a methods special-go-ov
@@ -251,6 +265,12 @@ function _fish_deps_install
test $_go_status -eq 0
case special-lazydocker
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash
case special-marktext-paru
paru -S --noconfirm marktext-bin
case special-marktext-yay
yay -S --noconfirm marktext-bin
case special-marktext-appimage
_fish_deps_marktext_appimage
case special-wakatime
set -l _arch (uname -m)
switch $_arch