aboutsummaryrefslogtreecommitdiff
path: root/README.org
blob: c57b063866e6183df51b3ff9290b372511642c1c (plain)
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
60
61
62
63
64
65
#+TITLE: Guix North America
#+AUTHOR: Collin J. Doering

#+begin_abstract
This repository contains setup and management instructions for a Guix North American Build
Farm.
#+end_abstract

* Using Substitutes from cuirass.genenetwork.org

** On Guix System

If you're using Guix System, you can use the cuirass.genenetwork.org substitute
server completing the following:

1. Add ~https://cuirass.genenetwork.org~ to the list of substitute servers (using the
   ~substitute-urls~ field of ~guix-configuration~ passed to the ~guix-daemon~ service).

2. Adjust guix-daemon ACLs to include the following public key (using the
   ~authorized-keys~ field of ~guix-configuration~ passed to the ~guix-daemon~ service).

   #+begin_src scheme
   (public-key
    (ecc
     (curve Ed25519)
     (q #9578AD6CDB23BA51F9C4185D5D5A32A7EEB47ACDD55F1CCB8CEE4E0570FBF961#)
     )
   )
   #+end_src

   In the future, we hope to work with Guix maintainers to include this substitute
   server as one of the provided Guix System defaults.

** On Foreign Distributions

When using Guix on a foreign distribution, you'll need to do the following to enable
substitutes from cuirass.genenetwork.org:

1. Add the public key (provided above) for cuirass.genenetwork.org to the guix-daemon ACLs.

   #+begin_src shell
     sudo guix archive --authorize < cuirass.genenetwork.org.pub
   #+end_src

2. Add the substitute url using the ~--substitute-urls~ option to guix-daemon. Assuming your
   foreign distribution uses systemd, this can be done using the following.

   #+begin_src shell
     sudo systemctl edit --full guix-daemon
   #+end_src

   If you want to just use ci.guix.gnu.org, or cuirass.genenetwork.org for that matter,
   you'll need to adjust the substitute URLs configuration for the guix-daemon to just refer
   to the substitute servers you want to use. Once edited and saved, restart the guix daemon.

   #+begin_src shell
     sudo systemctl restart guix-daemon.service
   #+end_src

* Reference

- [[./docs/initial-setup.org][Intial Setup Instructions]] :: Details the initial setup of a genenetwork.org sponsored,
  single node build farm.
- [[./docs/administration.org][Administration of cuirass.genenetwork.org]] :: details maintenance and administration of
  cuirass.genenetwork.org