Reworks fish-deps' dependency classification from three tiers to five: Required, Recommended, Optional, Terminal Emulators, and Integrations. - Add an Optional tier for single-purpose wrapper conveniences that only matter if you already use that specific tool (btop, dust, duf, prettyping, go, lazygit, lazydocker, docker, yt-dlp, screen). Skipped by `fish-deps install`/`sync` by default. - Split kitty/wezterm into their own Terminal Emulators tier, since only the one matching $TERM is ever relevant to a given user. - Add --optional, --terminals, and --all flags to `install`/`sync` to opt back into the skipped tiers, with a summary of how many were skipped and which flag restores them. - Fix `_fish_deps_status` marking missing Integrations as critical (red) the same as Required — only Required is red now; Recommended stays yellow, everything else renders as a neutral dim note. Also fixes two bugs surfaced during dependency testing on a fresh install: - `fish_right_prompt` called `docker context show` on every prompt with no `type -q docker` guard, unlike every other optional integration in this config — on a system without docker this printed a visible "Unknown command: docker" block on every single prompt render. Added the missing guard, and hardened the `ld` wrapper with explicit docker/lazydocker presence checks. - `ov`'s catalog entry offered `cargo install ov` as its preferred install method, but crates.io's `ov` is an unrelated crate, not the noborus/ov pager — cargo would silently install the wrong package. Removed the cargo path; `ov` now prefers `go install github.com/noborus/ov@latest` (ahead of the system PM) when go is available, since not all distros package `ov` in their base repos, and falls back to the system PM otherwise.
35 lines
919 B
Fish
35 lines
919 B
Fish
# Copyright (C) 2026 Rootiest
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
# CATEGORY
|
|
# 14-miscellaneous
|
|
#
|
|
# SYNOPSIS
|
|
# ld
|
|
#
|
|
# DESCRIPTION
|
|
# Launches lazydocker targeting the currently active Docker context by
|
|
# resolving the host endpoint from docker context inspect.
|
|
#
|
|
# EXIT STATUS
|
|
# 1 docker or lazydocker is not installed
|
|
#
|
|
# EXAMPLE
|
|
# ld
|
|
function ld --description 'Run lazydocker on the current Docker context'
|
|
if not type -q docker
|
|
echo "ld: docker is not installed" >&2
|
|
return 1
|
|
end
|
|
if not type -q lazydocker
|
|
echo "ld: lazydocker is not installed" >&2
|
|
return 1
|
|
end
|
|
|
|
# Fetch the host endpoint of the currently active Docker context
|
|
set -l current_host (docker context inspect --format '{{.Endpoints.docker.Host}}')
|
|
|
|
# Run lazydocker with the DOCKER_HOST variable set for this command only
|
|
env DOCKER_HOST=$current_host lazydocker
|
|
end
|