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 #+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 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 bumps in the kernel package. An inferior can be used to pin the kernel version
and avoid lengthy rebuilds. and avoid lengthy rebuilds.