nix-instantiate
-
+ nix-store
@@ -65,10 +72,14 @@
nix-channel
-
+ nix-collect-garbage
+
+ nix-copy-closure
+
+ nix-hash
@@ -77,11 +88,11 @@
nix-install-package
-
+ nix-pack-closure
-
+ nix-prefetch-url
@@ -93,7 +104,7 @@
nix-push
-
+ nix-unpack-closure
diff --git a/doc/manual/nix-build.xml b/doc/manual/nix-build.xml
index 541275c52..3f35f5de3 100644
--- a/doc/manual/nix-build.xml
+++ b/doc/manual/nix-build.xml
@@ -1,5 +1,13 @@
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+
+ nix-build
+ 1
+ Nix
+
+nix-build
diff --git a/doc/manual/nix-channel.xml b/doc/manual/nix-channel.xml
index f3fb7c1f6..8ee4a5f27 100644
--- a/doc/manual/nix-channel.xml
+++ b/doc/manual/nix-channel.xml
@@ -1,6 +1,14 @@
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+ nix-channel
+ 1
+ Nix
+
+
+
nix-channelmanage Nix channels
diff --git a/doc/manual/nix-collect-garbage.xml b/doc/manual/nix-collect-garbage.xml
index 9dd9b664d..53cffe2ff 100644
--- a/doc/manual/nix-collect-garbage.xml
+++ b/doc/manual/nix-collect-garbage.xml
@@ -1,6 +1,14 @@
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+ nix-collect-garbage
+ 1
+ Nix
+
+
+
nix-collect-garbagedelete unreachable store paths
diff --git a/doc/manual/nix-copy-closure.xml b/doc/manual/nix-copy-closure.xml
new file mode 100644
index 000000000..fcb6be234
--- /dev/null
+++ b/doc/manual/nix-copy-closure.xml
@@ -0,0 +1,151 @@
+
+
+
+ nix-copy-closure
+ 1
+ Nix
+
+
+
+
+ nix-copy-closure
+ copy a closure to or from a remote machine via SSH
+
+
+
+
+ nix-copy-closure
+
+
+
+
+
+
+
+ user@machine
+
+ paths
+
+
+
+
+Description
+
+nix-copy-closure gives you an easy and
+efficient way to exchange software between machines. Given one or
+more Nix store paths paths on the local
+machine, nix-copy-closure computes the closure of
+those paths (i.e. all their dependencies in the Nix store), and copies
+all paths in the closure to the remote machine via the
+ssh (Secure Shell) command. With the
+, the direction is reversed:
+the closure of paths on a remote machine is
+copied to the Nix store on the local machine.
+
+This command is efficient because it only sends the store paths
+that are missing on the target machine.
+
+Since nix-copy-closure calls
+ssh, you may be asked to type in the appropriate
+password or passphrase. In fact, you may be asked
+twice because nix-copy-closure
+currently connects twice to the remote machine, first to get the set
+of paths missing on the target machine, and second to send the dump of
+those paths. If this bothers you, use
+ssh-agent.
+
+
+Options
+
+
+
+
+
+ Copy the closure of
+ paths from the local Nix store to the
+ Nix store on machine. This is the
+ default.
+
+
+
+
+
+ Copy the closure of
+ paths from the Nix store on
+ machine to the local Nix
+ store.
+
+
+
+
+
+ Let the sending machine cryptographically sign the
+ dump of each path with the key in
+ /nix/etc/nix/signing-key.sec. If the user on
+ the target machine does not have direct access to the Nix store
+ (i.e., if the target machine has a multi-user Nix installation),
+ then the target machine will check the dump against
+ /nix/etc/nix/signing-key.pub before unpacking
+ it in its Nix store. This allows secure sharing of store paths
+ between untrusted users on two machines, provided that there is a
+ trust relation between the Nix installations on both machines
+ (namely, they have matching public/secret keys).
+
+
+
+
+
+ Compress the dump of each path with
+ gzip before sending it.
+
+
+
+
+
+
+
+
+Environment variables
+
+
+
+ NIX_SSHOPTS
+
+ Additional options to be passed to
+ ssh on the command line.
+
+
+
+
+
+
+
+
+Examples
+
+Copy Firefox with all its dependencies to a remote machine:
+
+
+$ nix-copy-closure alice@itchy.labs $(type -tP firefox)
+
+
+
+Copy Subversion from a remote machine and then install it into a
+user environment:
+
+
+$ nix-copy-closure --from alice@itchy.labs \
+ /nix/store/0dj0503hjxy5mbwlafv1rsbdiyx1gkdy-subversion-1.4.4
+$ nix-env -i /nix/store/0dj0503hjxy5mbwlafv1rsbdiyx1gkdy-subversion-1.4.4
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/manual/nix-env.xml b/doc/manual/nix-env.xml
index 9c9114a90..9b9127921 100644
--- a/doc/manual/nix-env.xml
+++ b/doc/manual/nix-env.xml
@@ -1,6 +1,14 @@
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+ nix-env
+ 1
+ Nix
+
+
+
nix-envmanipulate or query Nix user environments
diff --git a/doc/manual/nix-hash.xml b/doc/manual/nix-hash.xml
index 227eb9421..dcf01d3a2 100644
--- a/doc/manual/nix-hash.xml
+++ b/doc/manual/nix-hash.xml
@@ -1,6 +1,14 @@
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+ nix-hash
+ 1
+ Nix
+
+
+
nix-hashcompute the cryptographic hash of a path
diff --git a/doc/manual/nix-install-package.xml b/doc/manual/nix-install-package.xml
index 5e4f03d73..f0eab5df8 100644
--- a/doc/manual/nix-install-package.xml
+++ b/doc/manual/nix-install-package.xml
@@ -1,6 +1,14 @@
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+ nix-install-package
+ 1
+ Nix
+
+
+
nix-install-packageinstall a Nix Package file
diff --git a/doc/manual/nix-instantiate.xml b/doc/manual/nix-instantiate.xml
index 24d4c45d3..d61d6d59d 100644
--- a/doc/manual/nix-instantiate.xml
+++ b/doc/manual/nix-instantiate.xml
@@ -1,6 +1,14 @@
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+ nix-instantiate
+ 1
+ Nix
+
+
+
nix-instantiateinstantiate store derivations from Nix expressions
diff --git a/doc/manual/nix-pack-closure.xml b/doc/manual/nix-pack-closure.xml
index 8f79a4f69..c11dacd26 100644
--- a/doc/manual/nix-pack-closure.xml
+++ b/doc/manual/nix-pack-closure.xml
@@ -1,5 +1,13 @@
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+
+ nix-pack-closure
+ 1
+ Nix
+
+nix-pack-closure
diff --git a/doc/manual/nix-prefetch-url.xml b/doc/manual/nix-prefetch-url.xml
index b03169376..777bbe140 100644
--- a/doc/manual/nix-prefetch-url.xml
+++ b/doc/manual/nix-prefetch-url.xml
@@ -1,6 +1,14 @@
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+ nix-prefetch-url
+ 1
+ Nix
+
+
+
nix-prefetch-urlcopy a file from a URL into the store and print its MD5 hash
diff --git a/doc/manual/nix-pull.xml b/doc/manual/nix-pull.xml
index 28b5e354b..37ca88fcc 100644
--- a/doc/manual/nix-pull.xml
+++ b/doc/manual/nix-pull.xml
@@ -1,5 +1,13 @@
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+
+ nix-pull
+ 1
+ Nix
+
+nix-pull
diff --git a/doc/manual/nix-push.xml b/doc/manual/nix-push.xml
index d58350e2d..f439af563 100644
--- a/doc/manual/nix-push.xml
+++ b/doc/manual/nix-push.xml
@@ -1,5 +1,13 @@
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+
+ nix-push
+ 1
+ Nix
+
+nix-push
diff --git a/doc/manual/nix-store.xml b/doc/manual/nix-store.xml
index d787c337b..a168be024 100644
--- a/doc/manual/nix-store.xml
+++ b/doc/manual/nix-store.xml
@@ -1,5 +1,13 @@
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+
+ nix-store
+ 1
+ Nix
+
+nix-store
diff --git a/doc/manual/nix-unpack-closure.xml b/doc/manual/nix-unpack-closure.xml
index e95225e81..dce0d1db4 100644
--- a/doc/manual/nix-unpack-closure.xml
+++ b/doc/manual/nix-unpack-closure.xml
@@ -1,5 +1,13 @@
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+
+ nix-unpack-closure
+ 1
+ Nix
+
+nix-unpack-closure
diff --git a/doc/manual/release-notes.xml b/doc/manual/release-notes.xml
index c3bc060cb..b19d9a382 100644
--- a/doc/manual/release-notes.xml
+++ b/doc/manual/release-notes.xml
@@ -1,5 +1,6 @@
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xml:id="sec-relnotes">
Nix Release Notes
@@ -7,7 +8,7 @@
-Release 0.11 (TBA)
+Release 0.11 (TBA)
@@ -17,9 +18,10 @@
removed.
- nix-copy-closure copies the
- missing parts of a closure to or from a remote
- machine.
+ The new command nix-copy-closure
+ gives you an easy and efficient way to exchange software between
+ machines. It copies the missing parts of the closure of a set of
+ store path to or from a remote machine.nix-prefetch-url now by default
@@ -99,6 +101,21 @@
builtins.sub,
builtins.stringLength,
builtins.substring.
+
+
+ TODO: each subscribed channel is its own attribute
+ in the top-level expression generated for the channel, this allows
+ disambiguation (nix-env -qaA).
+
+
+ TODO: substitutes table is gone, registering
+ substitutes is now much faster.
+
+
+ nix-prefetch-url now has a
+ limited form of caching. This is used by
+ nix-channel to prevent unnecessary downloads when
+ the channel hasn’t changed.