Skip to content

Closes #183, remove AUR-only packages from Arch install lists - #202

Open
Albe841114 wants to merge 1 commit into
Gentleman-Programming:mainfrom
Albe841114:fix-c-carapace-aur
Open

Albe841114 wants to merge 1 commit into
Gentleman-Programming:mainfrom
Albe841114:fix-c-carapace-aur

Conversation

@Albe841114

@Albe841114 Albe841114 commented Sep 7, 2026 •

Copy link
Copy Markdown

Closes #183

What

carapace (and, in the zsh list, zsh-theme-powerlevel10k) only exist in the
AUR, not in the official Arch repositories (core/extra). pacman -S
transactions are atomic: one unresolvable name aborts the whole transaction,
so the installer's pacman -S --needed --noconfirm <list> step fails and
installs nothing, not even the five legitimate packages it was asked to
install.

This PR removes those two names from the three Arch package lists (fish, zsh,
nushell) in stepInstallShell. The shells keep their remaining tools (zoxide,
atuin, starship, zsh-autosuggestions, zsh-syntax-highlighting, zsh-autocomplete,
jq, bash). Fedora and other distros keep carapace, since it is available there
through their package managers.

Out of scope

This PR only touches the Arch package lists and their tests. It does not touch
dry-run behavior, the repo clone/cleanup guard, or backup handling of
non-regular files (sockets, FIFOs, devices). Those come in the A to B to D
chain of follow-up PRs (#193, #190, #195).

Review budget

93 lines changed (+88/-5) across 3 files: 3 lines of package lists and 85
lines of tests that verify from the source that carapace cannot sneak back in.

  • tui/installer.go: 3 one-line list edits.
  • tui/arch_packages_source_test.go (new): two regression guards that read
    the real Arch: list literals out of installer.go. The existing
    platform_packages tests build their fixtures inline, so they cannot catch a
    regression in the actual source strings. One test fails if any AUR-only name
    appears in any Arch list; the other pins the exact expected content of all 7
    Arch lists.
  • tui/platform_packages_test.go: 2 expectation lines updated to match the
    new pacman command.

Relationship to #197

This PR comes from splitting #197 into focused per-issue PRs. It is
standalone: it is not part of the A/B/D chain, it targets main directly, and
it can be merged on its own. #197 stays open until the chain is complete.

Tests

Local run (go1.27.1, go build ./... plus go test ./... in installer/):
all slice tests pass. The only failures in the full suite are three
pre-existing, environment-dependent golden tests (TestWelcomeScreenGolden,
TestMainMenuGolden, TestOSSelectGolden) that fail identically on a clean main
checkout.

CI

The fork's workflows require manual approval to run. I will keep an eye on
what they report once that happens.

carapace and zsh-theme-powerlevel10k only exist in the AUR, and pacman
transactions are atomic, so a single unresolvable name aborts the whole
install. Add source-literal regression tests that read the real Arch
list literals in installer.go and pin every list.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

On CachyOS (Arch-based), Gentle AI 2.2.0 fails during "Install Zsh" because it runs:

1 participant