[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
375/376: Add a section on nix-serve
From: |
Ludovic Courtès |
Subject: |
375/376: Add a section on nix-serve |
Date: |
Wed, 28 Jan 2015 22:06:17 +0000 |
civodul pushed a commit to tag 1.8
in repository guix.
commit 47ed06a290c66d41622c096c28da5b1c71be885b
Author: Eelco Dolstra <address@hidden>
Date: Sun Dec 14 03:37:41 2014 +0100
Add a section on nix-serve
---
doc/manual/packages/binary-cache-substituter.xml | 70 ++++++++++++++++++++++
doc/manual/packages/copy-closure.xml | 2 +-
doc/manual/packages/sharing-packages.xml | 1 +
3 files changed, 72 insertions(+), 1 deletions(-)
diff --git a/doc/manual/packages/binary-cache-substituter.xml
b/doc/manual/packages/binary-cache-substituter.xml
new file mode 100644
index 0000000..c6ceb9c
--- /dev/null
+++ b/doc/manual/packages/binary-cache-substituter.xml
@@ -0,0 +1,70 @@
+<section xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ version="5.0"
+ xml:id="ssec-binary-cache-substituter">
+
+<title>Serving a Nix store via HTTP</title>
+
+<para>You can easily share the Nix store of a machine via HTTP. This
+allows other machines to fetch store paths from that machine to speed
+up installations. It uses the same <emphasis>binary cache</emphasis>
+mechanism that Nix usually uses to fetch pre-built binaries from
+<uri>https://cache.nixos.org</uri>.</para>
+
+<para>The daemon that handles binary cache requests via HTTP,
+<command>nix-serve</command>, is not part of the Nix distribution, but
+you can install it from Nixpkgs:
+
+<screen>
+$ nix-env -i nix-serve
+</screen>
+
+You can then start the server, listening for HTTP connections on
+whatever port you like:
+
+<screen>
+$ nix-serve -p 8080
+</screen>
+
+To check whether it works, try the following on the client:
+
+<screen>
+$ curl http://avalon:8080/nix-cache-info
+</screen>
+
+which should print something like:
+
+<screen>
+StoreDir: /nix/store
+WantMassQuery: 1
+Priority: 30
+</screen>
+
+</para>
+
+<para>On the client side, you can tell Nix to use your binary cache
+using <option>--option extra-binary-caches</option>, e.g.:
+
+<screen>
+$ nix-env -i firefox --option extra-binary-caches http://avalon:8080/
+</screen>
+
+The option <option>extra-binary-caches</option> tells Nix to use this
+binary cache in addition to your default caches, such as
+<uri>https://cache.nixos.org</uri>. Thus, for any path in the closure
+of Firefox, Nix will first check if the path is available on the
+server <literal>avalon</literal> or another binary caches. If not, it
+will fall back to building from source.</para>
+
+<para>You can also tell Nix to always use your binary cache by adding
+a line to the <filename linkend="sec-conf-file">nix.conf</filename>
+configuration file like this:
+
+<programlisting>
+binary-caches = http://avalon:8080/ https://cache.nixos.org/
+</programlisting>
+
+</para>
+
+</section>
diff --git a/doc/manual/packages/copy-closure.xml
b/doc/manual/packages/copy-closure.xml
index 5ec7896..012030e 100644
--- a/doc/manual/packages/copy-closure.xml
+++ b/doc/manual/packages/copy-closure.xml
@@ -4,7 +4,7 @@
version="5.0"
xml:id="ssec-copy-closure">
-<title>Copying Closures</title>
+<title>Copying Closures Via SSH</title>
<para>The command <command
linkend="sec-nix-copy-closure">nix-copy-closure</command> copies a Nix
diff --git a/doc/manual/packages/sharing-packages.xml
b/doc/manual/packages/sharing-packages.xml
index 586363b..8465c18 100644
--- a/doc/manual/packages/sharing-packages.xml
+++ b/doc/manual/packages/sharing-packages.xml
@@ -12,6 +12,7 @@ another machine already has some or all of those packages or
their
dependencies. In that case there are mechanisms to quickly copy
packages between machines.</para>
+<xi:include href="binary-cache-substituter.xml" />
<xi:include href="copy-closure.xml" />
<xi:include href="ssh-substituter.xml" />
- 367/376: Fix image in PDF, (continued)
- 367/376: Fix image in PDF, Ludovic Courtès, 2015/01/28
- 354/376: Ensure we're writing to stderr in the builder, Ludovic Courtès, 2015/01/28
- 360/376: Style, Ludovic Courtès, 2015/01/28
- 365/376: Update .nixpkg description, Ludovic Courtès, 2015/01/28
- 366/376: Rename files, Ludovic Courtès, 2015/01/28
- 371/376: Merge commit '36c67860363c93eb00cf5b8e2ad34f6f775e6901', Ludovic Courtès, 2015/01/28
- 363/376: Style, Ludovic Courtès, 2015/01/28
- 376/376: Grmbl, Ludovic Courtès, 2015/01/28
- 372/376: Merge branch 'cygwin-master' of https://github.com/ternaris/nix, Ludovic Courtès, 2015/01/28
- 364/376: ReiserFS -> ext4, Ludovic Courtès, 2015/01/28
- 375/376: Add a section on nix-serve,
Ludovic Courtès <=
- 361/376: Document channel format and excise most mentions of manifests and nix-pull, Ludovic Courtès, 2015/01/28
- 370/376: Delete the stdenv section, Ludovic Courtès, 2015/01/28
- 374/376: Add section on SSH substituter, Ludovic Courtès, 2015/01/28
- 373/376: Pedantry, Ludovic Courtès, 2015/01/28
- 368/376: Fix build, Ludovic Courtès, 2015/01/28
- 369/376: Bla, Ludovic Courtès, 2015/01/28
- 294/376: Clean up temp roots in a more C++ way, Ludovic Courtès, 2015/01/28
- 287/376: Don't use ADDR_LIMIT_3GB, Ludovic Courtès, 2015/01/28
- 255/376: binary download: Use $NIX_CURL_FLAGS, Ludovic Courtès, 2015/01/28
- 301/376: 'build-cache-failures' -> 'build-cache-failure' in nix.conf documentation., Ludovic Courtès, 2015/01/28