From 6062339156ecc42cac59af0d34e22fcc7da3aa4a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 8 Apr 2024 00:13:25 +0200 Subject: mapped-devices: can specify modules to import. * gnu/system/mapped-devices.scm ()[modules]: New field. (device-mapping-service-type): Honor it. * gnu/system/linux-initrd.scm (raw-initrd): Likewise. Change-Id: Icc702cb6f281741975e33203f87fbc1ffa9856da --- gnu/system/mapped-devices.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'gnu/system/mapped-devices.scm') diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm index c19a818453..4e135772a9 100644 --- a/gnu/system/mapped-devices.scm +++ b/gnu/system/mapped-devices.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014-2022 Ludovic Courtès +;;; Copyright © 2014-2022, 2024 Ludovic Courtès ;;; Copyright © 2016 Andreas Enge ;;; Copyright © 2017, 2018 Mark H Weaver ;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz> @@ -57,6 +57,7 @@ (define-module (gnu system mapped-devices) mapped-device-kind? mapped-device-kind-open mapped-device-kind-close + mapped-device-kind-modules mapped-device-kind-check device-mapping-service-type @@ -112,6 +113,8 @@ (define-record-type* mapped-device-kind (open mapped-device-kind-open) ;source target -> gexp (close mapped-device-kind-close ;source target -> gexp (default (const #~(const #f)))) + (modules mapped-device-kind-modules ;list of module names + (default '())) (check mapped-device-kind-check ;source -> Boolean (default (const #t)))) @@ -125,13 +128,14 @@ (define device-mapping-service-type 'device-mapping (match-lambda (($ source targets - ($ open close)) + ($ open close modules)) (shepherd-service (provision (list (symbol-append 'device-mapping- (string->symbol (string-join targets "-"))))) (requirement '(udev)) (documentation "Map a device node using Linux's device mapper.") (start #~(lambda () #$(open source targets))) (stop #~(lambda _ (not #$(close source targets)))) + (modules (append %default-modules modules)) (respawn? #f)))) (description "Map a device node using Linux's device mapper."))) -- cgit v1.2.3