guix-epistemia

Personal Guix channel
Log | Files | Refs

commit 48f7d54ab6df2acc51b679e44695bc76ee581696
parent 1e0d8f224707b309fbbb275ba8afadae993f7852
Author: vin <git@vineetk.net>
Date:   Wed, 23 Jul 2025 03:00:18 -0400

start reorganizing

Diffstat:
Mepistemia/packages/suckless.scm | 9++++-----
Aepistemia/packages/zfs.scm | 13+++++++++++++
Aepistemia/services/zfs.scm | 40++++++++++++++++++++++++++++++++++++++++
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)))