NixOS / nix.dev

Official documentation for getting things done with Nix.
https://nix.dev
Creative Commons Attribution Share Alike 4.0 International
2.45k stars 246 forks source link

establish nomenclature #275

Closed fricklerhandwerk closed 1 year ago

fricklerhandwerk commented 2 years ago

we observe confusion around terminology, as newcomers find it hard to distinguish all the things that are called Nix.

proposal: https://github.com/NixOS/nix.dev/pull/263

Previous discussion: https://github.com/NixOS/nix/issues/835#issue-138660150

fricklerhandwerk commented 2 years ago

@garbas @infinisil who else from should be involved with this?

fricklerhandwerk commented 2 years ago

@garbas alternatively proposes (to keep backwards compatibility for names and improve discoverability):

We stay on nixos.org and make extra effort to make clear that NixOS package manager works everywhere.

davidak commented 2 years ago

make clear that NixOS package manager works everywhere.

that name makes it not intuitive and cause confusion

olafklingt commented 2 years ago

I agree with most of the initial proposal. But nixpkgs is more than a Nix package collection. Therefor I suggest to call the github:nixpkgs repository Nixpkgs and describe its as biggest collection of Nix Packages and Nix Library and NixOS Modules.

fricklerhandwerk commented 2 years ago
nixos-discourse commented 2 years ago

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/2022-08-11-documentation-team-meeting-7/20918/1

oneingan commented 2 years ago

Normally when new language choose a common word add "lang" suffix:

golang (formerly, before be mainstream) https://cuelang.org https://www.rust-lang.org https://dhall-lang.org

maybe nixlang have sense??

at least for separate domains nixos.org and nixlang.org

nix
nixos
nixpkgs
nixlang
olafklingt commented 2 years ago

@uningan what is nix in your list?

nix
nixos
nixpkgs
nixlang
oneingan commented 2 years ago

nix, the tool only, but maybe have more sense nixpm as npm analogy.

Anyway is hard to me imagine nix tool as a package manager, officially it is but i dont use it as package manager, but build system.

From: olaf @.***> Date: Fri, 12 Aug 2022 02:59:12 -0700

@uningan what is nix in your list?

nix
nixos
nixpkgs
nixlang

-- Juanjo Presa https://nadanix.com

olafklingt commented 2 years ago

Here is another try:

I add various terms because I believe we need nomenclature and categorization to clarify the use of the terms.

explanation:

Nix package manager is still a package manager in the same sense as (rust's) cargo, despite their scope is bigger than let say (debian's) apt.

NixOS is not part of the Nix ecosystem because it is build using the Nix ecosystem.

Nix package manager's short name is unfortunately nix because alternatives would seem to imply that we have a command like nixpm etc. but we have nix- (and nix ).

Nix package collection refers to the actual packages in the nixpkgs repository (and other repositories),

Nix package repository refers to the repository nixpkgs that contains the package collection, library and modules

NixOS module collection are the Modules in the Nix package repository , because home-manger uses its own collection of modules for user configuration/services (which do not depend on NixOS).

blaggacao commented 2 years ago

We stay on nixos.org and make extra effort to make clear that NixOS package manager works everywhere.

My senses tell me that people currently reject Nix, when it is recommended to them, because (among other things) when they see nixos.org, they see "OS" and feel invaded.


EDIT:

I feel the multiple semantic mismatches of github/nixpkgs/ "Nix Package Repository" need to be resolved one way or the other.

In my opinion, each semantic dissonance matters disproportionally.

I don't want to jump into a proposal but rather raise this awareness to the Doc Team.

EDIT2:

Nix package manager is still a package manager in the same sense as (rust's) cargo, despite their scope is bigger than let say (debian's) apt.

That is problematic. nix is multiple things, and package manager is really just a prominent and widespread use.

I would minimally distinguish:

See for example this perspective: https://divnix.github.io/std/explain/why-nix.html

That perspective would come across as a categorical misfit if Nix was called foremost a "package manager".

fricklerhandwerk commented 2 years ago

I don't want to jump into a proposal but rather raise this awareness to the Doc Team.

@blaggacao Awareness exists, please check the team meeting notes. I ask you and everyone else, as a measure to keep signal-to-noise ratio high to indeed jump immediately to proposals or constructively discuss prior proposals so we can ideally converge on something solid.

The amount and dispersion of information to work through and keep track of is near-overwhelming as it is - it is the very reason for this team to exist and the goals we set for ourselves. I deliberately declared it a praxicracy: do the work and it will be taken seriously.

nix is multiple things, and package manager is really just a prominent and widespread use.

True. @domenkozar calls it a DevOps system on the front page of nix.dev, and while I agree, to me it obscures more than it reveals. I consider Nix (realized by the nix command line tool) a

but that is of course too verbose to put in the name. Therefore maybe keep it just Nix and explain what it is on the front page?

blaggacao commented 2 years ago

I've thought about this a little bit, and in order to resolve the repository misnomer, I suggest NixOS/collections, which contains (as in the above)

nixos-discourse commented 2 years ago

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/should-we-give-a-name-to-nix-on-non-nixos/21020/7

fricklerhandwerk commented 2 years ago

@uningan good point, "package manager" does not capture the build system aspect, which is at least as important.

@olafklingt @blaggacao Thinking about this, being too specific at this point leads down infinite rabbit holes concerning repo organization that we simply cannot afford to deal with. This is an issue for the nixpkgs architecture team with @infinisil.

Proposal: Give the things names best-effort-style and calmly sweep under the rug for a while that there is a name collision between the GitHub repository NixOS/nixpkgs and what we call the Nix package collection. Point users to where things are.

I have no real idea on nixpkgs/lib. In the Nix language tutorial (WIP) I call it and builtins by their symbolic name, and maybe this is good enough, at is already a language-domain thing.

Then let's continue discussion and refining proposals in the respective PR, which allows structured suggestions and version control.

fricklerhandwerk commented 2 years ago
nixos-discourse commented 2 years ago

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/2022-08-25-documentation-team-meeting-notes-8/21241/1

blaggacao commented 2 years ago

Since this is being discussed, with a sharpened eye, I've gathered the following practical impression about the nomenclature. I don't have a particularly strong opinion, I just want to add this as a data point:


In this post, it felt awkward to use Nix Packages instead of Nix Packages Collection.

There has to be a reason for it...

The enormous business value that the Nix Package Collection provides.

vs.

The enormus business value that Nix Packages provide.

I think the letter just requires a lot of contextual knowledge. Being a generalized plural, it's missing a definite article, blurring somewhat the actual reference:

It is the collection of packages not the plural of package that provides the business value, here.

Augmenting a mere plural into the meaning of a collection seems like that contextual tribal speech to me, that puts newcomers off.

But then, again, for the initiated, it has shifted meaning and consequentially numerus.

The enormus business value that Nix Packages provides.

How awkward, if you read it more than 3-5 times with the eyes and brain of an un-initiated.

nixos-discourse commented 2 years ago

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/2022-08-25-documentation-team-meeting-notes-8/21241/3

blaggacao commented 2 years ago

I just had another conscientious encounter with this new nomenclature. (Data point)


However, while they use the Nix Package Collection under the hood, they don't currently expose an interface into the Nix Language (as configuration language).

I felt the need to clarify with "as configuration language", and I think it was because the current confusion about "Nix" doesn't even make "Nix Language" sufficiently distinct in the minds of my target audience.

This legacy baggage might be hard to shave off and actually be an indication to come up with a more distuptive, but distinctive name, such as NixEL or any of the other suggestions made.

fricklerhandwerk commented 2 years ago

@blaggacao I also like NixEL (or Nixel) for being a distinct term that is pronounceable. But an actual rename is out of scope here, simply for being too big of a change to get it through in reasonable time. I agree with @Atemu and would support an RFC to rename Nix language if it's well-researched, summarizing and linking to all previous discussions, arguments, and proposals.

fricklerhandwerk commented 2 years ago
nixos-discourse commented 2 years ago

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/2022-09-08-documentation-team-meeting-notes-9/21546/1

nixos-discourse commented 2 years ago

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/tweag-nix-dev-update-35/21701/1

oneingan commented 1 year ago

Happy to see nix-lang.org registered by Determinate Systems

From: David Arnold @.***> Date: Fri, 12 Aug 2022 08:30:30 -0700

We stay on nixos.org and make extra effort to make clear that NixOS package manager works everywhere.

My senses tell me that people currently reject Nix, when it is recommended to them, because (among other things) when they see nixos.org, they see "OS" and feel invaded.

-- Juanjo Presa https://nadanix.com