What is the relationship between Nix and NixOS?

I’m very confused about the difference between Nix and NixOS, and I was surprised to see that this wasn’t addressed in the FAQ

I was trying to ask a question about Nix, and I found that the How to get help section of the nix.dev documentation page links to this forum on NixOS. Wtf?

How to get help

If you need assistance with one of your contributions, there are a few places you can go for help.

Which communication channels to use

Once you’ve found the people you’re looking for, you can contact them on one of the following platforms:

  • GitHub

    All the source code is maintained on GitHub. This is the right place to discuss implementation details.

    In issue comments or pull request descriptions, mention the GitHub username found in the maintainers-list.nix file.

  • Discourse

    Discourse is used for announcements, coordination, and open-ended questions.

    Try the GitHub username found in the maintainers-list.nix file to mention or directly contact a specific user. Note that some people use a different username on Discourse.

Can someone please clarify by:

  1. Listing all of the official domains related to the nix project
  2. Listing all of the official domains related to the NixOS project
  3. Explain what is the relationship between nix and NixOS?
  4. Are there any other projects that are related or unrelated to this project that we should make clear (eg nixpkgs, guix, tvix, lix, etc)?
1 Like

NixOS is a Linux distribution built and managed by Nix. Here’s the thesis that initiated the distribution: NixOS: the Nix based operating system

Hope this helps.

1 Like

Also, Nix, NixOS, and nixpkgs questions can be asked here, despite the name. All were originally founded by the same person (Eelco Dolstra).

nix.dev and *.nixos.org are official domains, and anything under the NixOS org on GitHub is considered official as well.

lix, tvix, and guix are unaffiliated, though members naturally overlap.
nixos.wiki is also unaffiliated and borderline abandoned; the current official wiki is at wiki.nixos.org.

3 Likes

There are also a variety of projects under the nix-community org, which are related but unofficial. There are some very important projects under that umbrella, e.g. home-manager, disko and the NUR. Sometimes projects from here become phagocytized into the official org, and vice-versa.

There’s also some projects by the various consultancies (e.g. determinate systems, which Eelco is part of these days, or tweag, where he used to work) which pop up from time to time. Some of these are more controversial than others, and there’s some proprietary stuff among it - but they are nonetheless part of the wider nix-sphere.

This forum is more or less the main forum for any and all of these topics. Organization for meetups and conferences also largely happens here, though there is a separate platform for more adminny tasks now for anyone involved in the org side of things.

There’s also a the official matrix chat space, where a lot of dev but also support happens.

If it helps, nix is kind of like the apt of NixOS. Apt is also a separate project from debian, and sees use in lots of other distros, but most of its official channels are part of the debian project. Nix is software with a similar purpose, but it has wider capabilities, so is presented separate from its distro use case more often - hence it’s a bit prone to confusion. The naming overlap doesn’t help, but it’s a good decade too late to change that (except maybe if tvix/lix become dominant?).

2 Likes

NixOS the operating system is a thing that is built using Nix and lives in the nixpkgs monorepo. In a way, it is just another Nix derivation, just a very complex one. To Nix the application, it is not “special” in any way.

NixOS the organization maintains Nix (the interpreter / daemon / “package manager”), Nixpkgs (the “first-party” monorepo of packages, which also includes NixOS the system), among other things.

I believe your confusion stems from the fact that the organization (as in, the GitHub org, or the doman for the main website) is called “NixOS”, rather than just “Nix”?

2 Likes

Thanks all. To make this clearer to future n00bies, I created a ticket to update the FAQ with this info:

4 Likes