summary refs log tree commit diff
path: root/gnu/system.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-07-15 01:31:23 +0200
committerLudovic Courtès <ludo@gnu.org>2020-07-15 01:36:24 +0200
commit9e12da319b779d1c7f3d46ad2fd4025d4ffc228f (patch)
treece1294cc7d5bfe7149e8e5fb90fc71a5359fdbf1 /gnu/system.scm
parenta168c3e4f8d580f70e1c26bcdfc5b8378b2fa42d (diff)
downloadguix-9e12da319b779d1c7f3d46ad2fd4025d4ffc228f.tar.gz
system: Add 'location' field to <operating-system>.
This allows error messages to include source location info.

* gnu/system.scm (<operating-system>)[location]: New field.
Diffstat (limited to 'gnu/system.scm')
-rw-r--r--gnu/system.scm8
1 files changed, 7 insertions, 1 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index f915057f36..e7f85e4358 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -118,6 +118,7 @@
             operating-system-sudoers-file
             operating-system-swap-devices
             operating-system-kernel-loadable-modules
+            operating-system-location
 
             operating-system-derivation
             operating-system-profile
@@ -255,7 +256,12 @@
                    (default %setuid-programs))    ; list of string-valued gexps
 
   (sudoers-file operating-system-sudoers-file     ; file-like
-                (default %sudoers-specification)))
+                (default %sudoers-specification))
+
+  (location operating-system-location             ; <location>
+            (default (and=> (current-source-location)
+                            source-properties->location))
+            (innate)))
 
 (define (operating-system-kernel-arguments os root-device)
   "Return all the kernel arguments, including the ones not specified