guixsd-config

GuixSD configs for my systems
Log | Files | Refs

commit f7bdfa1b2a01ced02f0d556741fbdfb7b593adcc
parent dfb5abee7e50f008c79ee76c752b752837e42b23
Author: vin <git@vineetk.net>
Date:   Tue, 23 Dec 2025 03:01:25 -0500

pin channels

remove regex parsing from linux-initrd.scm

Diffstat:
Mepistemia/channels.scm | 37++++++++++++++++++++++---------------
Mepistemia/systems/linux-initrd.scm | 23+++++++++++++++--------
2 files changed, 37 insertions(+), 23 deletions(-)

diff --git a/epistemia/channels.scm b/epistemia/channels.scm @@ -1,15 +1,22 @@ -(list - (channel - (name (quote nonguix)) - (url "https://gitlab.com/nonguix/nonguix") - (branch "master") - (introduction - (make-channel-introduction "897c1a470da759236cc11798f4e0a5f7d4d59fbc" - (openpgp-fingerprint "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) - (channel - (name (quote guix)) - (url "https://codeberg.org/guix/guix") - (branch "master") - (introduction - (make-channel-introduction "9edb3f66fd807b096b48283debdcddccfea34bad" - (openpgp-fingerprint "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))) +(list (channel + (name 'nonguix) + (url "https://gitlab.com/nonguix/nonguix") + (branch "master") + (commit + "a6376bff79bfccc5e9519cf20954a89197884fac") + (introduction + (make-channel-introduction + "897c1a470da759236cc11798f4e0a5f7d4d59fbc" + (openpgp-fingerprint + "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) + (channel + (name 'guix) + (url "https://codeberg.org/guix/guix") + (branch "master") + (commit + "bb2263102ace6f178410cdc1e49a315bb51a20da") + (introduction + (make-channel-introduction + "9edb3f66fd807b096b48283debdcddccfea34bad" + (openpgp-fingerprint + "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))) diff --git a/epistemia/systems/linux-initrd.scm b/epistemia/systems/linux-initrd.scm @@ -176,14 +176,21 @@ MODULES." (orig-canon (module-ref fs-mod 'canonicalize-device-spec)) (new-canon (lambda (spec) - (format #t "Epistemia: Checking spec: ~s~%" spec) - (if (and (string? spec) - (or (string-contains spec "zroot/") - (string-contains spec "zfs"))) - (begin - (format #t "Epistemia: ZFS bypass for ~s~%" spec) - spec) ;; Return string immediately - (orig-canon spec))))) + ;; ZFS datasets in Guix config are either strings or file-system-labels. + ;; If it's a label record, the first field is the label string. + (let ((device (cond + ((string? spec) spec) + ((and (struct? spec) + (string? (struct-ref spec 0))) + (struct-ref spec 0)) + (else #f)))) + (if (and device + (or (string-contains device "zroot/") + (string-contains device "zfs"))) + (begin + (format #t "Epistemia: ZFS bypass for ~s~%" device) + device) + (orig-canon spec)))))) ;; 1. Overwrite the definition source (module-set! fs-mod 'canonicalize-device-spec new-canon)