1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-28 03:51:53 +02:00

system: Move 'luks-device-mapping' to (gnu system mapped-devices).

* gnu/system.scm (open-luks-device, close-luks-device)
(luks-device-mapping): Move to...
* gnu/system/mapped-devices.scm: ... here.  New file.
This commit is contained in:
Ludovic Courtès
2016-04-17 17:59:58 +02:00
parent 060d62a740
commit 374f14c265
2 changed files with 29 additions and 23 deletions
+28 -1
View File
@@ -17,7 +17,9 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu system mapped-devices)
#:use-module (guix gexp)
#:use-module (guix records)
#:autoload (gnu packages cryptsetup) (cryptsetup)
#:export (mapped-device
mapped-device?
mapped-device-source
@@ -27,7 +29,9 @@
mapped-device-kind
mapped-device-kind?
mapped-device-kind-open
mapped-device-kind-close))
mapped-device-kind-close
luks-device-mapping))
;;; Commentary:
;;;
@@ -50,4 +54,27 @@
(close mapped-device-kind-close ;source target -> gexp
(default (const #~(const #f)))))
;;;
;;; Common device mappings.
;;;
(define (open-luks-device source target)
"Return a gexp that maps SOURCE to TARGET as a LUKS device, using
'cryptsetup'."
#~(zero? (system* (string-append #$cryptsetup "/sbin/cryptsetup")
"open" "--type" "luks"
#$source #$target)))
(define (close-luks-device source target)
"Return a gexp that closes TARGET, a LUKS device."
#~(zero? (system* (string-append #$cryptsetup "/sbin/cryptsetup")
"close" #$target)))
(define luks-device-mapping
;; The type of LUKS mapped devices.
(mapped-device-kind
(open open-luks-device)
(close close-luks-device)))
;;; mapped-devices.scm ends here