feat(installer): enrich brew deps for fish on Arch - #179
Open
AdrianLinares wants to merge 2 commits into
Open
Conversation
The Gentlemen.Dots installer declares `carapace` as a pacman package for Arch Linux in the Fish/Zsh/Nushell shell-install steps, but `carapace` is not available in the official Arch repositories. It only exists in the AUR as `carapace` (source build) or `carapace-bin` (prebuilt), and `carapace-bin` Provides: carapace. As a result `pacman -S --needed --noconfirm fish carapace zoxide atuin starship` fails with `target not found: carapace`, aborting the whole shell install step before starship.toml or the fish config are copied. Removing `carapace` from the Arch field makes pacman proceed. The carapace binary can still be provided via the AUR (carapace-bin) or Homebrew fallback. Brew/Fedora/Debian fields keep carapace where it is actually installable.
The README documents `brew install fish fisher starship zoxide atuin fzf carapace nvm rustup-init coreutils` as the full set of fish dependencies on macOS/Linux. The installer's Brew field only listed `fish carapace zoxide atuin starship`, leaving fisher, fzf, coreutils, nvm and rustup-init to be installed manually. This enriches the Brew field to match the README, and sets the Arch field to empty so `runNativeWithBrewFallback` falls through cleanly to Homebrew on Arch. carapace, starship, atuin and zoxide are available on both pacman and AUR for users who prefer pacman, but going through brew keeps the fish-shell path consistent (per README §2.3, `.tmux.conf` hard-codes `/home/linuxbrew/.linuxbrew/bin/fish` as default-shell). Applies only to the Fish shell path. Zsh and Nushell paths are unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Two coupled issues for the Fish shell installation path:
brew install fish fisher starship zoxide atuin fzf carapace nvm rustup-init coreutilsas the full set of fish dependencies on macOS/Linux (README.md§2.3). The installer'sBrewfield only listedfish carapace zoxide atuin starship, so fisher, fzf, coreutils, nvm, and rustup-init were silently skipped — users had to install them manually post-install to get the documented fish experience.README.md§2.3 —.tmux.confhard-codes/home/linuxbrew/.linuxbrew/bin/fishas the default shell), but the installer still triedpacman -S fish …, producing a partial install that doesn't match what the README describes.Root cause
installer/internal/tui/installer.go(Fish block):The
Brewfield is missing five packages from the README's documented list (fisher, fzf, coreutils, nvm, rustup-init). TheArchfield non-empty value makesrunNativeWithBrewFallbackrun pacman first and treat the native install as success, never reaching brew.Fix
Two field changes, Fish shell block only:
Brewfish carapace zoxide atuin starshipfish fisher starship zoxide atuin fzf carapace nvm rustup-init coreutils(matches README)Archfish zoxide atuin starship""(empty → brew fallback)Zsh and Nushell blocks are untouched. Their Brew fields (which already include carapace) and their Arch fields (which already exclude carapace after #178) remain unchanged.
Verification
The single failing test (
internal/tui) is an environmental golden-file mismatch — the golden expectsDetected: macOSbut this machine runs Arch Linux. It fails identically on pristinemainand on the base of #178 (without either patch). Unrelated to this PR.Stacking note
fix/arch-carapace-package-not-found).main— but then the carapace removal from the Fish Arch field would reappear in this diff until fix(installer): carapace not in pacman repos on Arch #178 lands. Stacking is the cleaner story here.