Hello everyone,

in the past two weeks or so I have been experimenting with Nix multi-user mode. 
My goal was to be able to reliably install Nix in multi-user mode on a CentOS 
6.5 machine. The result of this was a bash script which pretty much automates 
the whole process [1]. The script is still a bit rough around the edges, but I 
got it working repeatedly and reliably on fresh CentOS 6.5 installations.

I would like to ask you guys to have a look at this script and tell me what you 
think of it. Do you think it could be valuable to add something like this as an 
automated installer to the official Nix distribution similar to the one for 
single-user mode?



Unfortunately, CentOS 6.5 comes with fairly old packages. Therefore, it turns 
out to be next to impossible to compile Nix from sources. (You'd have to 
compile the rest of the world as well). The Fedora rpm packages can't be used 
either - for the same reason. So, I ended up using the distribution agnostic 
binary package of Nix that is also used for the single-user-mode install 
script. To that I added features necessary for multi-user-mode (daemon, and 
config), and chroot builds, and some `/etc/profile.d` settings to make Nix easy 
to use for all users.



I did come up with a few specific questions during the course of this:

 * The nix-daemon is not daemonizing itself. Why is that?
    On debian this is not a problem thanks to `start-stop-daemon`. On CentOS I 
ended up writing a wrapper script.
 * The chroot build feature seems to require a statically linked bash.
    Compiling this (plus some dependencies) can take quite some time. Do you 
think a static bash would be a
    viable addition to `nixpkgs`?
 * Is there a way to add globally visible package overrides but still use the 
nix-channel?
 * Would it be possible to make a non-root user the admin of a multi-user nix 
installation?
    I.e. a user who can can do `nix-channel --update`. Or does this explicitely 
require root?



Let me give some credit. I did greatly profit from previous work done by Sander 
van der Burg [2], on the Nix wiki [3], on the single-user mode install script, 
and of course on the Nix documentation. Thanks a lot to the corresponding 
authors.


[1]: https://github.com/aherrmann/nix-multi-user-install
[2]: 
http://sandervanderburg.blogspot.ch/2013/06/setting-up-multi-user-nix-installation.html
[3]: https://nixos.org/wiki/Installing_Nix_on_Debian
_______________________________________________
nix-dev mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-dev

Reply via email to