feat(pkg): cross-platform package manager support #31

Merged
rootiest merged 2 commits from feat/cross-platform-pkg-manager into main 2026-06-06 06:49:08 +00:00
Owner

Summary

  • pkg.fish refactored to auto-detect the system package manager via _fish_deps_detect_pm instead of hard-requiring paru/yay. Install, uninstall, and auto (toggle) modes now dispatch correctly for paru, yay, pacman, apt, dnf, zypper, yum, brew, and pkg. Package installed-checks use the right query tool per PM (pacman -Qi, dpkg -s, rpm -q, brew list, pkg info).
  • _fish_deps_detect_pm updated to include zypper (OpenSUSE) in its detection priority list.
  • claude.fish removed — remote-control is now enabled directly in the Claude Code config, making the shell wrapper redundant.
  • README updated — "Package Management" section heading and pkg description no longer reference Arch/paru/yay exclusively; search and upgrade retain their existing Arch-only notes.

Manual Verification

  • On an Arch system with paru/yay: run pkg <some-package> in auto mode and confirm it installs/removes via paru/yay as expected
  • Run pkg -i <package> and pkg -u <package> to confirm force-install and force-uninstall modes work
  • Run pkg -h and confirm the help output shows the detected PM name (e.g. Install or remove packages via paru.)
  • On a non-Arch system (or simulate by temporarily removing paru/yay from PATH): confirm pkg falls through to the next detected PM (e.g. pacman, apt) rather than erroring with "no AUR helper found"
  • Confirm fish-deps install still works as before (the detect_pm change is additive — zypper is appended before yum)
## Summary - **`pkg.fish` refactored** to auto-detect the system package manager via `_fish_deps_detect_pm` instead of hard-requiring paru/yay. Install, uninstall, and auto (toggle) modes now dispatch correctly for paru, yay, pacman, apt, dnf, zypper, yum, brew, and pkg. Package installed-checks use the right query tool per PM (`pacman -Qi`, `dpkg -s`, `rpm -q`, `brew list`, `pkg info`). - **`_fish_deps_detect_pm`** updated to include `zypper` (OpenSUSE) in its detection priority list. - **`claude.fish` removed** — remote-control is now enabled directly in the Claude Code config, making the shell wrapper redundant. - **README updated** — "Package Management" section heading and `pkg` description no longer reference Arch/paru/yay exclusively; `search` and `upgrade` retain their existing Arch-only notes. ## Manual Verification - [x] On an Arch system with paru/yay: run `pkg <some-package>` in auto mode and confirm it installs/removes via paru/yay as expected - [x] Run `pkg -i <package>` and `pkg -u <package>` to confirm force-install and force-uninstall modes work - [x] Run `pkg -h` and confirm the help output shows the detected PM name (e.g. `Install or remove packages via paru.`) - [x] On a non-Arch system (or simulate by temporarily removing paru/yay from PATH): confirm `pkg` falls through to the next detected PM (e.g. `pacman`, `apt`) rather than erroring with "no AUR helper found" - [x] Confirm `fish-deps install` still works as before (the detect_pm change is additive — zypper is appended before yum)
rootiest added 2 commits 2026-06-06 06:42:22 +00:00
Refactor pkg.fish to auto-detect the system package manager via
_fish_deps_detect_pm instead of hard-requiring paru/yay. Supports
install, uninstall, and auto (toggle) modes across paru, yay, pacman,
apt, dnf, zypper, yum, brew, and pkg. Package installed-checks now use
the correct query tool per PM (pacman -Qi, dpkg -s, rpm -q, etc.).

Also adds zypper to the _fish_deps_detect_pm detection priority list.
Remote-control is now enabled directly in the Claude Code config,
making the shell wrapper redundant.
rootiest merged commit b37f5c1d74 into main 2026-06-06 06:49:08 +00:00
rootiest deleted branch feat/cross-platform-pkg-manager 2026-06-06 06:49:08 +00:00
Sign in to join this conversation.