I'm using Nix on an "ordinary" Linux distro (not NixOS) and I want to use 
chroot builds, to make package builds more pure. I've successfully performed a 
multi-user installation and I've enabled chroot builds in nix.conf. However, 
the default build-chroot-dirs option value does not include the /bin directory 
(and therefore also /bin/sh is missing, causing a lot of packages to fail).

I could (of course) add /bin to the build-chroot-dirs option, but this will 
make the entire /bin folder of my host distro (including a large collection of 
installed packages binaries) available in the chroot environment, which will 
still make builds impure, because a lot of packages can be implicitly found.

A possible solution is to bind mount a different directory from my host system 
(only containing the shell) into the the chroot environment.

I have a dived a bit into the documentation as well as in Nix's source code, 
but apparently there seems to be no option to specify a source and destination 
to bind mount an arbitrary directory in the chroot environment, e.g.

mount --bind /my/bin/containing/only/sh/bin /chroot/env/bin

Is there an option to achieve this, or must Nix be extended to do this?

-- Sander

_______________________________________________
nix-dev mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-dev

Reply via email to