summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/system/vm.scm15
1 files changed, 10 insertions, 5 deletions
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index f3e875bee1..5b61136dc0 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -70,10 +70,12 @@ pairs, as for `derivation'.  The files containing the reference graphs are
 made available under the /xchg CIFS share."
   (define input-alist
     (map (match-lambda
-          ((input package)
+          ((input (? package? package))
            `(,input . ,(package-output store package "out" system)))
-          ((input package sub-drv)
-           `(,input . ,(package-output store package sub-drv system))))
+          ((input (? package? package) sub-drv)
+           `(,input . ,(package-output store package sub-drv system)))
+          ((input (and (? string?) (? store-path?) file))
+           `(,input . ,file)))
          inputs))
 
   (define exp*
@@ -153,9 +155,12 @@ made available under the /xchg CIFS share."
                                     ("coreutils" ,(->drv coreutils))
                                     ("builder" ,user-builder)
                                     ,@(map (match-lambda
-                                            ((name package sub-drv ...)
+                                            ((name (? package? package)
+                                                   sub-drv ...)
                                              `(,name ,(->drv package)
-                                                     ,@sub-drv)))
+                                                     ,@sub-drv))
+                                            ((name (? string? file))
+                                             `(,name ,file)))
                                            inputs))
                                   #:env-vars env-vars
                                   #:modules (delete-duplicates