diff options
Diffstat (limited to 'README.org')
-rw-r--r-- | README.org | 68 |
1 files changed, 59 insertions, 9 deletions
@@ -98,17 +98,25 @@ For some hardware the official Guix installation image won't do nonfree Linux kernel and nonfree firmware with the following command: #+begin_src sh +guix system image --image-type=iso9660 /path/to/this/channel/nongnu/system/install.scm +#+end_src + +Like the official Guix installation image, this will produce a read-only image +with any changes made stored in memory. As indicated below, you will need to +run ~guix pull~ to download the Nonguix package descriptions, so will need +enough memory to hold the cached channel code which can be several hundred +megabytes. As an alternative, you can create a writable image with the +following command: + +#+begin_src sh guix system image --image-size=7.2GiB /path/to/this/channel/nongnu/system/install.scm #+end_src -As indicated bellow, you will need to run ~guix pull~ to download the -Nonguix package descriptions. Some free space on your USB thumbdrive is -required for this operation to succeed. The ~--image-size~ option allows -you to specify the size of the image and, as such, to allocate free space -to it. The given value is purely indicative. It obviously depends on your -thumbdrive capacity. +The ~--image-size~ option allows you to specify the size of the image and, as +such, to allocate free space to it. The given value is purely indicative. It +obviously depends on your thumbdrive capacity. -Then you can write the generated disk image to a USB thumbdrive with: +Either type of image can be written to a USB thumbdrive with: #+BEGIN_SRC sh # NOTE: This example assumes your thumbdrive is recognized by Linux as /dev/sdb. @@ -185,9 +193,51 @@ required, it is recommended to stay with Linux LTS releases: ...) #+END_SRC -** Avoiding kernel recompilation +** Substitutes for nonguix + +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 replace ~(local-file "./signing-key.pub")~ by: +#+BEGIN_SRC scheme +(plain-file "non-guix.pub" + "<contents of signing-key.pub>") +#+END_SRC + +Guix System will only use the substitution server after it has been +reconfigured. The substitution server will therefore by default not +be used the first time you run ~guix system reconfigure~ after adding +the substitution server. It is therefore recommended to explicitly +specify the use of the substitution server the first time +you reconfigure your system: +#+BEGIN_SRC sh +sudo guix archive --authorize < signing-key.pub +sudo guix system reconfigure /etc/config.scm --substitute-urls='https://ci.guix.gnu.org https://bordeaux.guix.gnu.org https://substitutes.nonguix.org' +#+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 -Since prebuilt substitutes are not currently available for Nonguix, you may find +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. |