summaryrefslogtreecommitdiff
path: root/README.org
diff options
context:
space:
mode:
authorJacob First <5678215-fishyfriend_@users.noreply.gitlab.com>2020-03-25 04:59:03 -0400
committerfishyfriend_ <5678215-fishyfriend_@users.noreply.gitlab.com>2020-03-25 20:42:28 +0000
commit3429bf94b8e47a51ddf7a7c5727c1d477d1d3630 (patch)
tree34c968093008a9f304e68c9b21794fb7064f82e4 /README.org
parentdbbdf87e8acc2e1421003abfd3e556a96f464988 (diff)
README.org: advice for avoiding kernel rebuilds.
Closes #27.
Diffstat (limited to 'README.org')
-rw-r--r--README.org38
1 files changed, 38 insertions, 0 deletions
diff --git a/README.org b/README.org
index 2cab4ef..8316bd9 100644
--- a/README.org
+++ b/README.org
@@ -145,6 +145,44 @@ to load that module on boot, and blacklist conflicting kernel modules:
...)
#+END_SRC
+** Avoiding kernel recompilation
+
+Since prebuilt substitutes are not currently available for Nonguix, 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.
+
+You must pin both Guix and Nonguix, as the Nonguix kernel packages derive from
+those in Guix (so changes in either could cause a rebuild). Your preferred kernel
+version must be available in both pinned channels.
+
+Consult the output of ~guix system describe~ to get the commits of Guix and
+Nonguix for the current generation. Once you have determined the commits to use,
+create an inferior in your system configuration file that pins the channels to
+them. Then grab the appropriately-versioned Linux package from the inferior to
+use as your kernel.
+
+#+BEGIN_SRC scheme
+ (use-modules (srfi srfi-1) ; for `first'
+ (guix channels))
+ (operating-system
+ (kernel
+ (let*
+ ((channels
+ (list (channel
+ (name 'nonguix)
+ (url "https://gitlab.com/nonguix/nonguix")
+ (commit "ff6ca98099c7c90e64256236a49ab21fa96fe11e"))
+ (channel
+ (name 'guix)
+ (url "https://git.savannah.gnu.org/git/guix.git")
+ (commit "3be96aa9d93ea760e2d965cb3ef03540f01a0a22"))))
+ (inferior
+ (inferior-for-channels channels)))
+ (first (lookup-inferior-packages inferior "linux" "5.4.21"))))
+ ...)
+#+END_SRC
+
* Contributing
Contributions are welcome! If there's a package you would like to add, just