From 70188305090331537e8ae47bcca0a76584884ea3 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 4 Aug 2014 18:00:33 +0200 Subject: [PATCH] Update manual --- doc/manual/conf-file.xml | 58 +++++++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/doc/manual/conf-file.xml b/doc/manual/conf-file.xml index 6af4c7765..e420d1ed6 100644 --- a/doc/manual/conf-file.xml +++ b/doc/manual/conf-file.xml @@ -229,21 +229,21 @@ flag, e.g. --option gc-keep-outputs false. If set to true, builds will be performed in a chroot environment, i.e., the build will be isolated from the normal file system hierarchy and - will only see the Nix store, the temporary build directory, and - the directories configured with the build-chroot-dirs - option (such as /proc and - /dev). This is useful to prevent undeclared - dependencies on files in directories such as + will only see its dependencies in the Nix store, the temporary + build directory, private versions of /proc, + /dev, /dev/shm and + /dev/pts, and the paths configured with the + build-chroot-dirs + option. This is useful to prevent undeclared dependencies + on files in directories such as /usr/bin. - The use of a chroot requires that Nix is run as root (but - you can still use the “build users” feature to - perform builds under different users than root). Currently, - chroot builds only work on Linux because Nix uses “bind mounts” to - make the Nix store and other directories available inside the - chroot. + The use of a chroot requires that Nix is run as root (so you + should use the “build + users” feature to perform the actual builds under different + users than root). Currently, chroot builds only work on Linux + because Nix uses “bind mounts” to make the Nix store and other + directories available inside the chroot. @@ -252,20 +252,28 @@ flag, e.g. --option gc-keep-outputs false. build-chroot-dirs - When builds are performed in a chroot environment, - Nix will mount some directories from the normal file system - hierarchy inside the chroot. These are the Nix store, the - temporary build directory (usually - /tmp/nix-build-drvname-number), - the /proc filesystem, and the directories - listed here. The default is /dev /dev/pts, - since these contain files needed by many builds (such as - /dev/null). You can use the syntax + A list of paths bind-mounted into Nix chroot + environments. Contrary to what the name suggests, the specified + paths do not have to be directories; you can bind-mount other + types of files as well. You can use the syntax target=source to mount a path in a different location in the chroot; for - instance, /bin=/nix-bin will mount the - directory /nix-bin as /bin - inside the chroot. + instance, /bin=/nix-bin will mount the path + /nix-bin as /bin inside the + chroot. + + Depending on how Nix was built, the default value for this option + may be empty or provide /bin/sh as a + bind-mount of bash. + + + + + build-extra-chroot-dirs + + A list of additional paths appended to + . Useful if you want to extend + its default value.