[Nix-dev] Installing /nix on nfs-mounted volume possible?

Ben Booth benwbooth at gmail.com
Mon Feb 8 18:37:10 CET 2016


Hi all,

I would like to use nix to install software and run in on a variety of linux machines at my work. I tried installing nix to my NFS-mounted home folder as outlined here[1], but I had trouble with both proot[2] and nix-user-chroot[3], since they both mess up some permissions and break sudo. I should also mention that I really don't want to build packages from source if I can avoid it.

The next thing I tried was installing nix to an automounted NFS volume mounted at /nix. This seems to work great so far, but now my nix store is visible to all users. I don't really mind this, if other users want to run my software that's fine. But I've read that for multi-user installations, I need to designate a build user and do some other steps for building software from source. I haven't tried that yet since I've just been downloading packages from the binary cache. Is this something I need to worry about?

I've also heard that installing nix on NFS-mounted volumes can cause corruption of the nix store because of locking issues. Is this still an issue for modern NFSv4 implementations? Our NFS server is running Centos 7 with a 3.10.0 kernel. Is there some other way to accomplish what I'm trying to do that doesn't have these issues?


One last question: I installed python into my nix store and would like to install some PyPI packages using pip. How can I make sure that, for compiled python packages that reference native libraries, that they only look in the nix store for native libraries, and not in /usr/lib, etc? I saw the `nix-shell` command, but it looks like I would have to add a `-p package` argument for each package I want in the environment. Is there any way to tell `nix-shell` that I want all my nix packages in the environment? I guess I could create a shell script to automate adding a `-p` argument for each package in my nix store, but is there an easier way?

Thanks!
Ben Booth

[1] https://nixos.org/wiki/How_to_install_nix_in_home_\(on_another_distribution\)
[2] http://proot.me/
[3] https://github.com/lethalman/nix-user-chroot


More information about the nix-dev mailing list