summaryrefslogtreecommitdiff
path: root/epistemia
diff options
context:
space:
mode:
authorvin <git@vineetk.net>2025-12-22 12:33:48 -0500
committervin <git@vineetk.net>2025-12-23 10:17:16 -0500
commit71b1f4e8ba30b7c39992b4fcb79d03d20f4fe1ff (patch)
tree0fd3812224ded85375db8b198b51bf20bb9332f4 /epistemia
parent4a6cd098a485ec0d846ff977ac29ae4ce10a6617 (diff)
work on zfs grub config and initrd
Diffstat (limited to 'epistemia')
-rw-r--r--epistemia/bootloader.scm24
1 files changed, 24 insertions, 0 deletions
diff --git a/epistemia/bootloader.scm b/epistemia/bootloader.scm
new file mode 100644
index 0000000..90137a3
--- /dev/null
+++ b/epistemia/bootloader.scm
@@ -0,0 +1,24 @@
1;;; SPDX-License-Identifier: GPL-3.0-or-later
2(define-module (epistemia bootloader)
3 #:use-module (guix gexp)
4 #:use-module (guix utils)
5 #:use-module (gnu bootloader)
6 #:use-module (gnu bootloader grub)
7 #:export (grub-zfs))
8
9(define grub-zfs
10 (bootloader
11 (inherit grub-efi-bootloader)
12 (name 'grub-zfs)
13 (installer
14 #~(lambda (bootloader targets mount-point)
15 (use-modules (guix build utils))
16 (let ((standard-installer #$(bootloader-installer grub-efi-bootloader)))
17 (standard-installer bootloader targets mount-point))
18 (let ((grub-cfg (string-append mount-point "/boot/grub/grub.cfg")))
19 (chmod grub-cfg #o644)
20 (substitute* grub-cfg
21 (("search --label --set [^ ]+")
22 "set root=(hd0,gpt2)")
23 ((" /store/")
24 " /gnu/@/store/")))))))