summaryrefslogtreecommitdiff
path: root/gnu/system/file-systems.scm
diff options
context:
space:
mode:
authorDavid Thompson <davet@gnu.org>2015-06-27 10:45:34 -0400
committerDavid Thompson <dthompson2@worcester.edu>2015-07-07 21:20:59 -0400
commit9110c2e9421b4f93b04411f72fcea90ae8511f3c (patch)
tree61c37ba751c3f2723e85d1699c40041f922c2ab5 /gnu/system/file-systems.scm
parentdf3ce5c123929b690672cfc6adb3323a8033ec44 (diff)
downloadpatches-9110c2e9421b4f93b04411f72fcea90ae8511f3c.tar
patches-9110c2e9421b4f93b04411f72fcea90ae8511f3c.tar.gz
gnu: system: Move <file-system-mapping> into (gnu system file-systems).
* gnu/system/vm.scm (<file-system-mapping>, %store-mapping): Move from here... * gnu/system/file-systems.scm: ...to here. * guix/scripts/system.scm: Import (gnu system file-systems).
Diffstat (limited to 'gnu/system/file-systems.scm')
-rw-r--r--gnu/system/file-systems.scm32
1 files changed, 31 insertions, 1 deletions
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm
index 05c77fe3e8..cbaca88e15 100644
--- a/gnu/system/file-systems.scm
+++ b/gnu/system/file-systems.scm
@@ -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