patches and low-level development discussion
 help / color / mirror / code / Atom feed
dff12e1134a9a8d16fc3705eac45ac0595de93d8 blob 2096 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
 
= Setting Up Binary Cache
:page-parent: Build and Run
:page-nav_order: 1

// SPDX-FileCopyrightText: 2022 Alyssa Ross <hi@alyssa.is>
// SPDX-License-Identifier: GFDL-1.3-no-invariants-or-later OR CC-BY-SA-4.0

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/pull/6051[Nix bug].

== For NixOS

Add the following configuration to /etc/nixos/configuration.nix:

[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="
  ];
}
----

This configuration adds the Spectrum binary cache as a substituter and makes
Nix to trust builds signed with its public key.

To apply changes, rebuild your system with the https://nixos.wiki/wiki/Nixos-rebuild[nixos-rebuild] command.


== For Non-NixOS Systems

Add the following configuration to /etc/nix/nix.conf:

[source]
----
substituters = https://cache.dataaturservice.se/spectrum/ https://cache.nixos.org/
trusted-public-keys = 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.
debug log:

solving dff12e1 ...
found dff12e1 in https://spectrum-os.org/lists/archives/spectrum-devel/20221028110558.205351-1-evgeniia.nikolaenko@unikie.com/
found 6e69b39 in https://spectrum-os.org/git/spectrum
preparing index
index prepared:
100644 6e69b3996e0f167283cd6e3efbc20d92d17cb638	Documentation/binary-cache.adoc

applying [1/1] https://spectrum-os.org/lists/archives/spectrum-devel/20221028110558.205351-1-evgeniia.nikolaenko@unikie.com/
diff --git a/Documentation/binary-cache.adoc b/Documentation/installation/binary-cache.adoc
similarity index 80%
rename from Documentation/binary-cache.adoc
rename to Documentation/installation/binary-cache.adoc
index 6e69b39..dff12e1 100644

Checking patch Documentation/binary-cache.adoc => Documentation/installation/binary-cache.adoc...
Applied patch Documentation/binary-cache.adoc => Documentation/installation/binary-cache.adoc cleanly.

index at:
100644 dff12e1134a9a8d16fc3705eac45ac0595de93d8	Documentation/installation/binary-cache.adoc

Code repositories for project(s) associated with this public inbox

	https://spectrum-os.org/git/crosvm
	https://spectrum-os.org/git/doc
	https://spectrum-os.org/git/mktuntap
	https://spectrum-os.org/git/nixpkgs
	https://spectrum-os.org/git/spectrum
	https://spectrum-os.org/git/ucspi-vsock
	https://spectrum-os.org/git/www

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).