summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-04-20 14:04:59 +0000
committerAlyssa Ross <hi@alyssa.is>2022-04-22 08:42:52 +0000
commit914ba26e9dd85698ee1cfcee9886d5a15345fe72 (patch)
treeeb97b7dcd6bd6aa226dcfb73090fdf6efe0ad76f
parentb1ff26eb27ea905357f8bf217d0f0cfbea33c37b (diff)
downloadspectrum-914ba26e9dd85698ee1cfcee9886d5a15345fe72.tar
spectrum-914ba26e9dd85698ee1cfcee9886d5a15345fe72.tar.gz
spectrum-914ba26e9dd85698ee1cfcee9886d5a15345fe72.tar.bz2
spectrum-914ba26e9dd85698ee1cfcee9886d5a15345fe72.tar.lz
spectrum-914ba26e9dd85698ee1cfcee9886d5a15345fe72.tar.xz
spectrum-914ba26e9dd85698ee1cfcee9886d5a15345fe72.tar.zst
spectrum-914ba26e9dd85698ee1cfcee9886d5a15345fe72.zip
Documentation: document the binary cache
Message-Id: <20220420164150.3110649-1-hi@alyssa.is>
-rw-r--r--Documentation/Makefile1
-rw-r--r--Documentation/binary-cache.adoc53
-rw-r--r--Documentation/getting-spectrum.adoc4
3 files changed, 58 insertions, 0 deletions
diff --git a/Documentation/Makefile b/Documentation/Makefile
index 59bc3ae..e9d5886 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -8,6 +8,7 @@ datarootdir = $(prefix)/share
 docdir = $(datarootdir)/doc/spectrum
 
 SOURCES = \
+	binary-cache.adoc \
 	creating-vms.adoc \
 	development.adoc \
 	getting-spectrum.adoc \
diff --git a/Documentation/binary-cache.adoc b/Documentation/binary-cache.adoc
new file mode 100644
index 0000000..5ce6a4d
--- /dev/null
+++ b/Documentation/binary-cache.adoc
@@ -0,0 +1,53 @@
+// SPDX-FileCopyrightText: 2022 Alyssa Ross <hi@alyssa.is>
+// SPDX-License-Identifier: GFDL-1.3-or-later OR CC-BY-SA-4.0
+
+= Binary cache
+
+Building Spectrum from source can take a very long time.  To avoid
+having to wait when building the system to try it out or test patches,
+an x86_64 binary cache service is available.  If configured to do so,
+Nix will download build outputs from the cache, instead of building
+them locally.
+
+Builds are run on the latest NixOS unstable on
+https://www.vultr.com/[Vultr], and are signed to ensure authenticity.
+The build infrastructure and signing key are accessible by Alyssa Ross
+and Puck Meerburg.  Storage is provided by Daniel Kuehn.  Please
+https://spectrum-os.org/participating.html[get in touch] if you
+encounter any trouble with it.
+
+The binary cache is currently not able to provide logs, due to a
+https://github.com/NixOS/nix/issues/6403[Nix bug].
+
+== Setting up the binary cache
+
+=== NixOS
+
+The following configuration adds the Spectrum binary cache as a
+substituter, and tells Nix to trust builds signed with its public key.
+
+[source,nix]
+----
+{ ... }:
+
+{
+  nix.settings.substituters = [ "https://cache.dataaturservice.se/spectrum/" ];
+  nix.settings.trusted-public-keys = [
+    "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
+    "spectrum-os.org-1:rnnSumz3+Dbs5uewPlwZSTP0k3g/5SRG4hD7Wbr9YuQ="
+  ];
+}
+----
+
+=== Non-NixOS systems
+
+Add the following configuration to /etc/nix/nix.conf:
+
+----
+substituters = https://cache.dataaturservice.se/spectrum/ https://cache.nixos.org/
+trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= spectrum-os.org-1:rnnSumz3+Dbs5uewPlwZSTP0k3g/5SRG4hD7Wbr9YuQ=
+----
+
+If you have other binary caches configured besides cache.nixos.org,
+make sure to add the Spectrum cache URL and public key to the existing
+configuration lines in your nix.conf file.
diff --git a/Documentation/getting-spectrum.adoc b/Documentation/getting-spectrum.adoc
index 4ff6b05..fb69dce 100644
--- a/Documentation/getting-spectrum.adoc
+++ b/Documentation/getting-spectrum.adoc
@@ -10,6 +10,10 @@ from other operating systems, as long as they're not too invasive.]
 and have https://nixos.org/[Nix] and https://git-scm.com/[git]
 installed, it's very easy to do.
 
+Before you start, consider setting up the
+xref:binary-cache.adoc[Spectrum binary cache], which will save you a
+lot of time waiting for builds.
+
 == Trying Spectrum
 
 If you want to try Spectrum out to get a feel for it, without