-
Notifications
You must be signed in to change notification settings - Fork 92
Change wording around upstream and Determinate Nix #1710
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change wording around upstream and Determinate Nix #1710
Conversation
WalkthroughThe README.md is restructured to emphasize Determinate Nix as the default installation target, introduce upstream Nix as an alternative with dedicated documentation and a new Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~15 minutes
Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
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. Comment |
…terminate-nix-installer-readme
Co-authored-by: Graham Christensen <graham@grahamc.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (1)
README.md (1)
12-12: Consider more concise wording for feature description.The phrase "offers a variety of industry-leading" could be simplified. Since multiple features and improvements are being linked, the redundancy of "a variety of" may be unnecessary.
Consider this alternative:
-By default, it installs Determinate Nix, which enables [flakes] and offers a variety of industry-leading [features] and [improvements]. +By default, it installs Determinate Nix, which enables [flakes] and offers industry-leading [features] and [improvements].
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
README.md(13 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: grahamc
Repo: DeterminateSystems/nix-installer PR: 1664
File: src/settings.rs:56-67
Timestamp: 2025-09-10T15:49:03.281Z
Learning: In the nix-installer codebase, the prefer_upstream CLI flag is intentionally designed as a presence-only flag. Users wanting Determinate Nix should use --determinate instead of --prefer-upstream=false, as this was a deliberate UX design choice to keep the interface simpler.
📚 Learning: 2025-09-10T15:49:03.281Z
Learnt from: grahamc
Repo: DeterminateSystems/nix-installer PR: 1664
File: src/settings.rs:56-67
Timestamp: 2025-09-10T15:49:03.281Z
Learning: In the nix-installer codebase, the prefer_upstream CLI flag is intentionally designed as a presence-only flag. Users wanting Determinate Nix should use --determinate instead of --prefer-upstream=false, as this was a deliberate UX design choice to keep the interface simpler.
Applied to files:
README.md
🪛 LanguageTool
README.md
[style] ~12-~12: Consider using a more concise synonym.
Context: ... Nix, which enables [flakes] and offers a variety of industry-leading [features] and [improv...
(A_VARIETY_OF)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
- GitHub Check: build-aarch64-linux / Build aarch64 Linux (static)
- GitHub Check: build-aarch64-darwin / Build aarch64 Darwin (static)
- GitHub Check: build-x86_64-linux / Build x86_64 Linux (static)
- GitHub Check: Lints
🔇 Additional comments (5)
README.md (5)
9-16: Introduction effectively clarifies default and alternative paths.The restructured introduction clearly establishes Determinate Nix as the default while the NOTE block explicitly calls out upstream Nix availability with a sunset date, which aligns well with the PR's objectives.
40-68: GitHub Actions documentation is clear and well-organized.The examples and pinning guidance are straightforward, and the explicit section headings improve navigability.
70-278: Section restructuring and headings improve organization and clarity.The addition of explicit section headings throughout (Planners, Troubleshooting, Upgrading, etc.) makes navigation easier, and the content remains clear and actionable. WARNING blocks are used appropriately for platform constraints.
436-451: Dedicated upstream Nix section is well-structured and correct.The documentation of the
--prefer-upstream-nixflag and the GitHub Actions alternative are clear and actionable. This provides a good counterpoint to the Determinate Nix default path.
374-393: Installer settings table correctly documents the new--prefer-upstream-nixflag.The flag is properly documented with its description, default value (
false), and environment variable. The table structure is consistent and clear.
| ## Install Determinate Nix | ||
|
|
||
| If you'd prefer upstream Nix: | ||
| This one-liner installs Determinate Nix on just about any supported system: | ||
|
|
||
| ```shell | ||
| curl -fsSL https://install.determinate.systems/nix | sh -s -- install --prefer-upstream-nix | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove --prefer-upstream-nix flag from Determinate Nix installation command.
Line 23 includes the --prefer-upstream-nix flag, but this command is in the "Install Determinate Nix" section and is supposed to install the default. According to the installer settings table (line 390), this flag "specify[ies] that you want the installer to install upstream Nix rather than Determinate Nix"—the opposite of what this section intends. The upstream Nix installation command is correctly shown later (lines 438-441).
Apply this diff to fix the command:
```shell
-curl -fsSL https://install.determinate.systems/nix | sh -s -- install --prefer-upstream-nix
+curl -fsSL https://install.determinate.systems/nix | sh -s -- install
<details>
<summary>🤖 Prompt for AI Agents</summary>
In README.md around lines 18 to 24, the Determinate Nix install one-liner
incorrectly uses the --prefer-upstream-nix flag; remove this flag so the command
installs the default Determinate Nix. Update the line to use: curl -fsSL
https://install.determinate.systems/nix | sh -s -- install (i.e., delete only
the --prefer-upstream-nix token, keep the rest of the line intact).
</details>
<!-- This is an auto-generated comment by CodeRabbit -->
| [macos-upgrades]: https://determinate.systems/posts/nix-survival-mode-on-macos/ | ||
| [nix]: https://nixos.org | ||
| [nix-installer-action]: https://github.com/DeterminateSystems/nix-installer-action | ||
| [nix-installer-action]: https://github.com/determinateSystems/nix-installer-action |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix GitHub organization name case in link definition.
Line 489's link definition uses determinateSystems (lowercase 's'), but line 444's GitHub Actions example uses DeterminateSystems (capital 'S'). GitHub organization names are case-sensitive; the link should match the actual organization name.
Apply this diff to fix the case:
-[nix-installer-action]: https://github.com/determinateSystems/nix-installer-action
+[nix-installer-action]: https://github.com/DeterminateSystems/nix-installer-action📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| [nix-installer-action]: https://github.com/determinateSystems/nix-installer-action | |
| [nix-installer-action]: https://github.com/DeterminateSystems/nix-installer-action |
🤖 Prompt for AI Agents
In README.md around line 489, the link definition for the GitHub organization
has the wrong case ("determinateSystems" vs the correct "DeterminateSystems");
update the bracketed link target to use the exact organization name
"DeterminateSystems" so it matches the GitHub Actions example and the real org
(preserve surrounding formatting and only change the organization name's case).
| **Determinate Nix Installer** is the easiest and most reliable way to install [Determinate Nix][det-nix] (as well as [Determinate Systems][detsys]' longest-running project as a company). | ||
| The installer works across a wide range of environments, including macOS, Linux, Windows Subsystem for Linux (WSL), SELinux, the Valve Steam Deck, and more, it offers support for seamlessly [uninstalling Nix](#uninstalling), it enables Nix to survive [macOS upgrades][macos-upgrades], and offers a [range of features](#features) that make it the industry standard for installing Nix. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit/opinion: a bit of a chunk, maybe (macOS) features could be split out as bulleted list, or omitted at this point?
but really, a nit, it's fine as-is of course.
Clarifies the wording and instructions around Determinate Nix and upstream Nix in light of recent changes to default behavior.
https://github.com/determinateSystems/nix-installer/tree/lucperkins/gtm-148-determinate-nix-installer-readme
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.