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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user