commit 48f7d54ab6df2acc51b679e44695bc76ee581696
parent 1e0d8f224707b309fbbb275ba8afadae993f7852
Author: vin <git@vineetk.net>
Date: Wed, 23 Jul 2025 03:00:18 -0400
start reorganizing
Diffstat:
3 files changed, 57 insertions(+), 5 deletions(-)
diff --git a/epistemia/packages/suckless.scm b/epistemia/packages/suckless.scm
@@ -1,10 +1,9 @@
-(define-module (vin-dwm))
-(use-modules (gnu packages suckless) (gnu packages xorg) (guix gexp) (guix packages))
+(define-module (epistemia packages suckless)
+ #:use-module (gnu packages suckless)
+ #:export (vin-dwm))
(define-public vin-dwm
(package
(inherit dwm)
- (name "vin-dwm")
+ (name "dwm")
(source (local-file "dwm" #:recursive? #t))))
-
-vin-dwm
diff --git a/epistemia/packages/zfs.scm b/epistemia/packages/zfs.scm
@@ -0,0 +1,13 @@
+(define-module (epistemia packages zfs)
+ #:use-module (guix packages)
+ #:use-module (gnu packages file-systems)
+ #:use-module (nongnu packages linux)
+ #:export (zfs-linux))
+
+;; from raid5atemyhomework
+(define-public zfs-linux
+ (package
+ (inherit zfs)
+ (arguments
+ (cons* #:linux linux-6.15
+ (package-arguments zfs)))))
diff --git a/epistemia/services/zfs.scm b/epistemia/services/zfs.scm
@@ -0,0 +1,40 @@
+(define-module (epistemia services zfs)
+ #:use-module (gnu services shepherd)
+ #:use-module (guix gexp)
+ #:use-module (epistemia packages zfs)
+ #:export (zfs-shepherd-services))
+
+;; from raid5atemyhomework's valiant efforts
+(define zfs-shepherd-services
+ (let ((zpool (file-append zfs-linux "/sbin/zpool"))
+ (zfs (file-append zfs-linux "/sbin/zfs"))
+ (scheme-modules `((srfi srfi-1)
+ (srfi srfi-34)
+ (srfi srfi-35)
+ (rnrs io ports)
+ ,@%default-modules)))
+ (define zfs-scan
+ (shepherd-service
+ (provision '(zfs-scan))
+ (documentation "Scans for ZFS pools.")
+ (requirement '(kernel-module-loader udev))
+ (modules scheme-modules)
+ (start #~(lambda _
+ (invoke/quiet #$zpool "import" "-a" "-N" "-d" "/dev/disk/by-id")))
+ (stop #~(const #f))))
+ (define zfs-automount
+ (shepherd-service
+ (provision '(zfs-automount))
+ (documentation "Automounts ZFS data sets.")
+ (requirement '(zfs-scan))
+ (modules scheme-modules)
+ (start #~(lambda _
+ (with-output-to-port
+ (current-error-port)
+ (lambda ()
+ (invoke #$zfs "mount" "-a" "-l")))))
+ (stop #~(lambda _
+ (chdir "/")
+ (invoke/quiet #$zfs "unmount" "-a" "-f")
+ #f))))
+ (list zfs-scan zfs-automount)))