Skip to content
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

Inconsistent installation instructions #5080

Open
waldyrious opened this issue Aug 1, 2021 · 2 comments
Open

Inconsistent installation instructions #5080

waldyrious opened this issue Aug 1, 2021 · 2 comments

Comments

@waldyrious
Copy link

After hearing about Nix for a while, I decided to try it out. I managed to install the package manager on my non-NixOS system, but once I started exploring the documentation a bit more, I noticed a few similar, but not identical patterns in how it's recommended to fetch and run the installation script. This is what I managed to collect:

Setting aside the large number of near-duplicated instructions spread across multiple places (which I'm sure is a burden on both users and contributors/maintainers), it's a little concerning how the recommended process varies slightly from place to place.

Which of the invocation methods is the preferred one? These instructions should all be aligned to follow a single pattern.

Even better: it would be nice if these instructions were consolidated in only a handful of places, and the other ones linked to them, to avoid the duplication and to prevent them from getting out of sync.

@waldyrious waldyrious added the bug label Aug 1, 2021
@abathur
Copy link
Member

abathur commented Aug 1, 2021

It would be great to get these single-sourced.

It would be extra great if the same single sources were also used as cases in the install tests. Ideally, each documented install instruction would be under test for every shell we intend to support. (I don't mean to saddle single-sourcing with all of this. A good approach should make it easy; a great approach might do one to demonstrate compatibility?)


Just connecting dots/contextualizing a bit:

  • I'm too new (and don't know cross-shell compat well enough) to understand this firsthand, but I suspect the curl | sh -s form is the one that should win out. My sense of forms/history from spelunking is:
    • In deeper history curl | sh was the main form.
    • I think the sh <(curl) form started spreading once the official installer supported multi-user since you can append flags like --daemon or --no-daemon without a form change (i.e., this form is less of a stumbling block for people who don't know or have been traumatized by shell).
    • Starting around June 2020, I think the need to add a special flag for macOS installs on Catalina+ (and all of the installer problem reports surrounding that) accelerated the trend towards sh <(curl) forms to avoid the unnecessary papercut.
    • Make install documentation fish-friendly #4985 recently proposed the curl | sh -s form first on the OPs list for compat with fish shell. (I assume this is a good reason for it to win out, but I haven't tried it yet myself and its track record as a recommendation is short.)
  • It's a little more complex (and even more wrong 😅) than the initial list presents. The (unstable) manual in master has been translated to Markdown, but the (stable) manual in 2.3-maintenance is still in docbook/xml.

@stale
Copy link

stale bot commented Apr 17, 2022

I marked this as stale due to inactivity. → More info

@stale stale bot added the stale label Apr 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants