From 914ba26e9dd85698ee1cfcee9886d5a15345fe72 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Wed, 20 Apr 2022 14:04:59 +0000 Subject: Documentation: document the binary cache Message-Id: <20220420164150.3110649-1-hi@alyssa.is> --- Documentation/Makefile | 1 + Documentation/binary-cache.adoc | 53 +++++++++++++++++++++++++++++++++++++ Documentation/getting-spectrum.adoc | 4 +++ 3 files changed, 58 insertions(+) create mode 100644 Documentation/binary-cache.adoc 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 +// 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 -- cgit 1.4.1