(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 . (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))))