M gnu/system/file-systems.scm => gnu/system/file-systems.scm +31 -1
@@ 52,7 52,16 @@
mapped-device-kind
mapped-device-kind?
mapped-device-kind-open
- mapped-device-kind-close))
+ mapped-device-kind-close
+
+ <file-system-mapping>
+ file-system-mapping
+ file-system-mapping?
+ file-system-mapping-source
+ file-system-mapping-target
+ file-system-mapping-writable?
+
+ %store-mapping))
;;; Commentary:
;;;
@@ 199,4 208,25 @@ file system."
(close mapped-device-kind-close ;source target -> gexp
(default (const #~(const #f)))))
+
+;;;
+;;; Shared file systems, for VMs/containers.
+;;;
+
+;; Mapping of host file system SOURCE to mount point TARGET in the guest.
+(define-record-type* <file-system-mapping> file-system-mapping
+ make-file-system-mapping
+ file-system-mapping?
+ (source file-system-mapping-source) ;string
+ (target file-system-mapping-target) ;string
+ (writable? file-system-mapping-writable? ;Boolean
+ (default #f)))
+
+(define %store-mapping
+ ;; Mapping of the host's store into the guest.
+ (file-system-mapping
+ (source (%store-prefix))
+ (target (%store-prefix))
+ (writable? #f)))
+
;;; file-systems.scm ends here
M gnu/system/vm.scm => gnu/system/vm.scm +0 -22
@@ 58,12 58,6 @@
qemu-image
system-qemu-image
- file-system-mapping
- file-system-mapping?
- file-system-mapping-source
- file-system-mapping-target
- file-system-mapping-writable?
-
system-qemu-image/shared-store
system-qemu-image/shared-store-script
system-disk-image))
@@ 354,22 348,6 @@ of the GNU system as described by OS."
;;; VMs that share file systems with the host.
;;;
-;; Mapping of host file system SOURCE to mount point TARGET in the guest.
-(define-record-type* <file-system-mapping> file-system-mapping
- make-file-system-mapping
- file-system-mapping?
- (source file-system-mapping-source) ;string
- (target file-system-mapping-target) ;string
- (writable? file-system-mapping-writable? ;Boolean
- (default #f)))
-
-(define %store-mapping
- ;; Mapping of the host's store into the guest.
- (file-system-mapping
- (source (%store-prefix))
- (target (%store-prefix))
- (writable? #f)))
-
(define (file-system->mount-tag fs)
"Return a 9p mount tag for host file system FS."
;; QEMU mount tags cannot contain slashes and cannot start with '_'.
M guix/scripts/system.scm => guix/scripts/system.scm +1 -0
@@ 30,6 30,7 @@
#:use-module (guix build utils)
#:use-module (gnu build install)
#:use-module (gnu system)
+ #:use-module (gnu system file-systems)
#:use-module (gnu system vm)
#:use-module (gnu system grub)
#:use-module (gnu packages grub)