Adding a nix option to sync before registering a path, for non-ext*
filesystems.
Fixing the default of sync-before-registering

Setting 'false' as default, as suggested by Eelco.

I also added a comment about the setting in the code.
Remove the --max-links GC option

We don't need this anymore now that current filesystems support more
than 32,000 files in a directory.
Make the garbage collector more concurrent

Make the garbage collector more concurrent by deleting valid paths
outside the region where we're holding the global GC lock.  This
should greatly reduce the time during which new builds are blocked,
since the deletion accounts for the vast majority of the time spent in
the GC.

To ensure that this is safe, the valid paths are invalidated and
renamed to some arbitrary path while we're holding the lock.  This
ensures that we when we finally delete the path, it's not a (newly)
valid or locked path.
Delete non-directory valid paths right away

It's unlikely that rename() is faster than unlink() on a regular file
or symlink, so don't bother.
Mac OS X fix
Allow the command executed by "nix-build --run-env" to be overriden with --command
Add an option "--exclude" to filter dependencies in "nix-build --run-env"

Sometimes when doing "nix-build --run-env" you don't want all
dependencies to be built.  For instance, if we want to do "--run-env"
on the "build" attribute in Hydra's release.nix (to get Hydra's build
environment), we don't want its "tarball" dependency to be built.  So
we can do:

  $ nix-build --run-env release.nix -A build --exclude 'hydra-tarball'

This will skip the dependency whose name matches the "hydra-tarball"
regular expression.  The "--exclude" option can be repeated any number
of times.
Update "nix-build --help"
Follow redirects when checking for the existence of MANIFEST.bz2

If we don't follow redirects, we might think that MANIFEST.bz2 exists
just because the HEAD request succeeds on the redirector URI.
Include --keep-going in --help
nix-generate-patches: Optionally write new patches to $NIX_ALL_PATCHES
On Linux, pretend we're building on Linux 2.6

Setting the UNAME26 personality causes "uname" to return "2.6.x",
regardless of the kernel version.  This improves determinism in
a few misbehaved packages.
Add a missing DocBook source file to the tarball

Reported on IRC by Adrian Siekierka.
Update affiliation
Include common options in the manpages using some XInclude hackery
Include environment variables in the manpages
Documentation fix
Fix building from the tarball
Nix is on github now