summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi7
-rw-r--r--gnu/services/base.scm17
-rw-r--r--gnu/system/hurd.scm8
-rw-r--r--gnu/system/install.scm8
4 files changed, 20 insertions, 20 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 22f710d0c1..c00ec81e44 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -17012,6 +17012,13 @@ List of arguments for this type of link.
 @end table
 @end deftp
 
+@cindex loopback device
+@defvr {Scheme Variable} %loopback-static-networking
+This is the @code{static-networking} record representing the ``loopback
+device'', @code{lo}, for IP addresses 127.0.0.1 and ::1, and providing
+the @code{loopback} Shepherd service.
+@end defvr
+
 @cindex networking, with QEMU
 @cindex QEMU, networking
 @defvr {Scheme Variable} %qemu-static-networking
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 31b418dabf..5f93483dda 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -116,6 +116,7 @@
             static-networking-service
             static-networking-service-type
 
+            %loopback-static-networking
             %qemu-static-networking
 
             udev-configuration
@@ -2710,6 +2711,15 @@ to handle."
                          (provision (or provision '(networking)))
                          (name-servers name-servers)))))
 
+(define %loopback-static-networking
+  ;; The loopback device.
+  (static-networking
+   (addresses (list (network-address
+                     (device "lo")
+                     (value "127.0.0.1"))))
+   (requirement '())
+   (provision '(loopback))))
+
 (define %qemu-static-networking
   ;; Networking configuration for QEMU's user-mode network stack (info "(QEMU)
   ;; Using the user mode network stack").
@@ -2754,12 +2764,7 @@ to handle."
                                          (tty "tty6")))
 
         (service static-networking-service-type
-                 (list (static-networking
-                        (addresses (list (network-address
-                                          (device "lo")
-                                          (value "127.0.0.1"))))
-                        (requirement '())
-                        (provision '(loopback)))))
+                 (list %loopback-static-networking))
         (syslog-service)
         (service urandom-seed-service-type)
         (service guix-service-type)
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm
index ec8484d746..2acc7b7e11 100644
--- a/gnu/system/hurd.scm
+++ b/gnu/system/hurd.scm
@@ -79,13 +79,7 @@
         (service hurd-getty-service-type (hurd-getty-configuration
                                           (tty "tty2")))
         (service static-networking-service-type
-                 (list (static-networking
-                        (addresses
-                         (list (network-address
-                                (device "lo")
-                                (value "127.0.0.1"))))
-                        (requirement '())
-                        (provision '(loopback)))
+                 (list %loopback-static-networking
 
                        ;; QEMU user-mode networking.  To get "eth0", you need
                        ;; QEMU to emulate a device for which Mach has an
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index bdfe580145..073d7df1db 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -408,13 +408,7 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
 
           ;; Loopback device, needed by OpenSSH notably.
           (service static-networking-service-type
-                   (list (static-networking
-                          (addresses
-                           (list (network-address
-                                  (device "lo")
-                                  (value "127.0.0.1"))))
-                          (requirement '())
-                          (provision '(loopback)))))
+                   (list %loopback-static-networking))
 
           (service wpa-supplicant-service-type)
           (dbus-service)