Skip to content

docs(linux): add arch linux setup and build instructions#2343

Merged
senamakel merged 2 commits into
tinyhumansai:mainfrom
ARYAN007H:docs/arch-linux-setup
May 21, 2026
Merged

docs(linux): add arch linux setup and build instructions#2343
senamakel merged 2 commits into
tinyhumansai:mainfrom
ARYAN007H:docs/arch-linux-setup

Conversation

@ARYAN007H
Copy link
Copy Markdown
Contributor

@ARYAN007H ARYAN007H commented May 20, 2026

Summary

  • What changed and why.
  • Keep this to 3-6 bullets focused on user-visible or architecture-impacting changes.
  • Added an Arch Linux collapsible setup block to CONTRIBUTING-BEGINNERS.md detailing packages for both core-only builds and desktop shell builds.
  • Updated gitbooks/developing/building-rust-core.md with explicit Arch pacman dependency maps alongside the existing Debian/Ubuntu instructions.
  • Added an Arch Linux system prerequisite quick start to gitbooks/developing/getting-set-up.md.
  • Standardized formatting on all three updated markdown files using Prettier to match workspace styling guidelines.

Problem

  • What issue or risk this PR addresses.
  • Include context needed for reviewers to evaluate correctness quickly.
  • New contributors attempting to set up the development environment on Arch Linux or Arch-based systems face friction because onboarding guides only document macOS, Windows, and Ubuntu/Debian. Users had to manually guess or map package names like libxdo, libxi, webkit2gtk-4.1, and libayatana-appindicator.

Solution

  • How the implementation solves the problem.
  • Note important design decisions and tradeoffs.
  • Mapped all Ubuntu/Debian dependencies to their Arch Linux pacman equivalents, grouping them clearly into base-build tools and desktop/CEF shell dependencies.
  • Integrated the instructions into the existing collapsible layouts of the beginner setup guides.
  • Noted details specific to Arch systems, such as why separate header -dev packages are not needed and why the manual libstdc++.so path symlink workaround for clang/whisper-rs is typically unnecessary.

Submission Checklist

If a section does not apply to this change, mark the item as N/A with a one-line reason. Do not delete items.

  • Tests added or updated (happy path + at least one failure / edge case) per Testing Strategy (N/A: Documentation-only change)
  • Diff coverage ≥ 80% — changed lines (Vitest + cargo-llvm-cov merged via diff-cover) meet the gate enforced by .github/workflows/coverage.yml. Run pnpm test:coverage and pnpm test:rust locally; PRs below 80% on changed lines will not merge. (N/A: Documentation-only change)
  • Coverage matrix updated — added/removed/renamed feature rows in docs/TEST-COVERAGE-MATRIX.md reflect this change (or N/A: behaviour-only change) (N/A: Documentation-only change)
  • All affected feature IDs from the matrix are listed in the PR description under ## Related (N/A: Documentation-only change)
  • No new external network dependencies introduced (mock backend used per Testing Strategy) (N/A: Documentation-only change)
  • Manual smoke checklist updated if this touches release-cut surfaces (docs/RELEASE-MANUAL-SMOKE.md) (N/A: Documentation-only change)
  • Linked issue closed via Closes #NNN in the ## Related section (N/A: No corresponding GitHub Issue exists)

Impact

  • Runtime/platform impact (desktop/mobile/web/CLI), if any.
  • Performance, security, migration, or compatibility implications.
  • Safe documentation changes with zero runtime or compilation impact.

Related

  • Closes: N/A
  • Follow-up PR(s)/TODOs: N/A

AI Authored PR Metadata (required for Codex/Linear PRs)

Keep this section for AI-authored PRs. For human-only PRs, mark each field N/A.

Linear Issue

  • Key: N/A
  • URL: N/A

Commit & Branch

  • Branch: docs/arch-linux-setup
  • Commit SHA: 6863487

Validation Run

  • pnpm --filter openhuman-app format:check (Verified formatting locally via Prettier)
  • pnpm typecheck
  • Focused tests:
  • [N/A] Rust fmt/check (if changed):
  • [N/A] Tauri fmt/check (if changed):

Behavior Changes

  • Intended behavior change: Documentation-only additions for Arch Linux setup steps.
  • User-visible effect: None on runtime app.

Parity Contract

  • Legacy behavior preserved: Yes.
  • Guard/fallback/dispatch parity checks: N/A.

Duplicate / Superseded PR Handling

  • Duplicate PR(s): N/A
  • Canonical PR: N/A
  • Resolution (closed/superseded/updated): N/A

Summary by CodeRabbit

  • Documentation
    • Improved beginner contributor guide layout and clearer project-part overview
    • Added dedicated Linux setup instructions for Arch and Ubuntu/Debian (desktop and core)
    • Expanded Rust core build docs with distribution-specific package lists and rationale
    • Added Ubuntu/Debian workaround for a native library selection issue
    • Added Arch Linux quick-start with pinned toolchain and package/install steps

Review Change Stack

@ARYAN007H ARYAN007H requested a review from a team May 20, 2026 12:19
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 20, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 77b75e30-c226-41de-ac0a-536124bc1c3e

📥 Commits

Reviewing files that changed from the base of the PR and between 6863487 and 1a1d6db.

📒 Files selected for processing (2)
  • gitbooks/developing/building-rust-core.md
  • gitbooks/developing/getting-set-up.md
✅ Files skipped from review due to trivial changes (2)
  • gitbooks/developing/getting-set-up.md
  • gitbooks/developing/building-rust-core.md

📝 Walkthrough

Walkthrough

This PR updates contributor docs to add structured project overview and expanded Linux setup instructions (Arch and Ubuntu/Debian) across the beginner guide, Rust core build guide, and an Arch quick-start, including package install commands, toolchain setup, and verification steps.

Changes

Linux Setup Documentation Expansion

Layer / File(s) Summary
Project structure and beginner Linux setup
CONTRIBUTING-BEGINNERS.md
Project overview now uses a structured table for app/, app/src-tauri/, and src/ components. New Linux (Arch and Ubuntu/Debian) setup sections provide Node/Rust toolchain installation, package dependencies, and verification commands. Recommended areas table is reformatted into a clearer multi-column layout.
Rust core build prerequisites for Linux
gitbooks/developing/building-rust-core.md
Core-only package sets are added for Arch (with install command) and Ubuntu/Debian. Explanation bullets cover native tooling, clang paths, OpenSSL, and device libraries. whisper-rs libstdc++ workaround includes Ubuntu/Debian symlink command. Desktop/Tauri section gains Arch block and clarifies when to use each package set.
Arch Linux quick-start guide
gitbooks/developing/getting-set-up.md
New quick-start section provides pacman package installation and pinned Rust 1.93.0 / pnpm 10.10.0 toolchain setup for rapid Arch Linux environment configuration.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • tinyhumansai/openhuman#2138: Both PRs modify CONTRIBUTING-BEGINNERS.md to extend setup guidance; main PR focuses on Linux (Arch/Ubuntu/Debian) sections while the related PR adds Windows/macOS and AI-agent setup guidance.

Poem

🐰 I hopped through docs with a gentle tap,
Added Arch and Debian to the map,
Commands in rows, toolchains pinned tight,
New contributors find the light,
Welcome paths for builders — happy map!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'docs(linux): add arch linux setup and build instructions' clearly and concisely summarizes the main change: adding Arch Linux setup and build documentation. It accurately reflects the core objective of the PR without being vague or misleading.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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 and usage tips.

coderabbitai[bot]
coderabbitai Bot previously approved these changes May 20, 2026
Copy link
Copy Markdown
Contributor

@graycyrus graycyrus left a comment

Choose a reason for hiding this comment

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

Nice contribution — Arch Linux coverage in the onboarding docs is a real gap, and the package mappings are solid. Two minor nits, neither blocking:

[minor] gitbooks/developing/getting-set-up.md — The Arch quick-start command is missing openssl. Both CONTRIBUTING-BEGINNERS.md and building-rust-core.md include it in the core-only deps (needed by networking crates). Add it so someone following only this guide doesn't hit a build failure:

sudo pacman -S --needed nodejs npm rustup cmake base-devel clang openssl \
  alsa-lib xdotool ...

[minor] gitbooks/developing/building-rust-core.md — The "Why these matter" section maps libudev-devlibevdev, but these are different libraries (libudev = systemd device management, libevdev = evdev input). On Arch, libudev ships via systemd-libs (installed by default) so it doesn't need listing. libevdev is a separate input library that is needed. The install commands are correct — just this description line is slightly misleading. Suggestion:

- … libxdo-dev / xdotool, libudev-dev (included in Arch systemd-libs), libevdev: required by …

@ARYAN007H ARYAN007H requested a review from graycyrus May 20, 2026 13:49
@ARYAN007H
Copy link
Copy Markdown
Contributor Author

review requested to the maintainers of this project : )

@senamakel senamakel merged commit 6281aea into tinyhumansai:main May 21, 2026
27 checks passed
mtkik pushed a commit to mtkik/openhuman-meet that referenced this pull request May 21, 2026
CodeGhost21 pushed a commit to CodeGhost21/openhuman that referenced this pull request May 22, 2026
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.

3 participants