summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/ci.scm1
-rw-r--r--guix/scripts/system.scm6
2 files changed, 7 insertions, 0 deletions
diff --git a/gnu/ci.scm b/gnu/ci.scm
index 19a48bdbf1..884dd84469 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -38,6 +38,7 @@
   #:use-module ((guix licenses)
                 #:select (gpl3+ license? license-name))
   #:use-module ((guix utils) #:select (%current-system))
+  #:use-module ((guix scripts system) #:select (read-operating-system))
   #:use-module ((guix scripts pack)
                 #:select (self-contained-tarball))
   #:use-module (gnu bootloader)
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index 4bcf789703..560f56408c 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -92,6 +92,7 @@
   #:use-module (ice-9 match)
   #:use-module (rnrs bytevectors)
   #:export (guix-system
+            read-operating-system
 
             service-node-type
             shepherd-service-node-type))
@@ -107,6 +108,11 @@
                       (gnu services)
                       (gnu system shadow))))
 
+;; Note: The procedure below is used in external projects such as Emacs-Guix.
+(define (read-operating-system file)
+  "Read the operating-system declaration from FILE and return it."
+  (load* file %user-module))
+
 
 ;;;
 ;;; Installation.