Skip to content

docs: clarify that the installer does not require root or sudo (#406)#760

Open
SudheerDev-AIML wants to merge 1 commit intoNVIDIA:mainfrom
SudheerDev-AIML:docs/clarify-install-privileges
Open

docs: clarify that the installer does not require root or sudo (#406)#760
SudheerDev-AIML wants to merge 1 commit intoNVIDIA:mainfrom
SudheerDev-AIML:docs/clarify-install-privileges

Conversation

@SudheerDev-AIML
Copy link
Copy Markdown

@SudheerDev-AIML SudheerDev-AIML commented Mar 24, 2026

Summary

Clarify privilege requirements for the NemoClaw installer across all user-facing documentation.
The install one-liner curl ... | bash showed a $ prompt in the docs landing page and gave no
indication of whether root was needed, causing confusion when users hit permission errors from
prerequisite tools (Docker, OpenShell) and assumed the installer itself required elevated privileges.

Related Issue

Closes #406

Changes

  • Add a "Privileges" callout to the README quickstart section explaining the installer runs as a
    normal user and does not need sudo or root.
  • Remove the $ shell prompt prefix from the HTML terminal widget in docs/index.md to avoid
    implying a specific privilege level.
  • Add a "Privileges" section to the install.sh --help output so the information is available at
    the command line as well.
  • Annotate each step in spark-install.md with whether sudo is needed.

Type of Change

  • Code change for a new feature, bug fix, or refactor.
  • Code change with doc updates.
  • Doc only. Prose changes without code sample modifications.
  • Doc only. Includes code sample changes.

Testing

  • npx prek run --all-files passes (or equivalently make check).
  • npm test passes.
  • make docs builds without warnings. (for doc-only changes)

All hooks passed via npx prek run --from-ref HEAD~1 --to-ref HEAD:
trailing-whitespace, end-of-file-fixer, shfmt, shellcheck, SPDX headers,
markdownlint-cli2, gitleaks — all green. No code changes, so npm test is not applicable.

Checklist

General

Code Changes

N/A — doc-only PR.

Doc Changes

  • Follows the style guide.
  • New pages include SPDX license header and frontmatter, if creating a new page.
  • Cross-references and links verified.

Summary by CodeRabbit

  • Documentation
    • Added clarification that the installer does not require sudo/root access
    • Documented Node.js and NemoClaw installation to user-local directories
    • Added notes regarding prerequisite tools (Docker, OpenShell) privilege requirements on Linux
    • Updated installation command display formatting

…A#406)

The install one-liner `curl ... | bash` showed a `$` prompt in the docs
landing page and gave no indication of whether root was needed. Users
hit permission errors and could not tell if the script was designed to
run as root, via sudo, or inside Docker.

- Add a "Privileges" callout to the README quickstart section explaining
  the installer runs as a normal user and does not need sudo.
- Remove the `$ ` shell prompt prefix from the HTML terminal widget in
  docs/index.md to avoid implying a specific privilege level.
- Add a "Privileges" section to the `install.sh --help` output.
- Annotate each step in spark-install.md with whether sudo is needed.

Closes NVIDIA#406

Made-with: Cursor
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 24, 2026

📝 Walkthrough

Walkthrough

Documentation and installation script messages updated to clarify that the NemoClaw installer runs as a regular user without sudo or root privileges, with Node.js installed via nvm and NemoClaw via npm into user-local directories. Prerequisites like Docker and OpenShell may require elevated privileges on Linux.

Changes

Cohort / File(s) Summary
Privilege Clarification Documentation
README.md, install.sh, spark-install.md
Added new "Privileges" section and inline comments clarifying that the installer does not require sudo or root, but prerequisites may require elevated privileges on Linux. Specifies that Node.js and NemoClaw are installed into user-local directories.
Terminal Display Adjustment
docs/index.md
Removed the leading $ shell prompt from the installation command display snippet.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Poem

🐰 No sudo, no root, just a user so plain,
Our installer whispers without any strain,
npm and nvm in your own cozy space,
Prerequisites warned with gentle grace! 🌱

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and accurately describes the main change: clarifying that the installer does not require root or sudo privileges.
Linked Issues check ✅ Passed The pull request successfully addresses issue #406 by clarifying privilege requirements across README, docs, install.sh help text, and installation guide with explicit documentation that sudo/root is not needed.
Out of Scope Changes check ✅ Passed All changes are narrowly scoped to clarifying privilege requirements in documentation and help text, directly addressing the linked issue without introducing unrelated modifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
README.md (1)

77-77: Remove emoji from the callout heading.

Line 77 uses ℹ️ in technical prose; please replace it with plain text (for example, **Note** or **Privileges**).

As per coding guidelines, "**/*.md: ... No emoji in technical prose."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 77, Replace the emoji in the README heading "**ℹ️
Privileges**" with plain text to follow the documentation guideline (no emoji in
technical prose); update the heading to a simple label such as "**Privileges**"
or "**Note**" so the callout remains clear but contains no emoji.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@README.md`:
- Line 77: Replace the emoji in the README heading "**ℹ️ Privileges**" with
plain text to follow the documentation guideline (no emoji in technical prose);
update the heading to a simple label such as "**Privileges**" or "**Note**" so
the callout remains clear but contains no emoji.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 287641bb-6bd9-4345-970d-787e83e3c9e0

📥 Commits

Reviewing files that changed from the base of the PR and between 166319d and 7051cb8.

📒 Files selected for processing (4)
  • README.md
  • docs/index.md
  • install.sh
  • spark-install.md

Copy link
Copy Markdown
Author

@SudheerDev-AIML SudheerDev-AIML left a comment

Choose a reason for hiding this comment

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

The existing README callouts already use emoji (ℹ️ Note on lines 29 and 129, 💡 Tip on line 68). This follows the same established pattern. Happy to remove all of them in a separate cleanup PR if that's preferred by maintainers.

@lee-b
Copy link
Copy Markdown

lee-b commented Mar 24, 2026

Thanks, this is a great clarification.

Could I suggest moving any automatic root-level pre-requisites installation stuff out of the main installer script, to a separate install-os-prerequisites.sh script, or something like that, and then recommending to run it separately as root?

This way:

  1. Users can simply run sudo ./install-os-prerequisites.sh && ./install.sh if they so wish, for pretty good privilege separation
  2. It's much clearer what nemoclaw actually does, vs. what just needs to be on the system
  3. It's much clearer what the os-level dependencies are, and how users can port the thing to other operating systems / distros (especially if ./install-os-prerequisites.sh only does OS/distro detection and then runs a more specific script, which users can duplicate and edit for their own distros)
  4. Users can take a more solid approach of separately running ./install-prerequisites.sh as root (e.g., via cloud root console), then running ./install.sh separately as a nemoclaw (for example) user, with no sudo/doas ever made available to nemoclaw.
  5. It becomes possible to completely remove (non-bug) escalation paths from the system running nemoclaw. For example, one can install a headless linux server (no desktop, no pkexec), install per # 4 above, and then disable su by adding something like auth required pam_deny.so to /etc/pam.d/su. One then can only become root by logging in directly as root (either at a physical terminal, via ssh (if root logins are enabled), or by cloud console login.
  6. One could also go a step further from # 4, making the main install.sh detect whether it's running as root and if so, running the os pre-req install, then creating a separate user, then running the rest of the install under that user. i.e., "user gave us too much permission? Let's use those permissions to build him a locked-down user for this."

@wscurran wscurran added documentation Improvements or additions to documentation Getting Started Use this label to identify setup, installation, or onboarding issues. labels Mar 24, 2026
@wscurran
Copy link
Copy Markdown
Contributor

Thanks for submitting this PR, it clarifies the privilege requirements for the NemoClaw installer, which could improve the user experience and prevent confusion for new users.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation Getting Started Use this label to identify setup, installation, or onboarding issues.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Instructions are incorrect/misleading/unclear

3 participants