summaryrefslogtreecommitdiff
path: root/tw/channels.scm
blob: 56841f61981d62102f6da4036e850aa5b8588bd5 (about) (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
66
67
68
69
70
71
72
(define-module (tw channels)
  #:use-module (gnu services)
  #:use-module (gnu services base)
  #:use-module (guix gexp)
  #:use-module (guix modules))

(define-public %system-channels
  ;; Channel `tw' depends on `nonguix'.
  ;; See also `.guix-channel' in this repo.
  #~(cons* (channel
            (name 'tw)
            (url "git://lud.wg/~timo/guix-decls.git")
            (branch "master")
            (introduction
             (make-channel-introduction
              "f26d5f53db3ec351d5d44814b587f1c5f698b155"
              (openpgp-fingerprint
               "53EC 3C06 8568 83DD 9235  5BC2 2FC7 8504 681F 69B0"))))
           %default-channels))

;; Nonguix substitute server's signing key.
;; From <https://substitutes.nonguix.org/signing-key.pub>.
(define-public %nonguix-signing-key
  (plain-file "nonguix-signing-key.pub" "\
(public-key
 (ecc
  (curve Ed25519)
  (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)
  )
 )
"))

;; Authorize other machines' Guix signing keys, for offloading.
(define %tw-signing-keys
  (list (plain-file "lud-signing-key.pub" "\
(public-key
 (ecc
  (curve Ed25519)
  (q #907985F2DEC4E15FAF29F4029FEADD266DD6563F7E9548160965C7E61EEDCA51#)
  )
 )
")
        (plain-file "vin-signing-key.pub" "\
(public-key
 (ecc
  (curve Ed25519)
  (q #752B01B2CC6E1730BFD8F2B4CF9B9D3D29A07B4B7763EACBD8DEEE9F46E96561#)
  )
 )
")
        (plain-file "lap-signing-key.pub" "\
(public-key
 (ecc
  (curve Ed25519)
  (q #DF75857BAD66DB4ED4F3DC6450C9E0923D3162435FDE281B536F40EA22FAD6CF#)
  )
 )
")))

(define-public %system-channel-services
  ;; The gaming channel (https://gitlab.com/guix-gaming-channels) is per-user only.
  (list (simple-service 'nonguix guix-service-type
          (guix-extension
           (authorized-keys (list %nonguix-signing-key))
           (substitute-urls '("https://substitutes.nonguix.org"))))

        (simple-service 'offloading guix-service-type
          (guix-extension
           (authorized-keys %tw-signing-keys)))

        (extra-special-file "/etc/guix/channels.scm"
          (scheme-file "channels.scm" %system-channels))))