README.org: Add instructions how to add our substitution server.

* README.org (Substitutes for nonguix): New chapter.
(Avoiding kernel recompilation): rename heading to "Pinning package
versions".

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
This commit is contained in:
Sergiu Ivanov 2021-12-05 22:35:00 +01:00 committed by Jonathan Brielmaier
parent 5b1184a103
commit 4725a85f89
No known key found for this signature in database
GPG key ID: ECFC83988B4E4B9F

View file

@ -193,9 +193,40 @@ required, it is recommended to stay with Linux LTS releases:
...)
#+END_SRC
** Avoiding kernel recompilation
** Substitutes for nonguix
Since prebuilt substitutes are not currently available for Nonguix, you may find
A Nonguix substitute server is available at [[https://substitutes.nonguix.org]].
On Guix System, you can add and authorize this URL in the following way:
#+BEGIN_SRC scheme
(operating-system
(services (modify-services %desktop-services
(guix-service-type config => (guix-configuration
(inherit config)
(substitute-urls
(append (list "https://substitutes.nonguix.org")
%default-substitute-urls))
(authorized-keys
(append (list (local-file "./signing-key.pub"))
%default-authorized-guix-keys))))))
...)
#+END_SRC
Notice that the URL of the server should be specified without a trailing
slash. The file ~signing-key.pub~ should be downloaded directly from
[[https://substitutes.nonguix.org/signing-key.pub]].
Alternatively, you can use replace ~(local-file "./signing-key.pub")~ by:
#+BEGIN_SRC scheme
(plain-file "non-guix.pub"
"<contents of signing-key.pub>")
#+END_SRC
Check out the [[https://guix.gnu.org/manual/en/html_node/Substitutes.html][chapter on substitutes]]
in the Guix manual for more details.
** Pinning package versions
When using substitutes is not an option, you may find
that ~guix system reconfigure~ recompiles the kernel frequently due to version
bumps in the kernel package. An inferior can be used to pin the kernel version
and avoid lengthy rebuilds.