Tried to find any kind of resource that breaks down the facts (and not pros/cons, performance comparisons, etc.) how the two modes of installation differ, but no joy:
-
The discussion in the issue Manual: Explain pros and cons of single and multi user installation #2799 doesn’t contain much information.
-
The reddit thread single user vs multi user installation simply suggets that “single-user is semi-deprecated”. (I have only ever used multi-user Nix installs, so I wonder: does single-user install have valid use cases?)
-
3.2 Installing a Binary Distribution section in the Nix Reference Manual mentions that
[single-user install] will perform a single-user installation of Nix, meaning that
/nix
is owned by the invoking user.but one will still need root access to create the default path of
/nix
(1,2). It is suggested here that root access can be avoided by setting a different Nix store path, but that option is available to multi-user Nix installs as well. (Although, a multi-user install also creates build users so that would also need root, right?..)
Anyway, it would be nice to document what these install modes do exactly so that users can make an informed decision. (And, if single-user mode is indeed not used and there also no valid use cases for it, shouldn’t it be explicitly deprecated? There are also very compelling reasons to avoid single-user mode in the thread Change my mind: I still want single-user on macOS.)
edit: This question came up while trying to create a simple PR to document the Nix installer’s options (see thread), but couldn’t help myself from looking at the details… Speaking of which, making a note here that 3.3 Installing Nix from Source feels incomplete: it gets to a point of how to build Nix, but it never brings up the topic of single-user and multi-user. I know that if one does everything by themselves then they can set up their system in a way that is not as black and white, but it would be nice to mention that after simply building Nix, one effectively has a single-user install (I think). At least, if someone reads that section to learn, they could use the previously learned terminologies (i.e., single-user & multi-user) as mental anchors.