Skip to content

feat: add Arch/Manjaro Linux support to setup.sh - #1397

Open
DashratRajpurohit wants to merge 3 commits into
AOSSIE-Org:mainfrom
DashratRajpurohit:feat/arch-setup-support
Open

feat: add Arch/Manjaro Linux support to setup.sh#1397
DashratRajpurohit wants to merge 3 commits into
AOSSIE-Org:mainfrom
DashratRajpurohit:feat/arch-setup-support

Conversation

@DashratRajpurohit

@DashratRajpurohit DashratRajpurohit commented Jul 21, 2026

Copy link
Copy Markdown

Fixes #1381

Description

This PR adds a detection and package installation branch for Arch-based Linux distributions (e.g., Arch Linux, Manjaro, Mabox Linux, EndeavourOS) in scripts/setup.sh.

Changes Included:

  • Added detection branch for Arch/Manjaro systems (/etc/arch-release, /etc/manjaro-release, or pacman command).
  • Added system dependency package installation via pacman:
    • webkit2gtk-4.1 (Tauri WebView engine)
    • base-devel (Development build tools)
    • curl, wget, file, openssl, librsvg
    • xdotool (Provides libxdo headers/libs)
    • libayatana-appindicator (System indicator support)
    • nodejs & npm (In Arch Linux, npm is packaged separately from nodejs)
    • rustup & pyenv

Verification:

  • Verified script syntax using bash -n scripts/setup.sh.
  • Verified local environment initialization on Arch-based Mabox Linux.

Summary by CodeRabbit

  • New Features
    • Added setup support for Arch Linux and Manjaro systems.
    • The setup process now detects Arch-based Linux distributions and installs required application, build/graphics libraries, Node.js/npm, Rust, and Python tooling using the appropriate package managers.
  • Bug Fixes
    • Improved error messaging when the Linux distribution is unsupported, including an updated list of supported platforms.

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@DashratRajpurohit, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 47 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: dff969fe-96eb-414a-a910-2e8f2ced6fe8

📥 Commits

Reviewing files that changed from the base of the PR and between 0ebbaee and 117dc7b.

📒 Files selected for processing (1)
  • scripts/setup.sh

Walkthrough

The setup flow now recognizes Arch-based distributions, including Manjaro, and installs their required system packages with pacman before reaching the unsupported-platform fallback.

Changes

Arch-based setup support

Layer / File(s) Summary
Arch detection and setup routing
scripts/setup.js
Adds Arch and Manjaro release-file checks and updates unsupported Linux and operating-system messages to list Arch-based systems.
Arch dependency installation
scripts/setup.sh
Adds a pacman branch that installs WebKit, build, networking, X11, appindicator, SVG, Node.js, and npm packages.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested labels: TypeScript/JavaScript

Suggested reviewers: takitxt

Poem

I’m a small rabbit hopping through Arch,
Packages bloom beneath the moonlit march.
WebKit and Node join the parade,
While Manjaro’s setup gets neatly made.
Hop, hop—no unsupported trail today!

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly states the main change: adding Arch/Manjaro Linux support to setup.sh.
Linked Issues check ✅ Passed The changes add Arch-based detection and pacman installs for the required dependencies, matching the issue goals.
Out of Scope Changes check ✅ Passed The summary shows only setup.sh and setup.js changes related to Arch support, with no obvious unrelated scope.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@scripts/setup.sh`:
- Around line 42-57: Update the setup entrypoint gate in scripts/setup.js to
recognize Arch-based distributions consistently with the Arch branch in
setup.sh, ensuring the supported setup command can reach it. In the pacman
dependency list, remove rustup and pyenv while leaving their initialization to
the existing later bootstrap logic; if Arch support is not intended, remove the
entire Arch branch instead.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: d210ef5c-fa32-4c85-880e-e973cadfb7a9

📥 Commits

Reviewing files that changed from the base of the PR and between f465155 and 7734b97.

📒 Files selected for processing (1)
  • scripts/setup.sh

Comment thread scripts/setup.sh Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
scripts/setup.sh (1)

42-55: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Avoid partial upgrades on Arch Linux.

Using pacman -Sy without -u refreshes the package database and installs new packages against it, which can cause partial upgrades. Partial upgrades are explicitly unsupported on Arch Linux and can lead to a broken system (e.g., shared library incompatibilities).

Consider using pacman -Syu to upgrade the system alongside the installation, or simply pacman -S to install using the existing synced databases. Using pacman -Syu is the safest approach for ensuring compatibility.

🛠️ Proposed fix
-    sudo pacman -Sy --needed --noconfirm \
+    sudo pacman -Syu --needed --noconfirm \
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/setup.sh` around lines 42 - 55, Update the Arch-based dependency
installation command in the setup script from pacman -Sy to pacman -Syu,
preserving the existing --needed, --noconfirm flags and package list to avoid
unsupported partial upgrades.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@scripts/setup.sh`:
- Around line 42-55: Update the Arch-based dependency installation command in
the setup script from pacman -Sy to pacman -Syu, preserving the existing
--needed, --noconfirm flags and package list to avoid unsupported partial
upgrades.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8fdd3ed1-80e3-4fa1-a3a1-91f38591ada1

📥 Commits

Reviewing files that changed from the base of the PR and between 7734b97 and 0ebbaee.

📒 Files selected for processing (2)
  • scripts/setup.js
  • scripts/setup.sh

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.

Feat: Add Arch / Manjaro Linux support to setup.sh

1 participant