summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/artwork.scm10
-rw-r--r--gnu/bootloader/grub.scm12
-rw-r--r--gnu/build/activation.scm16
-rw-r--r--gnu/build/chromium-extension.scm12
-rw-r--r--gnu/build/cross-toolchain.scm12
-rw-r--r--gnu/build/file-systems.scm14
-rw-r--r--gnu/build/hurd-boot.scm13
-rw-r--r--gnu/build/install.scm18
-rw-r--r--gnu/build/linux-boot.scm18
-rw-r--r--gnu/build/linux-initrd.scm16
-rw-r--r--gnu/build/linux-modules.scm12
-rw-r--r--gnu/build/marionette.scm22
-rw-r--r--gnu/build/secret-service.scm18
-rw-r--r--gnu/build/shepherd.scm14
-rw-r--r--gnu/ci.scm12
-rw-r--r--gnu/home.scm16
-rw-r--r--gnu/home/services.scm106
-rw-r--r--gnu/home/services/fontutils.scm18
-rw-r--r--gnu/home/services/mcron.scm14
-rw-r--r--gnu/home/services/music.scm12
-rw-r--r--gnu/home/services/shells.scm12
-rw-r--r--gnu/home/services/symlink-manager.scm15
-rw-r--r--gnu/home/services/xdg.scm22
-rw-r--r--gnu/installer/connman.scm16
-rw-r--r--gnu/installer/newt/page.scm22
-rw-r--r--gnu/installer/tests.scm22
-rw-r--r--gnu/machine.scm18
-rw-r--r--gnu/machine/digital-ocean.scm14
-rw-r--r--gnu/machine/hetzner.scm12
-rw-r--r--gnu/machine/hetzner/http.scm12
-rw-r--r--gnu/machine/ssh.scm18
-rw-r--r--gnu/packages.scm14
-rw-r--r--gnu/packages/avr.scm22
-rw-r--r--gnu/packages/base.scm12
-rw-r--r--gnu/packages/bootstrap.scm15
-rw-r--r--gnu/packages/commencement.scm44
-rw-r--r--gnu/packages/cross-toolchain.scm10
-rw-r--r--gnu/packages/dbm.scm10
-rw-r--r--gnu/packages/duckdb.scm15
-rw-r--r--gnu/packages/embedded.scm17
-rw-r--r--gnu/packages/gnome-circle.scm2
-rw-r--r--gnu/packages/golang-apps.scm23
-rw-r--r--gnu/packages/golang-build.scm25
-rw-r--r--gnu/packages/golang-check.scm19
-rw-r--r--gnu/packages/golang-compression.scm11
-rw-r--r--gnu/packages/golang-crypto.scm19
-rw-r--r--gnu/packages/golang-graphics.scm11
-rw-r--r--gnu/packages/golang-maths.scm11
-rw-r--r--gnu/packages/golang-vcs.scm11
-rw-r--r--gnu/packages/golang-web.scm25
-rw-r--r--gnu/packages/golang-xyz.scm27
-rw-r--r--gnu/packages/guile.scm12
-rw-r--r--gnu/packages/ld-wrapper.in12
-rw-r--r--gnu/packages/make-bootstrap.scm16
-rw-r--r--gnu/packages/prometheus.scm17
-rw-r--r--gnu/packages/python-build.scm16
-rw-r--r--gnu/packages/python-graphics.scm17
-rw-r--r--gnu/packages/quantum.scm13
-rw-r--r--gnu/packages/ruby-check.scm11
-rw-r--r--gnu/packages/sqlite.scm12
-rw-r--r--gnu/packages/tex.scm140
-rw-r--r--gnu/packages/toys.scm11
-rw-r--r--gnu/services.scm50
-rw-r--r--gnu/services/admin.scm14
-rw-r--r--gnu/services/audio.scm12
-rw-r--r--gnu/services/avahi.scm14
-rw-r--r--gnu/services/base.scm14
-rw-r--r--gnu/services/certbot.scm12
-rw-r--r--gnu/services/cgit.scm20
-rw-r--r--gnu/services/ci.scm14
-rw-r--r--gnu/services/configuration.scm12
-rw-r--r--gnu/services/cuirass.scm14
-rw-r--r--gnu/services/cups.scm12
-rw-r--r--gnu/services/databases.scm12
-rw-r--r--gnu/services/desktop.scm12
-rw-r--r--gnu/services/getmail.scm12
-rw-r--r--gnu/services/guix.scm12
-rw-r--r--gnu/services/herd.scm18
-rw-r--r--gnu/services/hurd.scm12
-rw-r--r--gnu/services/lirc.scm12
-rw-r--r--gnu/services/mail.scm14
-rw-r--r--gnu/services/mcron.scm30
-rw-r--r--gnu/services/messaging.scm12
-rw-r--r--gnu/services/networking.scm12
-rw-r--r--gnu/services/nix.scm12
-rw-r--r--gnu/services/rsync.scm14
-rw-r--r--gnu/services/shepherd.scm13
-rw-r--r--gnu/services/sound.scm12
-rw-r--r--gnu/services/ssh.scm14
-rw-r--r--gnu/services/syncthing.scm12
-rw-r--r--gnu/services/upnp.scm12
-rw-r--r--gnu/services/version-control.scm12
-rw-r--r--gnu/services/web.scm12
-rw-r--r--gnu/services/xorg.scm12
-rw-r--r--gnu/system.scm12
-rw-r--r--gnu/system/accounts.scm17
-rw-r--r--gnu/system/file-systems.scm18
-rw-r--r--gnu/system/hurd.scm14
-rw-r--r--gnu/system/images/visionfive2.scm24
-rw-r--r--gnu/system/install.scm14
-rw-r--r--gnu/system/keyboard.scm16
-rw-r--r--gnu/system/linux-initrd.scm15
-rw-r--r--gnu/system/locale.scm12
-rw-r--r--gnu/system/mapped-devices.scm14
-rw-r--r--gnu/system/nss.scm12
-rw-r--r--gnu/system/pam.scm12
-rw-r--r--gnu/system/privilege.scm16
-rw-r--r--gnu/system/setuid.scm16
-rw-r--r--gnu/system/shadow.scm12
-rw-r--r--gnu/system/vm.scm12
-rw-r--r--gnu/tests.scm18
-rw-r--r--gnu/tests/image.scm22
-rw-r--r--gnu/tests/install.scm14
-rw-r--r--gnu/tests/linux-modules.scm12
-rw-r--r--gnu/tests/package-management.scm12
-rw-r--r--gnu/tests/reconfigure.scm14
116 files changed, 1002 insertions, 985 deletions
diff --git a/gnu/artwork.scm b/gnu/artwork.scm
index d3ab13b8af7..866af42a987 100644
--- a/gnu/artwork.scm
+++ b/gnu/artwork.scm
@@ -17,17 +17,17 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20(define-module (gnu artwork)
21 #:use-module (guix packages)
22 #:use-module (guix git-download)
23 #:export (%artwork-repository))
24
25;;; Commentary: 20;;; Commentary:
26;;; 21;;;
27;;; Common place for the definition of the Guix artwork repository. 22;;; Common place for the definition of the Guix artwork repository.
28;;; 23;;;
29;;; Code: 24;;; Code:
30 25
26(define-module (gnu artwork)
27 #:use-module (guix packages)
28 #:use-module (guix git-download)
29 #:export (%artwork-repository))
30
31(define %artwork-repository 31(define %artwork-repository
32 (let ((commit "08259679a0faef63e3ba169df5b937d836bd9262")) 32 (let ((commit "08259679a0faef63e3ba169df5b937d836bd9262"))
33 (origin 33 (origin
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm
index 79b9a1cac6f..a518c565700 100644
--- a/gnu/bootloader/grub.scm
+++ b/gnu/bootloader/grub.scm
@@ -27,6 +27,12 @@
27;;; You should have received a copy of the GNU General Public License 27;;; You should have received a copy of the GNU General Public License
28;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 28;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
29 29
30;;; Commentary:
31;;;
32;;; Configuration of GNU GRUB.
33;;;
34;;; Code:
35
30(define-module (gnu bootloader grub) 36(define-module (gnu bootloader grub)
31 #:use-module (guix build union) 37 #:use-module (guix build union)
32 #:use-module (guix deprecation) 38 #:use-module (guix deprecation)
@@ -73,12 +79,6 @@
73 79
74 grub-configuration)) 80 grub-configuration))
75 81
76;;; Commentary:
77;;;
78;;; Configuration of GNU GRUB.
79;;;
80;;; Code:
81
82(define* (normalize-file file mount-point store-directory-prefix) 82(define* (normalize-file file mount-point store-directory-prefix)
83 "Strip MOUNT-POINT and prepend STORE-DIRECTORY-PREFIX, if any, to FILE, a 83 "Strip MOUNT-POINT and prepend STORE-DIRECTORY-PREFIX, if any, to FILE, a
84G-expression or other lowerable object denoting a file name." 84G-expression or other lowerable object denoting a file name."
diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm
index dbe35f41b88..516f9d86bbe 100644
--- a/gnu/build/activation.scm
+++ b/gnu/build/activation.scm
@@ -28,6 +28,14 @@
28;;; You should have received a copy of the GNU General Public License 28;;; You should have received a copy of the GNU General Public License
29;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 29;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
30 30
31;;; Commentary:
32;;;
33;;; This module provides "activation" helpers. Activation is the process that
34;;; consists in setting up system-wide files and directories so that an
35;;; 'operating-system' configuration becomes active.
36;;;
37;;; Code:
38
31(define-module (gnu build activation) 39(define-module (gnu build activation)
32 #:use-module (gnu system accounts) 40 #:use-module (gnu system accounts)
33 #:use-module (gnu system privilege) 41 #:use-module (gnu system privilege)
@@ -53,14 +61,6 @@
53 activate-current-system 61 activate-current-system
54 mkdir-p/perms)) 62 mkdir-p/perms))
55 63
56;;; Commentary:
57;;;
58;;; This module provides "activation" helpers. Activation is the process that
59;;; consists in setting up system-wide files and directories so that an
60;;; 'operating-system' configuration becomes active.
61;;;
62;;; Code:
63
64(define %skeleton-directory 64(define %skeleton-directory
65 ;; Directory containing skeleton files for new accounts. 65 ;; Directory containing skeleton files for new accounts.
66 ;; Note: keep the trailing '/' so that 'scandir' enters it. 66 ;; Note: keep the trailing '/' so that 'scandir' enters it.
diff --git a/gnu/build/chromium-extension.scm b/gnu/build/chromium-extension.scm
index 8171c727341..881cbbbcbc7 100644
--- a/gnu/build/chromium-extension.scm
+++ b/gnu/build/chromium-extension.scm
@@ -17,6 +17,12 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; Tools to deal with Chromium extensions.
23;;;
24;;; Code:
25
20(define-module (gnu build chromium-extension) 26(define-module (gnu build chromium-extension)
21 #:use-module (guix gexp) 27 #:use-module (guix gexp)
22 #:use-module (guix packages) 28 #:use-module (guix packages)
@@ -26,12 +32,6 @@
26 #:use-module (guix build-system trivial) 32 #:use-module (guix build-system trivial)
27 #:export (make-chromium-extension)) 33 #:export (make-chromium-extension))
28 34
29;;; Commentary:
30;;;
31;;; Tools to deal with Chromium extensions.
32;;;
33;;; Code:
34
35(define (make-signing-key seed) 35(define (make-signing-key seed)
36 "Return a derivation for a deterministic PKCS #8 private key using SEED." 36 "Return a derivation for a deterministic PKCS #8 private key using SEED."
37 (computed-file 37 (computed-file
diff --git a/gnu/build/cross-toolchain.scm b/gnu/build/cross-toolchain.scm
index da9016488f7..2246f45519d 100644
--- a/gnu/build/cross-toolchain.scm
+++ b/gnu/build/cross-toolchain.scm
@@ -21,6 +21,12 @@
21;;; You should have received a copy of the GNU General Public License 21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 23
24;;; Commentary:
25;;;
26;;; This module provides tools to build a cross-compiler.
27;;;
28;;; Code:
29
24(define-module (gnu build cross-toolchain) 30(define-module (gnu build cross-toolchain)
25 #:use-module (guix build utils) 31 #:use-module (guix build utils)
26 #:use-module (guix build gnu-build-system) 32 #:use-module (guix build gnu-build-system)
@@ -30,12 +36,6 @@
30 #:use-module (ice-9 ftw) 36 #:use-module (ice-9 ftw)
31 #:export (cross-gcc-build-phases)) 37 #:export (cross-gcc-build-phases))
32 38
33;;; Commentary:
34;;;
35;;; This module provides tools to build a cross-compiler.
36;;;
37;;; Code:
38
39(define %gcc-include-paths 39(define %gcc-include-paths
40 ;; Environment variables for header search paths. 40 ;; Environment variables for header search paths.
41 ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'. 41 ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index f236efd9250..d7831767b45 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -26,6 +26,13 @@
26;;; You should have received a copy of the GNU General Public License 26;;; You should have received a copy of the GNU General Public License
27;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 27;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
28 28
29;;; Commentary:
30;;;
31;;; This modules provides tools to deal with disk partitions, and to mount and
32;;; check file systems.
33;;;
34;;; Code:
35
29(define-module (gnu build file-systems) 36(define-module (gnu build file-systems)
30 #:use-module (gnu system uuid) 37 #:use-module (gnu system uuid)
31 #:use-module (gnu system file-systems) 38 #:use-module (gnu system file-systems)
@@ -80,13 +87,6 @@
80 87
81 swap-space->flags-bit-mask)) 88 swap-space->flags-bit-mask))
82 89
83;;; Commentary:
84;;;
85;;; This modules provides tools to deal with disk partitions, and to mount and
86;;; check file systems.
87;;;
88;;; Code:
89
90(define (system*/console program . args) 90(define (system*/console program . args)
91 "Run PROGRAM with ARGS in a tty on top of /dev/console. The return value is 91 "Run PROGRAM with ARGS in a tty on top of /dev/console. The return value is
92as for 'system*'." 92as for 'system*'."
diff --git a/gnu/build/hurd-boot.scm b/gnu/build/hurd-boot.scm
index 67975bfa647..7de9f0ec63a 100644
--- a/gnu/build/hurd-boot.scm
+++ b/gnu/build/hurd-boot.scm
@@ -17,6 +17,13 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; This modules provides tools to deal with disk partitions, and to mount and
23;;; check file systems.
24;;;
25;;; Code:
26
20(define-module (gnu build hurd-boot) 27(define-module (gnu build hurd-boot)
21 #:use-module (system repl error-handling) 28 #:use-module (system repl error-handling)
22 #:autoload (system repl repl) (start-repl) 29 #:autoload (system repl repl) (start-repl)
@@ -29,12 +36,6 @@
29 #:export (make-hurd-device-nodes 36 #:export (make-hurd-device-nodes
30 boot-hurd-system)) 37 boot-hurd-system))
31 38
32;;; Commentary:
33;;;
34;;; Utility procedures useful to boot a Hurd system.
35;;;
36;;; Code:
37
38;; XXX FIXME c&p from linux-boot.scm 39;; XXX FIXME c&p from linux-boot.scm
39(define (find-long-option option arguments) 40(define (find-long-option option arguments)
40 "Find OPTION among ARGUMENTS, where OPTION is something like \"--load\". 41 "Find OPTION among ARGUMENTS, where OPTION is something like \"--load\".
diff --git a/gnu/build/install.scm b/gnu/build/install.scm
index 58ee77d1831..df9befe058a 100644
--- a/gnu/build/install.scm
+++ b/gnu/build/install.scm
@@ -19,6 +19,15 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; This module supports the installation of the GNU system on a hard disk.
25;;; It is meant to be used both in a build environment (in derivations that
26;;; build VM images), and on the bare metal (when really installing the
27;;; system.)
28;;;
29;;; Code:
30
22(define-module (gnu build install) 31(define-module (gnu build install)
23 #:use-module (guix build syscalls) 32 #:use-module (guix build syscalls)
24 #:use-module (guix build utils) 33 #:use-module (guix build utils)
@@ -33,15 +42,6 @@
33 mount-cow-store 42 mount-cow-store
34 unmount-cow-store)) 43 unmount-cow-store))
35 44
36;;; Commentary:
37;;;
38;;; This module supports the installation of the GNU system on a hard disk.
39;;; It is meant to be used both in a build environment (in derivations that
40;;; build VM images), and on the bare metal (when really installing the
41;;; system.)
42;;;
43;;; Code:
44
45(define (install-boot-config bootcfg bootcfg-location mount-point) 45(define (install-boot-config bootcfg bootcfg-location mount-point)
46 "Atomically copy BOOTCFG into BOOTCFG-LOCATION on the MOUNT-POINT. Note 46 "Atomically copy BOOTCFG into BOOTCFG-LOCATION on the MOUNT-POINT. Note
47that the caller must make sure that BOOTCFG is registered as a GC root so 47that the caller must make sure that BOOTCFG is registered as a GC root so
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index e0743eae55a..c1a294db18c 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -20,6 +20,15 @@
20;;; You should have received a copy of the GNU General Public License 20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22 22
23;;; Commentary:
24;;;
25;;; Utility procedures useful in a Linux initial RAM disk (initrd). Note that
26;;; many of these use procedures not yet available in vanilla Guile (`mount',
27;;; `load-linux-module', etc.); these are provided by a Guile patch used in
28;;; the GNU distribution.
29;;;
30;;; Code:
31
23(define-module (gnu build linux-boot) 32(define-module (gnu build linux-boot)
24 #:use-module (rnrs io ports) 33 #:use-module (rnrs io ports)
25 #:use-module (system repl error-handling) 34 #:use-module (system repl error-handling)
@@ -67,15 +76,6 @@
67 76
68 read-linux-consoles)) 77 read-linux-consoles))
69 78
70;;; Commentary:
71;;;
72;;; Utility procedures useful in a Linux initial RAM disk (initrd). Note that
73;;; many of these use procedures not yet available in vanilla Guile (`mount',
74;;; `load-linux-module', etc.); these are provided by a Guile patch used in
75;;; the GNU distribution.
76;;;
77;;; Code:
78
79(define* (mount-essential-file-systems #:key (root "/")) 79(define* (mount-essential-file-systems #:key (root "/"))
80 "Mount /dev, /proc, and /sys under ROOT." 80 "Mount /dev, /proc, and /sys under ROOT."
81 (define (scope dir) 81 (define (scope dir)
diff --git a/gnu/build/linux-initrd.scm b/gnu/build/linux-initrd.scm
index bb2ed0db0c7..559f02fc2a0 100644
--- a/gnu/build/linux-initrd.scm
+++ b/gnu/build/linux-initrd.scm
@@ -16,6 +16,14 @@
16;;; You should have received a copy of the GNU General Public License 16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18 18
19;;; Commentary:
20;;;
21;;; Tools to create Linux initial RAM disks ("initrds"). Initrds are
22;;; essentially gzipped cpio archives, with a '/init' executable that the
23;;; kernel runs at boot time.
24;;;
25;;; Code:
26
19(define-module (gnu build linux-initrd) 27(define-module (gnu build linux-initrd)
20 #:use-module ((guix cpio) #:prefix cpio:) 28 #:use-module ((guix cpio) #:prefix cpio:)
21 #:use-module (guix build utils) 29 #:use-module (guix build utils)
@@ -27,14 +35,6 @@
27 #:export (write-cpio-archive 35 #:export (write-cpio-archive
28 build-initrd)) 36 build-initrd))
29 37
30;;; Commentary:
31;;;
32;;; Tools to create Linux initial RAM disks ("initrds"). Initrds are
33;;; essentially gzipped cpio archives, with a '/init' executable that the
34;;; kernel runs at boot time.
35;;;
36;;; Code:
37
38(define* (write-cpio-archive output directory 38(define* (write-cpio-archive output directory
39 #:key 39 #:key
40 (compress? #t) 40 (compress? #t)
diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm
index 6bf71100e49..ae0137e1c12 100644
--- a/gnu/build/linux-modules.scm
+++ b/gnu/build/linux-modules.scm
@@ -20,6 +20,12 @@
20;;; You should have received a copy of the GNU General Public License 20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22 22
23;;; Commentary:
24;;;
25;;; Tools to deal with Linux kernel modules.
26;;;
27;;; Code:
28
23(define-module (gnu build linux-modules) 29(define-module (gnu build linux-modules)
24 #:use-module (guix elf) 30 #:use-module (guix elf)
25 #:use-module (guix glob) 31 #:use-module (guix glob)
@@ -78,12 +84,6 @@
78 84
79 make-linux-module-directory)) 85 make-linux-module-directory))
80 86
81;;; Commentary:
82;;;
83;;; Tools to deal with Linux kernel modules.
84;;;
85;;; Code:
86
87(define current-module-debugging-port 87(define current-module-debugging-port
88 (make-parameter (%make-void-port "w"))) 88 (make-parameter (%make-void-port "w")))
89 89
diff --git a/gnu/build/marionette.scm b/gnu/build/marionette.scm
index 015fc8a98b7..b6d4ec0de9c 100644
--- a/gnu/build/marionette.scm
+++ b/gnu/build/marionette.scm
@@ -19,6 +19,17 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; Instrumentation tools for QEMU virtual machines (VMs). A "marionette" is
25;;; essentially a VM (a QEMU instance) with its monitor connected to a
26;;; Unix-domain socket, and with a REPL inside the guest listening on a
27;;; virtual console, which is itself connected to the host via a Unix-domain
28;;; socket--these are the marionette's strings, connecting it to the almighty
29;;; puppeteer.
30;;;
31;;; Code:
32
22(define-module (gnu build marionette) 33(define-module (gnu build marionette)
23 #:use-module (srfi srfi-9) 34 #:use-module (srfi srfi-9)
24 #:use-module (srfi srfi-26) 35 #:use-module (srfi srfi-26)
@@ -44,17 +55,6 @@
44 system-test-runner 55 system-test-runner
45 qemu-command)) 56 qemu-command))
46 57
47;;; Commentary:
48;;;
49;;; Instrumentation tools for QEMU virtual machines (VMs). A "marionette" is
50;;; essentially a VM (a QEMU instance) with its monitor connected to a
51;;; Unix-domain socket, and with a REPL inside the guest listening on a
52;;; virtual console, which is itself connected to the host via a Unix-domain
53;;; socket--these are the marionette's strings, connecting it to the almighty
54;;; puppeteer.
55;;;
56;;; Code:
57
58(define-record-type <marionette> 58(define-record-type <marionette>
59 (marionette command pid monitor repl) 59 (marionette command pid monitor repl)
60 marionette? 60 marionette?
diff --git a/gnu/build/secret-service.scm b/gnu/build/secret-service.scm
index 5447563cd94..0c8a0c7677b 100644
--- a/gnu/build/secret-service.scm
+++ b/gnu/build/secret-service.scm
@@ -17,6 +17,15 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; Utility procedures for copying secrets into a VM.
23;;;
24;;; Note: This code runs within the 'shepherd' process, hence the use of
25;;; Fibers.
26;;;
27;;; Code:
28
20(define-module (gnu build secret-service) 29(define-module (gnu build secret-service)
21 #:autoload (fibers io-wakeup) (wait-until-port-readable-operation) 30 #:autoload (fibers io-wakeup) (wait-until-port-readable-operation)
22 #:autoload (fibers operations) (perform-operation 31 #:autoload (fibers operations) (perform-operation
@@ -33,15 +42,6 @@
33 #:export (secret-service-receive-secrets 42 #:export (secret-service-receive-secrets
34 secret-service-send-secrets)) 43 secret-service-send-secrets))
35 44
36;;; Commentary:
37;;;
38;;; Utility procedures for copying secrets into a VM.
39;;;
40;;; Note: This code runs within the 'shepherd' process, hence the use of
41;;; Fibers.
42;;;
43;;; Code:
44
45(define-syntax log 45(define-syntax log
46 (lambda (s) 46 (lambda (s)
47 "Log the given message." 47 "Log the given message."
diff --git a/gnu/build/shepherd.scm b/gnu/build/shepherd.scm
index 4ead27be0be..26f75e5d533 100644
--- a/gnu/build/shepherd.scm
+++ b/gnu/build/shepherd.scm
@@ -19,6 +19,13 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; This module provides extensions to the GNU Shepherd. In particular, it
25;;; provides a helper to start services in a container.
26;;;
27;;; Code:
28
22(define-module (gnu build shepherd) 29(define-module (gnu build shepherd)
23 #:use-module (gnu system file-systems) 30 #:use-module (gnu system file-systems)
24 #:use-module (gnu build linux-container) 31 #:use-module (gnu build linux-container)
@@ -35,13 +42,6 @@
35 #:export (default-mounts 42 #:export (default-mounts
36 fork+exec-command/container)) 43 fork+exec-command/container))
37 44
38;;; Commentary:
39;;;
40;;; This module provides extensions to the GNU Shepherd. In particular, it
41;;; provides a helper to start services in a container.
42;;;
43;;; Code:
44
45(define (clean-up file) 45(define (clean-up file)
46 (when file 46 (when file
47 (catch 'system-error 47 (catch 'system-error
diff --git a/gnu/ci.scm b/gnu/ci.scm
index a55dfc2a5f3..83f3ff21e34 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -20,6 +20,12 @@
20;;; You should have received a copy of the GNU General Public License 20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22 22
23;;; Commentary:
24;;;
25;;; This file defines build jobs for Cuirass.
26;;;
27;;; Code:
28
23(define-module (gnu ci) 29(define-module (gnu ci)
24 #:use-module (guix build-system channel) 30 #:use-module (guix build-system channel)
25 #:use-module (guix config) 31 #:use-module (guix config)
@@ -82,12 +88,6 @@
82 arguments->systems 88 arguments->systems
83 cuirass-jobs)) 89 cuirass-jobs))
84 90
85;;; Commentary:
86;;;
87;;; This file defines build jobs for Cuirass.
88;;;
89;;; Code:
90
91(define* (derivation->job name drv 91(define* (derivation->job name drv
92 #:key 92 #:key
93 (max-silent-time 3600) 93 (max-silent-time 3600)
diff --git a/gnu/home.scm b/gnu/home.scm
index f0dd4a19273..40abe49191e 100644
--- a/gnu/home.scm
+++ b/gnu/home.scm
@@ -17,6 +17,14 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; This module provides a <home-environment> record for managing
23;;; per-user packages and configuration files in the similar way as
24;;; <operating-system> do for system packages and configuration files.
25;;;
26;;; Code:
27
20(define-module (gnu home) 28(define-module (gnu home)
21 #:use-module (gnu home services) 29 #:use-module (gnu home services)
22 #:use-module (gnu home services symlink-manager) 30 #:use-module (gnu home services symlink-manager)
@@ -50,14 +58,6 @@
50 58
51 %base-home-services)) 59 %base-home-services))
52 60
53;;; Comment:
54;;;
55;;; This module provides a <home-environment> record for managing
56;;; per-user packages and configuration files in the similar way as
57;;; <operating-system> do for system packages and configuration files.
58;;;
59;;; Code:
60
61(define-record-type* <home-environment> home-environment 61(define-record-type* <home-environment> home-environment
62 make-home-environment 62 make-home-environment
63 home-environment? 63 home-environment?
diff --git a/gnu/home/services.scm b/gnu/home/services.scm
index f7d0ff08228..06f872e6460 100644
--- a/gnu/home/services.scm
+++ b/gnu/home/services.scm
@@ -20,6 +20,59 @@
20;;; You should have received a copy of the GNU General Public License 20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22 22
23;;; Commentary:
24;;;
25;;; This module is similar to (gnu system services) module, but
26;;; provides Home Services, which are supposed to be used for building
27;;; home-environment.
28;;;
29;;; Home Services use the same extension as System Services. Consult
30;;; (gnu system services) module or manual for more information.
31;;;
32;;; home-service-type is a root of home services DAG.
33;;;
34;;; home-profile-service-type is almost the same as profile-service-type, at least
35;;; for now.
36;;;
37;;; home-environment-variables-service-type generates a @file{setup-environment}
38;;; shell script, which is expected to be sourced by login shell or other program,
39;;; which starts early and spawns all other processes. Home services for shells
40;;; automatically add code for sourcing this file, if person do not use those home
41;;; services they have to source this script manually in their's shell *profile
42;;; file (details described in the manual).
43;;;
44;;; home-files-service-type is similar to etc-service-type, but doesn't extend
45;;; home-activation, because deploy mechanism for config files is pluggable
46;;; and can be different for different home environments: The default one is
47;;; called symlink-manager, which creates links for various dotfiles and xdg
48;;; configuration files to store, but is possible to implement alternative
49;;; approaches like read-only home from Julien's guix-home-manager.
50;;;
51;;; home-run-on-first-login-service-type provides an @file{on-first-login} guile
52;;; script, which runs provided gexps once, when user makes first login. It can
53;;; be used to start user's Shepherd and maybe some other process. It relies on
54;;; assumption that /run/user/$UID will be created on login by some login
55;;; manager (elogind for example).
56;;;
57;;; home-activation-service-type provides an @file{activate} guile script, which
58;;; do three main things:
59;;;
60;;; - Sets environment variables to the values declared in
61;;; @file{setup-environment} shell script. It's necessary, because user can set
62;;; for example XDG_CONFIG_HOME and it should be respected by activation gexp of
63;;; symlink-manager.
64;;;
65;;; - Sets GUIX_NEW_HOME and possibly GUIX_OLD_HOME vars to paths in the store.
66;;; Later those variables can be used by activation gexps, for example by
67;;; symlink-manager or run-on-change services.
68;;;
69;;; - Run all activation gexps provided by other home services.
70;;;
71;;; home-run-on-change-service-type allows to trigger actions during
72;;; activation if file or directory specified by pattern is changed.
73;;;
74;;; Code:
75
23(define-module (gnu home services) 76(define-module (gnu home services)
24 #:use-module (gnu services) 77 #:use-module (gnu services)
25 #:use-module ((gnu packages package-management) #:select (guix)) 78 #:use-module ((gnu packages package-management) #:select (guix))
@@ -81,59 +134,6 @@
81 for-home 134 for-home
82 for-home?)) 135 for-home?))
83 136
84;;; Comment:
85;;;
86;;; This module is similar to (gnu system services) module, but
87;;; provides Home Services, which are supposed to be used for building
88;;; home-environment.
89;;;
90;;; Home Services use the same extension as System Services. Consult
91;;; (gnu system services) module or manual for more information.
92;;;
93;;; home-service-type is a root of home services DAG.
94;;;
95;;; home-profile-service-type is almost the same as profile-service-type, at least
96;;; for now.
97;;;
98;;; home-environment-variables-service-type generates a @file{setup-environment}
99;;; shell script, which is expected to be sourced by login shell or other program,
100;;; which starts early and spawns all other processes. Home services for shells
101;;; automatically add code for sourcing this file, if person do not use those home
102;;; services they have to source this script manually in their's shell *profile
103;;; file (details described in the manual).
104;;;
105;;; home-files-service-type is similar to etc-service-type, but doesn't extend
106;;; home-activation, because deploy mechanism for config files is pluggable
107;;; and can be different for different home environments: The default one is
108;;; called symlink-manager, which creates links for various dotfiles and xdg
109;;; configuration files to store, but is possible to implement alternative
110;;; approaches like read-only home from Julien's guix-home-manager.
111;;;
112;;; home-run-on-first-login-service-type provides an @file{on-first-login} guile
113;;; script, which runs provided gexps once, when user makes first login. It can
114;;; be used to start user's Shepherd and maybe some other process. It relies on
115;;; assumption that /run/user/$UID will be created on login by some login
116;;; manager (elogind for example).
117;;;
118;;; home-activation-service-type provides an @file{activate} guile script, which
119;;; do three main things:
120;;;
121;;; - Sets environment variables to the values declared in
122;;; @file{setup-environment} shell script. It's necessary, because user can set
123;;; for example XDG_CONFIG_HOME and it should be respected by activation gexp of
124;;; symlink-manager.
125;;;
126;;; - Sets GUIX_NEW_HOME and possibly GUIX_OLD_HOME vars to paths in the store.
127;;; Later those variables can be used by activation gexps, for example by
128;;; symlink-manager or run-on-change services.
129;;;
130;;; - Run all activation gexps provided by other home services.
131;;;
132;;; home-run-on-change-service-type allows to trigger actions during
133;;; activation if file or directory specified by pattern is changed.
134;;;
135;;; Code:
136
137 137
138(define (home-derivation entries mextensions) 138(define (home-derivation entries mextensions)
139 "Return as a monadic value the derivation of the 'home' 139 "Return as a monadic value the derivation of the 'home'
diff --git a/gnu/home/services/fontutils.scm b/gnu/home/services/fontutils.scm
index 083cdd4b569..ee5cfda9938 100644
--- a/gnu/home/services/fontutils.scm
+++ b/gnu/home/services/fontutils.scm
@@ -19,6 +19,15 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; Services related to fonts. home-fontconfig service provides
25;;; fontconfig configuration, which allows fc-* utilities to find
26;;; fonts in Guix Home's profile and regenerates font cache on
27;;; activation.
28;;;
29;;; Code:
30
22(define-module (gnu home services fontutils) 31(define-module (gnu home services fontutils)
23 #:use-module (gnu home services) 32 #:use-module (gnu home services)
24 #:use-module (gnu packages fontutils) 33 #:use-module (gnu packages fontutils)
@@ -29,15 +38,6 @@
29 38
30 #:export (home-fontconfig-service-type)) 39 #:export (home-fontconfig-service-type))
31 40
32;;; Commentary:
33;;;
34;;; Services related to fonts. home-fontconfig service provides
35;;; fontconfig configuration, which allows fc-* utilities to find
36;;; fonts in Guix Home's profile and regenerates font cache on
37;;; activation.
38;;;
39;;; Code:
40
41(define (write-fontconfig-doctype) 41(define (write-fontconfig-doctype)
42 "Prints fontconfig's DOCTYPE to current-output-port." 42 "Prints fontconfig's DOCTYPE to current-output-port."
43 ;; This is necessary because SXML doesn't seem to have a way to represent a doctype, 43 ;; This is necessary because SXML doesn't seem to have a way to represent a doctype,
diff --git a/gnu/home/services/mcron.scm b/gnu/home/services/mcron.scm
index eab6b9bda44..2e012ddeb41 100644
--- a/gnu/home/services/mcron.scm
+++ b/gnu/home/services/mcron.scm
@@ -19,13 +19,6 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22(define-module (gnu home services mcron)
23 #:use-module (gnu home services)
24 #:use-module (gnu home services shepherd)
25 #:use-module (gnu services mcron) ;for the service mapping
26 #:export (home-mcron-configuration
27 home-mcron-service-type))
28
29;;; Commentary: 22;;; Commentary:
30;; 23;;
31;; Service for the GNU mcron cron job manager. 24;; Service for the GNU mcron cron job manager.
@@ -49,6 +42,13 @@
49;; 42;;
50;;; Code: 43;;; Code:
51 44
45(define-module (gnu home services mcron)
46 #:use-module (gnu home services)
47 #:use-module (gnu home services shepherd)
48 #:use-module (gnu services mcron) ;for the service mapping
49 #:export (home-mcron-configuration
50 home-mcron-service-type))
51
52(define-syntax-rule (home-mcron-configuration fields ...) 52(define-syntax-rule (home-mcron-configuration fields ...)
53 ;; Macro provided for backward compatibility. 53 ;; Macro provided for backward compatibility.
54 (for-home (mcron-configuration fields ...))) 54 (for-home (mcron-configuration fields ...)))
diff --git a/gnu/home/services/music.scm b/gnu/home/services/music.scm
index 3813ea230e4..86ec82fb359 100644
--- a/gnu/home/services/music.scm
+++ b/gnu/home/services/music.scm
@@ -16,6 +16,12 @@
16;;; You should have received a copy of the GNU General Public License 16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18 18
19;;; Commentary:
20;;;
21;;; A Guix Home service to configure Beets, a music file and metadata manager.
22;;;
23;;; Code:
24
19(define-module (gnu home services music) 25(define-module (gnu home services music)
20 #:use-module (guix gexp) 26 #:use-module (guix gexp)
21 #:use-module (guix records) 27 #:use-module (guix records)
@@ -25,12 +31,6 @@
25 #:export (home-beets-configuration 31 #:export (home-beets-configuration
26 home-beets-service-type)) 32 home-beets-service-type))
27 33
28;;; Commentary:
29;;;
30;;; A Guix Home service to configure Beets, a music file and metadata manager.
31;;;
32;;; Code:
33
34(define-record-type* <home-beets-configuration> 34(define-record-type* <home-beets-configuration>
35 home-beets-configuration make-home-beets-configuration 35 home-beets-configuration make-home-beets-configuration
36 home-beets-configuration? 36 home-beets-configuration?
diff --git a/gnu/home/services/shells.scm b/gnu/home/services/shells.scm
index b4299957b01..242a2980bda 100644
--- a/gnu/home/services/shells.scm
+++ b/gnu/home/services/shells.scm
@@ -19,6 +19,12 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; This module contains shell related services like Zsh.
25;;;
26;;; Code:
27
22(define-module (gnu home services shells) 28(define-module (gnu home services shells)
23 #:use-module (gnu services configuration) 29 #:use-module (gnu services configuration)
24 #:use-module ((gnu services) #:select (%default-bash-aliases)) 30 #:use-module ((gnu services) #:select (%default-bash-aliases))
@@ -52,12 +58,6 @@
52 home-inputrc-service-type 58 home-inputrc-service-type
53 home-inputrc-configuration)) 59 home-inputrc-configuration))
54 60
55;;; Commentary:
56;;;
57;;; This module contains shell related services like Zsh.
58;;;
59;;; Code:
60
61 61
62;;; 62;;;
63;;; Shell profile. 63;;; Shell profile.
diff --git a/gnu/home/services/symlink-manager.scm b/gnu/home/services/symlink-manager.scm
index 9f46f07e860..d11d3cdfe6f 100644
--- a/gnu/home/services/symlink-manager.scm
+++ b/gnu/home/services/symlink-manager.scm
@@ -19,13 +19,7 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22(define-module (gnu home services symlink-manager) 22;;; Commentary:
23 #:use-module (gnu home services)
24 #:use-module (guix gexp)
25 #:use-module (guix modules)
26 #:export (home-symlink-manager-service-type))
27
28;;; Comment:
29;;; 23;;;
30;;; symlink-manager cares about xdg configurations and other files: it backs 24;;; symlink-manager cares about xdg configurations and other files: it backs
31;;; up files created by user, removes symlinks and directories created by a 25;;; up files created by user, removes symlinks and directories created by a
@@ -35,6 +29,13 @@
35;;; 29;;;
36;;; Code: 30;;; Code:
37 31
32(define-module (gnu home services symlink-manager)
33 #:use-module (gnu home services)
34 #:use-module (guix gexp)
35 #:use-module (guix modules)
36 #:export (home-symlink-manager-service-type))
37
38
38(define (update-symlinks-script) 39(define (update-symlinks-script)
39 (program-file 40 (program-file
40 "update-symlinks" 41 "update-symlinks"
diff --git a/gnu/home/services/xdg.scm b/gnu/home/services/xdg.scm
index 04bf2ed4184..6342bb47297 100644
--- a/gnu/home/services/xdg.scm
+++ b/gnu/home/services/xdg.scm
@@ -19,6 +19,17 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;
24;; This module contains services related to XDG directories and
25;; applications.
26;;
27;; - XDG base directories
28;; - XDG user directories
29;; - XDG MIME applications
30;;
31;;; Code:
32
22(define-module (gnu home services xdg) 33(define-module (gnu home services xdg)
23 #:use-module (gnu services configuration) 34 #:use-module (gnu services configuration)
24 #:use-module (gnu home services) 35 #:use-module (gnu home services)
@@ -62,17 +73,6 @@
62 home-xdg-mime-applications-service-type 73 home-xdg-mime-applications-service-type
63 home-xdg-mime-applications-configuration)) 74 home-xdg-mime-applications-configuration))
64 75
65;;; Commentary:
66;;
67;; This module contains services related to XDG directories and
68;; applications.
69;;
70;; - XDG base directories
71;; - XDG user directories
72;; - XDG MIME applications
73;;
74;;; Code:
75
76 76
77;;; 77;;;
78;;; XDG base directories. 78;;; XDG base directories.
diff --git a/gnu/installer/connman.scm b/gnu/installer/connman.scm
index d21272036f7..f1d631517f2 100644
--- a/gnu/installer/connman.scm
+++ b/gnu/installer/connman.scm
@@ -16,6 +16,14 @@
16;;; You should have received a copy of the GNU General Public License 16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18 18
19;;; Commentary:
20;;;
21;;; This module provides procedures for talking with the connman daemon.
22;;; The best approach would have been using connman dbus interface.
23;;; However, as Guile dbus bindings are not available yet, the console client
24;;; "connmanctl" is used to talk with the daemon.
25;;;
26
19(define-module (gnu installer connman) 27(define-module (gnu installer connman)
20 #:use-module (gnu installer utils) 28 #:use-module (gnu installer utils)
21 #:use-module (guix records) 29 #:use-module (guix records)
@@ -70,14 +78,6 @@
70 connman-online? 78 connman-online?
71 connman-connect-with-auth)) 79 connman-connect-with-auth))
72 80
73;;; Commentary:
74;;;
75;;; This module provides procedures for talking with the connman daemon.
76;;; The best approach would have been using connman dbus interface.
77;;; However, as Guile dbus bindings are not available yet, the console client
78;;; "connmanctl" is used to talk with the daemon.
79;;;
80
81 81
82;;; 82;;;
83;;; Technology record. 83;;; Technology record.
diff --git a/gnu/installer/newt/page.scm b/gnu/installer/newt/page.scm
index c4414fc97ab..e798f4dbcfa 100644
--- a/gnu/installer/newt/page.scm
+++ b/gnu/installer/newt/page.scm
@@ -19,6 +19,17 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; Some helpers around guile-newt to draw or run generic pages. The
25;;; difference between 'draw' and 'run' terms comes from newt library. A page
26;;; is drawn when the form it contains does not expect any user
27;;; interaction. In that case, it is necessary to call (newt-refresh) to force
28;;; the page to be displayed. When a form is 'run', it is blocked waiting for
29;;; any action from the user (press a button, input some text, ...).
30;;;
31;;; Code:
32
22(define-module (gnu installer newt page) 33(define-module (gnu installer newt page)
23 #:use-module (gnu installer steps) 34 #:use-module (gnu installer steps)
24 #:use-module (gnu installer utils) 35 #:use-module (gnu installer utils)
@@ -52,17 +63,6 @@
52 63
53 run-form-with-clients)) 64 run-form-with-clients))
54 65
55;;; Commentary:
56;;;
57;;; Some helpers around guile-newt to draw or run generic pages. The
58;;; difference between 'draw' and 'run' terms comes from newt library. A page
59;;; is drawn when the form it contains does not expect any user
60;;; interaction. In that case, it is necessary to call (newt-refresh) to force
61;;; the page to be displayed. When a form is 'run', it is blocked waiting for
62;;; any action from the user (press a button, input some text, ...).
63;;;
64;;; Code:
65
66(define* (watch-clients! form #:optional (clients (current-clients))) 66(define* (watch-clients! form #:optional (clients (current-clients)))
67 "Have FORM watch the file descriptors corresponding to current client 67 "Have FORM watch the file descriptors corresponding to current client
68connections. Consequently, FORM may exit with the 'exit-fd-ready' reason." 68connections. Consequently, FORM may exit with the 'exit-fd-ready' reason."
diff --git a/gnu/installer/tests.scm b/gnu/installer/tests.scm
index a9a5d5d9880..b315176ff4c 100644
--- a/gnu/installer/tests.scm
+++ b/gnu/installer/tests.scm
@@ -18,6 +18,17 @@
18;;; You should have received a copy of the GNU General Public License 18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20 20
21;;; Commentary:
22;;;
23;;; This module provides tools to test the guided "graphical" installer in a
24;;; non-interactive fashion. The core of it is 'converse': it allows you to
25;;; state Expect-style dialogues, which happen over the Unix-domain socket the
26;;; installer listens to. Higher-level procedures such as
27;;; 'choose-locale+keyboard' are provided to perform specific parts of the
28;;; dialogue.
29;;;
30;;; Code:
31
21(define-module (gnu installer tests) 32(define-module (gnu installer tests)
22 #:use-module (srfi srfi-1) 33 #:use-module (srfi srfi-1)
23 #:use-module (srfi srfi-34) 34 #:use-module (srfi srfi-34)
@@ -44,17 +55,6 @@
44 55
45 edit-configuration-file)) 56 edit-configuration-file))
46 57
47;;; Commentary:
48;;;
49;;; This module provides tools to test the guided "graphical" installer in a
50;;; non-interactive fashion. The core of it is 'converse': it allows you to
51;;; state Expect-style dialogues, which happen over the Unix-domain socket the
52;;; installer listens to. Higher-level procedures such as
53;;; 'choose-locale+keyboard' are provided to perform specific parts of the
54;;; dialogue.
55;;;
56;;; Code:
57
58(define %installer-socket-file 58(define %installer-socket-file
59 ;; Socket the installer listens to. 59 ;; Socket the installer listens to.
60 "/var/guix/installer-socket") 60 "/var/guix/installer-socket")
diff --git a/gnu/machine.scm b/gnu/machine.scm
index 60be6749727..def1aacb55b 100644
--- a/gnu/machine.scm
+++ b/gnu/machine.scm
@@ -17,6 +17,15 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; This module provides the types used to declare individual machines in a
23;;; heterogeneous Guix deployment. The interface allows users to specify system
24;;; configurations and the means by which resources should be provisioned on a
25;;; per-host basis.
26;;;
27;;; Code:
28
20(define-module (gnu machine) 29(define-module (gnu machine)
21 #:use-module (gnu system) 30 #:use-module (gnu system)
22 #:use-module (guix derivations) 31 #:use-module (guix derivations)
@@ -48,15 +57,6 @@
48 deploy-error-should-roll-back 57 deploy-error-should-roll-back
49 deploy-error-captured-args)) 58 deploy-error-captured-args))
50 59
51;;; Commentary:
52;;;
53;;; This module provides the types used to declare individual machines in a
54;;; heterogeneous Guix deployment. The interface allows users to specify system
55;;; configurations and the means by which resources should be provisioned on a
56;;; per-host basis.
57;;;
58;;; Code:
59
60 60
61;;; 61;;;
62;;; Declarations for resources that can be provisioned. 62;;; Declarations for resources that can be provisioned.
diff --git a/gnu/machine/digital-ocean.scm b/gnu/machine/digital-ocean.scm
index d0f0bbe4cb6..f88d140900c 100644
--- a/gnu/machine/digital-ocean.scm
+++ b/gnu/machine/digital-ocean.scm
@@ -19,6 +19,13 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; This module implements a high-level interface for provisioning "droplets"
25;;; from the Digital Ocean virtual private server (VPS) service.
26;;;
27;;; Code:
28
22(define-module (gnu machine digital-ocean) 29(define-module (gnu machine digital-ocean)
23 #:use-module (gnu machine ssh) 30 #:use-module (gnu machine ssh)
24 #:use-module (gnu machine) 31 #:use-module (gnu machine)
@@ -63,13 +70,6 @@
63 70
64 digital-ocean-environment-type)) 71 digital-ocean-environment-type))
65 72
66;;; Commentary:
67;;;
68;;; This module implements a high-level interface for provisioning "droplets"
69;;; from the Digital Ocean virtual private server (VPS) service.
70;;;
71;;; Code:
72
73(define %api-base "https://api.digitalocean.com") 73(define %api-base "https://api.digitalocean.com")
74 74
75(define %digital-ocean-token 75(define %digital-ocean-token
diff --git a/gnu/machine/hetzner.scm b/gnu/machine/hetzner.scm
index b4858fa3d26..148e3139b19 100644
--- a/gnu/machine/hetzner.scm
+++ b/gnu/machine/hetzner.scm
@@ -19,6 +19,12 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; This module implements a high-level interface for provisioning machines on
25;;; the Hetzner Cloud service https://docs.hetzner.cloud.
26;;;
27
22(define-module (gnu machine hetzner) 28(define-module (gnu machine hetzner)
23 #:use-module (gnu bootloader grub) 29 #:use-module (gnu bootloader grub)
24 #:use-module (gnu bootloader) 30 #:use-module (gnu bootloader)
@@ -91,12 +97,6 @@
91 hetzner-configuration? 97 hetzner-configuration?
92 hetzner-environment-type)) 98 hetzner-environment-type))
93 99
94;;; Commentary:
95;;;
96;;; This module implements a high-level interface for provisioning machines on
97;;; the Hetzner Cloud service https://docs.hetzner.cloud.
98;;;
99
100 100
101;;; 101;;;
102;;; Hetzner operating systems. 102;;; Hetzner operating systems.
diff --git a/gnu/machine/hetzner/http.scm b/gnu/machine/hetzner/http.scm
index f8580021a9e..6702a755351 100644
--- a/gnu/machine/hetzner/http.scm
+++ b/gnu/machine/hetzner/http.scm
@@ -17,6 +17,12 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; This module implements a lower-level interface for interacting with the
23;;; Hetzner Cloud API https://docs.hetzner.cloud.
24;;;
25
20(define-module (gnu machine hetzner http) 26(define-module (gnu machine hetzner http)
21 #:use-module (guix diagnostics) 27 #:use-module (guix diagnostics)
22 #:use-module (guix i18n) 28 #:use-module (guix i18n)
@@ -179,12 +185,6 @@
179 make-hetzner-server-type 185 make-hetzner-server-type
180 make-hetzner-ssh-key)) 186 make-hetzner-ssh-key))
181 187
182;;; Commentary:
183;;;
184;;; This module implements a lower-level interface for interacting with the
185;;; Hetzner Cloud API https://docs.hetzner.cloud.
186;;;
187
188(define %hetzner-default-api-token 188(define %hetzner-default-api-token
189 (make-parameter (getenv "GUIX_HETZNER_API_TOKEN"))) 189 (make-parameter (getenv "GUIX_HETZNER_API_TOKEN")))
190 190
diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm
index 0ce28602363..d8c634000f7 100644
--- a/gnu/machine/ssh.scm
+++ b/gnu/machine/ssh.scm
@@ -19,6 +19,15 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; This module implements remote evaluation and system deployment for
25;;; machines that are accessible over SSH and have a known host-name. In the
26;;; sense of the broader "machine" interface, we describe the environment for
27;;; such machines as 'managed-host.
28;;;
29;;; Code:
30
22(define-module (gnu machine ssh) 31(define-module (gnu machine ssh)
23 #:use-module (gnu bootloader) 32 #:use-module (gnu bootloader)
24 #:use-module (gnu machine) 33 #:use-module (gnu machine)
@@ -70,15 +79,6 @@
70 machine-ssh-configuration-host-key 79 machine-ssh-configuration-host-key
71 machine-ssh-configuration-session)) 80 machine-ssh-configuration-session))
72 81
73;;; Commentary:
74;;;
75;;; This module implements remote evaluation and system deployment for
76;;; machines that are accessible over SSH and have a known host-name. In the
77;;; sense of the broader "machine" interface, we describe the environment for
78;;; such machines as 'managed-host.
79;;;
80;;; Code:
81
82 82
83;;; 83;;;
84;;; Parameters for the SSH client. 84;;; Parameters for the SSH client.
diff --git a/gnu/packages.scm b/gnu/packages.scm
index 8d40e3e3352..b0283cade61 100644
--- a/gnu/packages.scm
+++ b/gnu/packages.scm
@@ -21,6 +21,13 @@
21;;; You should have received a copy of the GNU General Public License 21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 23
24;;; Commentary:
25;;;
26;;; General utilities for the software distribution---i.e., the modules under
27;;; (gnu packages ...).
28;;;
29;;; Code:
30
24(define-module (gnu packages) 31(define-module (gnu packages)
25 #:use-module (guix packages) 32 #:use-module (guix packages)
26 #:use-module (guix ui) 33 #:use-module (guix ui)
@@ -74,13 +81,6 @@
74 81
75 generate-package-cache)) 82 generate-package-cache))
76 83
77;;; Commentary:
78;;;
79;;; General utilities for the software distribution---i.e., the modules under
80;;; (gnu packages ...).
81;;;
82;;; Code:
83
84;; By default, we store patches and auxiliary files 84;; By default, we store patches and auxiliary files
85;; alongside Guile modules. This is so that these extra files can be 85;; alongside Guile modules. This is so that these extra files can be
86;; found without requiring a special setup, such as a specific 86;; found without requiring a special setup, such as a specific
diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm
index c445f3a83af..2c8c9486d1b 100644
--- a/gnu/packages/avr.scm
+++ b/gnu/packages/avr.scm
@@ -21,6 +21,17 @@
21;;; You should have received a copy of the GNU General Public License 21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 23
24;;; Commentary:
25;;;
26;;; This module defines a procedure that can be used to create a complete
27;;; avr-toolchain package. The procedure must not be used at the top level,
28;;; to avoid cyclic module dependencies caused by the (gnu packages
29;;; cross-base) module referring to top level bindings from (gnu packages
30;;; gcc).
31;;;
32;;; It also contains packages for working with or targeting the AVR system.
33;;;
34
24(define-module (gnu packages avr) 35(define-module (gnu packages avr)
25 #:use-module ((guix licenses) #:prefix license:) 36 #:use-module ((guix licenses) #:prefix license:)
26 #:use-module (guix gexp) 37 #:use-module (guix gexp)
@@ -36,17 +47,6 @@
36 #:export (make-avr-libc 47 #:export (make-avr-libc
37 make-avr-toolchain)) 48 make-avr-toolchain))
38 49
39;;; Commentary:
40;;;
41;;; This module defines a procedure that can be used to create a complete
42;;; avr-toolchain package. The procedure must not be used at the top level,
43;;; to avoid cyclic module dependencies caused by the (gnu packages
44;;; cross-base) module referring to top level bindings from (gnu packages
45;;; gcc).
46;;;
47;;; It also contains packages for working with or targeting the AVR system.
48;;;
49
50(define make-avr-binutils 50(define make-avr-binutils
51 (mlambda () 51 (mlambda ()
52 (package 52 (package
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index e7d0d2e406c..6fa024b2168 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -40,6 +40,12 @@
40;;; You should have received a copy of the GNU General Public License 40;;; You should have received a copy of the GNU General Public License
41;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 41;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
42 42
43;;; Commentary:
44;;;
45;;; Base packages of the Guix-based GNU user-land software distribution.
46;;;
47;;; Code:
48
43(define-module (gnu packages base) 49(define-module (gnu packages base)
44 #:use-module ((guix licenses) 50 #:use-module ((guix licenses)
45 #:select (gpl3+ lgpl2.0+ lgpl3+ public-domain)) 51 #:select (gpl3+ lgpl2.0+ lgpl3+ public-domain))
@@ -90,12 +96,6 @@
90 canonical-package 96 canonical-package
91 %final-inputs)) 97 %final-inputs))
92 98
93;;; Commentary:
94;;;
95;;; Base packages of the Guix-based GNU user-land software distribution.
96;;;
97;;; Code:
98
99(define-public hello 99(define-public hello
100 (package 100 (package
101 (name "hello") 101 (name "hello")
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 5555098973c..2fc70210635 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -23,6 +23,13 @@
23;;; You should have received a copy of the GNU General Public License 23;;; You should have received a copy of the GNU General Public License
24;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 24;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
25 25
26;;; Commentary:
27;;;
28;;; Pre-built packages that are used to bootstrap the
29;;; distribution--i.e., to build all the core packages from scratch.
30;;;
31;;; Code:
32
26(define-module (gnu packages bootstrap) 33(define-module (gnu packages bootstrap)
27 #:use-module (guix licenses) 34 #:use-module (guix licenses)
28 #:use-module (gnu packages) 35 #:use-module (gnu packages)
@@ -64,14 +71,6 @@
64 71
65 %bootstrap-inputs-for-tests)) 72 %bootstrap-inputs-for-tests))
66 73
67;;; Commentary:
68;;;
69;;; Pre-built packages that are used to bootstrap the
70;;; distribution--i.e., to build all the core packages from scratch.
71;;;
72;;; Code:
73
74
75 74
76;;; 75;;;
77;;; The bootstrap executables: 'bash', 'mkdir', 'tar', 'xz'. They allow us to 76;;; The bootstrap executables: 'bash', 'mkdir', 'tar', 'xz'. They allow us to
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 8ebcb405975..990930a0073 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -32,6 +32,28 @@
32;;; You should have received a copy of the GNU General Public License 32;;; You should have received a copy of the GNU General Public License
33;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 33;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
34 34
35;;; Commentary:
36;;;
37;;; This is the commencement, this is where things start. Before the
38;;; commencement, of course, there's the 'bootstrap' module, which provides us
39;;; with the initial binaries. This module uses those bootstrap binaries to
40;;; actually build up the whole tool chain that make up the implicit inputs of
41;;; 'gnu-build-system'.
42;;;
43;;; To avoid circular dependencies, this module should not be imported
44;;; directly from anywhere.
45;;;
46;;; Below, we frequently use "inherit" to create modified packages. The
47;;; reason why we use "inherit" instead of "package/inherit" is because we do
48;;; not want these commencement packages to inherit grafts. By definition,
49;;; these packages are not depended on at run time by any of the packages we
50;;; use. Thus it does not make sense to inherit grafts. Furthermore, those
51;;; grafts would often lead to extra overhead for users who would end up
52;;; downloading those "-boot0" packages just to build package replacements
53;;; that are in fact not going to be used.
54;;;
55;;; Code:
56
35(define-module (gnu packages commencement) 57(define-module (gnu packages commencement)
36 #:use-module (gnu packages) 58 #:use-module (gnu packages)
37 #:use-module (gnu packages bootstrap) 59 #:use-module (gnu packages bootstrap)
@@ -76,28 +98,6 @@
76 #:use-module (ice-9 vlist) 98 #:use-module (ice-9 vlist)
77 #:use-module (ice-9 match)) 99 #:use-module (ice-9 match))
78 100
79;;; Commentary:
80;;;
81;;; This is the commencement, this is where things start. Before the
82;;; commencement, of course, there's the 'bootstrap' module, which provides us
83;;; with the initial binaries. This module uses those bootstrap binaries to
84;;; actually build up the whole tool chain that make up the implicit inputs of
85;;; 'gnu-build-system'.
86;;;
87;;; To avoid circular dependencies, this module should not be imported
88;;; directly from anywhere.
89;;;
90;;; Below, we frequently use "inherit" to create modified packages. The
91;;; reason why we use "inherit" instead of "package/inherit" is because we do
92;;; not want these commencement packages to inherit grafts. By definition,
93;;; these packages are not depended on at run time by any of the packages we
94;;; use. Thus it does not make sense to inherit grafts. Furthermore, those
95;;; grafts would often lead to extra overhead for users who would end up
96;;; downloading those "-boot0" packages just to build package replacements
97;;; that are in fact not going to be used.
98;;;
99;;; Code:
100
101(define built-in-builders* 101(define built-in-builders*
102 (store-lift built-in-builders)) 102 (store-lift built-in-builders))
103 103
diff --git a/gnu/packages/cross-toolchain.scm b/gnu/packages/cross-toolchain.scm
index 733f7e601fe..9f3ecd87af0 100644
--- a/gnu/packages/cross-toolchain.scm
+++ b/gnu/packages/cross-toolchain.scm
@@ -16,11 +16,6 @@
16;;; You should have received a copy of the GNU General Public License 16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18 18
19(define-module (gnu packages cross-toolchain)
20 #:use-module (gnu packages cross-base)
21 #:use-module (gnu packages gcc)
22 #:use-module (guix packages))
23
24;;; Commentary: 19;;; Commentary:
25;;; 20;;;
26;;; This module provides packages for cross compilation toolchains. These 21;;; This module provides packages for cross compilation toolchains. These
@@ -33,6 +28,11 @@
33;;; compilation methods. For example, by using the `#:target' argument on 28;;; compilation methods. For example, by using the `#:target' argument on
34;;; packages or `--target' on the command line. 29;;; packages or `--target' on the command line.
35 30
31(define-module (gnu packages cross-toolchain)
32 #:use-module (gnu packages cross-base)
33 #:use-module (gnu packages gcc)
34 #:use-module (guix packages))
35
36(define-public gcc-cross-avr-toolchain 36(define-public gcc-cross-avr-toolchain
37 (cross-gcc-toolchain "avr")) 37 (cross-gcc-toolchain "avr"))
38 38
diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm
index e203d22e1ca..21af128411f 100644
--- a/gnu/packages/dbm.scm
+++ b/gnu/packages/dbm.scm
@@ -26,6 +26,11 @@
26;;; You should have received a copy of the GNU General Public License 26;;; You should have received a copy of the GNU General Public License
27;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 27;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
28 28
29;;; Commentary:
30;;;
31;;; This module has been separated from (gnu packages databases) to reduce the
32;;; number of module references for core packages.
33
29(define-module (gnu packages dbm) 34(define-module (gnu packages dbm)
30 #:use-module (gnu packages) 35 #:use-module (gnu packages)
31 #:use-module (gnu packages autotools) 36 #:use-module (gnu packages autotools)
@@ -37,11 +42,6 @@
37 #:use-module (guix utils) 42 #:use-module (guix utils)
38 #:use-module (ice-9 match)) 43 #:use-module (ice-9 match))
39 44
40;;; Commentary:
41;;;
42;;; This module has been separated from (gnu packages databases) to reduce the
43;;; number of module references for core packages.
44
45(define bdb-snippet 45(define bdb-snippet
46 ;; Remove some bundled and generated files. Some of the old 46 ;; Remove some bundled and generated files. Some of the old
47 ;; Autotools files are too old for some architectures 47 ;; Autotools files are too old for some architectures
diff --git a/gnu/packages/duckdb.scm b/gnu/packages/duckdb.scm
index 4a3edf99f21..50da727239b 100644
--- a/gnu/packages/duckdb.scm
+++ b/gnu/packages/duckdb.scm
@@ -21,6 +21,14 @@
21;;; You should have received a copy of the GNU General Public License 21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 23
24;;; Commentary:
25;;;
26;;; This module contains DuckDB - an analytical in-process SQL database
27;;; management system (https://www.duckdb.org/) and it's binding in different
28;;; programming languages with other related to DuckDB packages.
29;;;
30;;; Code:
31
24(define-module (gnu packages duckdb) 32(define-module (gnu packages duckdb)
25 #:use-module ((guix licenses) #:prefix license:) 33 #:use-module ((guix licenses) #:prefix license:)
26 #:use-module (guix build-system cmake) 34 #:use-module (guix build-system cmake)
@@ -43,13 +51,6 @@
43 #:use-module (gnu packages statistics) 51 #:use-module (gnu packages statistics)
44 #:use-module (gnu packages time)) 52 #:use-module (gnu packages time))
45 53
46;;; Commentary:
47;;;
48;;; This module contains DuckDB - an analytical in-process SQL database
49;;; management system (https://www.duckdb.org/) and it's binding in different
50;;; programming languages with other related to DuckDB packages.
51;;;
52;;; Code:
53 54
54(define %duckdb-version "1.5.3") 55(define %duckdb-version "1.5.3")
55 56
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index d163ac5a57f..43bb77ae022 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -32,6 +32,15 @@
32;;; You should have received a copy of the GNU General Public License 32;;; You should have received a copy of the GNU General Public License
33;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 33;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
34 34
35;;; Commentary:
36;;;
37;;; This modules contains toolchain generators as well as packages for use in
38;;; embedded contexts. Note: the toolchain and specialized packages are
39;;; procedures, so as to delay their references to top level bindings such as
40;;; 'gcc' or 'cross-gcc', etc.
41;;;
42;;; Code:
43
35(define-module (gnu packages embedded) 44(define-module (gnu packages embedded)
36 #:use-module (guix utils) 45 #:use-module (guix utils)
37 #:use-module (guix packages) 46 #:use-module (guix packages)
@@ -121,14 +130,6 @@
121 make-propeller-gcc-6 130 make-propeller-gcc-6
122 make-propeller-toolchain)) 131 make-propeller-toolchain))
123 132
124;;; Commentary:
125;;;
126;;; This modules contains toolchain generators as well as packages for use in
127;;; embedded contexts. Note: the toolchain and specialized packages are
128;;; procedures, so as to delay their references to top level bindings such as
129;;; 'gcc' or 'cross-gcc', etc.
130;;;
131
132;; We must not use the released GCC sources here, because the cross-compiler 133;; We must not use the released GCC sources here, because the cross-compiler
133;; does not produce working binaries. Instead we take the very same SVN 134;; does not produce working binaries. Instead we take the very same SVN
134;; revision from the branch that is used for a release of the "GCC ARM 135;; revision from the branch that is used for a release of the "GCC ARM
diff --git a/gnu/packages/gnome-circle.scm b/gnu/packages/gnome-circle.scm
index 04f195180b5..1e294f55a24 100644
--- a/gnu/packages/gnome-circle.scm
+++ b/gnu/packages/gnome-circle.scm
@@ -25,7 +25,7 @@
25;;; You should have received a copy of the GNU General Public License 25;;; You should have received a copy of the GNU General Public License
26;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 26;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
27 27
28;;; Comment: 28;;; Commentary:
29 29
30;;; This module is for packages that are part of GNOME Circle 30;;; This module is for packages that are part of GNOME Circle
31;;; <https://circle.gnome.org/>. 31;;; <https://circle.gnome.org/>.
diff --git a/gnu/packages/golang-apps.scm b/gnu/packages/golang-apps.scm
index 9b856d23b5b..80ad63d8535 100644
--- a/gnu/packages/golang-apps.scm
+++ b/gnu/packages/golang-apps.scm
@@ -21,6 +21,18 @@
21;;; You should have received a copy of the GNU General Public License 21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 23
24;;; Commentary:
25;;;
26;;; Golang (Go) specific applications which are not inherited from their
27;;; source live here e.g linters, language servers, REPL implementations etc.
28;;;
29;;; If the <cmd/APP> is inherited from its source place it in corresponded
30;;; golang-*.scm file in the end after the section "Executables".
31;;;
32;;; Please: Try to add new variable in alphabetical order.
33;;;
34;;; Code:
35
24(define-module (gnu packages golang-apps) 36(define-module (gnu packages golang-apps)
25 #:use-module (guix build-system go) 37 #:use-module (guix build-system go)
26 #:use-module (guix gexp) 38 #:use-module (guix gexp)
@@ -34,17 +46,6 @@
34 #:use-module (gnu packages golang-web) 46 #:use-module (gnu packages golang-web)
35 #:use-module (gnu packages golang-xyz)) 47 #:use-module (gnu packages golang-xyz))
36 48
37;;; Commentary:
38;;;
39;;; Golang (Go) specific applications which are not inherited from their
40;;; source live here e.g linters, language servers, REPL implementations etc.
41;;;
42;;; If the <cmd/APP> is inherited from its source place it in corresponded
43;;; golang-*.scm file in the end after the section "Executables".
44;;;
45;;; Please: Try to add new variable in alphabetical order.
46;;;
47;;; Code:
48 49
49(define-public go-chroma 50(define-public go-chroma
50 (package 51 (package
diff --git a/gnu/packages/golang-build.scm b/gnu/packages/golang-build.scm
index 9e744c50c3a..70d99a41a77 100644
--- a/gnu/packages/golang-build.scm
+++ b/gnu/packages/golang-build.scm
@@ -37,18 +37,6 @@
37;;; You should have received a copy of the GNU General Public License 37;;; You should have received a copy of the GNU General Public License
38;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 38;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
39 39
40(define-module (gnu packages golang-build)
41 #:use-module ((guix licenses) #:prefix license:)
42 #:use-module (guix build-system go)
43 #:use-module (guix gexp)
44 #:use-module (guix git-download)
45 #:use-module (guix packages)
46 #:use-module (guix utils)
47 #:use-module (gnu packages)
48 #:use-module (gnu packages audio)
49 #:use-module (gnu packages gl)
50 #:use-module (gnu packages golang))
51
52;;; Commentary: 40;;; Commentary:
53;;; 41;;;
54;;; Modules (libraries) which are part of the Golang project but outside the 42;;; Modules (libraries) which are part of the Golang project but outside the
@@ -61,6 +49,19 @@
61;;; Please: Try to add new module packages in alphabetic order. 49;;; Please: Try to add new module packages in alphabetic order.
62;;; 50;;;
63;;; Code: 51;;; Code:
52
53(define-module (gnu packages golang-build)
54 #:use-module ((guix licenses) #:prefix license:)
55 #:use-module (guix build-system go)
56 #:use-module (guix gexp)
57 #:use-module (guix git-download)
58 #:use-module (guix packages)
59 #:use-module (guix utils)
60 #:use-module (gnu packages)
61 #:use-module (gnu packages audio)
62 #:use-module (gnu packages gl)
63 #:use-module (gnu packages golang))
64
64 65
65(define-public go-cel-dev-expr 66(define-public go-cel-dev-expr
66 (package 67 (package
diff --git a/gnu/packages/golang-check.scm b/gnu/packages/golang-check.scm
index b3ef530bf22..d05e0ee2c59 100644
--- a/gnu/packages/golang-check.scm
+++ b/gnu/packages/golang-check.scm
@@ -45,6 +45,16 @@
45;;; You should have received a copy of the GNU General Public License 45;;; You should have received a copy of the GNU General Public License
46;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 46;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
47 47
48;;; Commentary:
49;;;
50;;; Golang packages providing tools to unit-test, mock, assert, and lint
51;;; processes for the Golang itself. They may provide executables and
52;;; libraries, for which there are marked sections.
53;;;
54;;; Please: Try to add new module packages in alphabetic order.
55;;;
56;;; Code:
57
48(define-module (gnu packages golang-check) 58(define-module (gnu packages golang-check)
49 #:use-module ((guix licenses) #:prefix license:) 59 #:use-module ((guix licenses) #:prefix license:)
50 #:use-module (guix packages) 60 #:use-module (guix packages)
@@ -59,15 +69,6 @@
59 #:use-module (gnu packages golang-xyz) 69 #:use-module (gnu packages golang-xyz)
60 #:use-module (gnu packages version-control)) 70 #:use-module (gnu packages version-control))
61 71
62;;; Commentary:
63;;;
64;;; Golang packages providing tools to unit-test, mock, assert, and lint
65;;; processes for the Golang itself. They may provide executables and
66;;; libraries, for which there are marked sections.
67;;;
68;;; Please: Try to add new module packages in alphabetic order.
69;;;
70;;; Code:
71 72
72;;; 73;;;
73;;; Libraries: 74;;; Libraries:
diff --git a/gnu/packages/golang-compression.scm b/gnu/packages/golang-compression.scm
index 2ea0b01110a..ee406036571 100644
--- a/gnu/packages/golang-compression.scm
+++ b/gnu/packages/golang-compression.scm
@@ -23,6 +23,12 @@
23;;; You should have received a copy of the GNU General Public License 23;;; You should have received a copy of the GNU General Public License
24;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 24;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
25 25
26;;; Commentary:
27;;;
28;;; Please: Try to add new module packages in alphabetic order.
29;;;
30;;; Code:
31
26(define-module (gnu packages golang-compression) 32(define-module (gnu packages golang-compression)
27 #:use-module ((guix licenses) #:prefix license:) 33 #:use-module ((guix licenses) #:prefix license:)
28 #:use-module (guix build-system go) 34 #:use-module (guix build-system go)
@@ -38,11 +44,6 @@
38 #:use-module (gnu packages golang-xyz) 44 #:use-module (gnu packages golang-xyz)
39 #:use-module (gnu packages pkg-config)) 45 #:use-module (gnu packages pkg-config))
40 46
41;;; Commentary:
42;;;
43;;; Please: Try to add new module packages in alphabetic order.
44;;;
45;;; Code:
46 47
47(define-public go-code-forgejo-org-forgejo-go-rpmutils 48(define-public go-code-forgejo-org-forgejo-go-rpmutils
48 (package 49 (package
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index 7e54b4d9818..d197029bfdf 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -48,6 +48,16 @@
48;;; You should have received a copy of the GNU General Public License 48;;; You should have received a copy of the GNU General Public License
49;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 49;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
50 50
51;;; Commentary:
52;;;
53;;; Golang modules (libraries) related to Cryptography: encryption algorithms,
54;;; hashing functions, TLS, key management, digital signatures, password
55;;; hashing etc.
56;;;
57;;; Please: Try to add new module packages in alphabetic order.
58;;;
59;;; Code:
60
51(define-module (gnu packages golang-crypto) 61(define-module (gnu packages golang-crypto)
52 #:use-module ((guix licenses) #:prefix license:) 62 #:use-module ((guix licenses) #:prefix license:)
53 #:use-module (guix build-system go) 63 #:use-module (guix build-system go)
@@ -70,15 +80,6 @@
70 #:use-module (gnu packages specifications) 80 #:use-module (gnu packages specifications)
71 #:use-module (gnu packages tls)) 81 #:use-module (gnu packages tls))
72 82
73;;; Commentary:
74;;;
75;;; Golang modules (libraries) related to Cryptography: encryption algorithms,
76;;; hashing functions, TLS, key management, digital signatures, password
77;;; hashing etc.
78;;;
79;;; Please: Try to add new module packages in alphabetic order.
80;;;
81;;; Code:
82 83
83;;; 84;;;
84;;; Libraries: 85;;; Libraries:
diff --git a/gnu/packages/golang-graphics.scm b/gnu/packages/golang-graphics.scm
index 725ffad1b77..6dadb0e3746 100644
--- a/gnu/packages/golang-graphics.scm
+++ b/gnu/packages/golang-graphics.scm
@@ -18,6 +18,12 @@
18;;; You should have received a copy of the GNU General Public License 18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20 20
21;;; Commentary:
22;;;
23;;; Please: Try to add new module packages in alphabetic order.
24;;;
25;;; Code:
26
21(define-module (gnu packages golang-graphics) 27(define-module (gnu packages golang-graphics)
22 #:use-module (guix build-system go) 28 #:use-module (guix build-system go)
23 #:use-module (guix gexp) 29 #:use-module (guix gexp)
@@ -33,11 +39,6 @@
33 #:use-module (gnu packages pkg-config) 39 #:use-module (gnu packages pkg-config)
34 #:use-module (gnu packages xorg)) 40 #:use-module (gnu packages xorg))
35 41
36;;; Commentary:
37;;;
38;;; Please: Try to add new module packages in alphabetic order.
39;;;
40;;; Code:
41 42
42;;; 43;;;
43;;; Libraries: 44;;; Libraries:
diff --git a/gnu/packages/golang-maths.scm b/gnu/packages/golang-maths.scm
index 71d3e3c6e52..895557a6dbb 100644
--- a/gnu/packages/golang-maths.scm
+++ b/gnu/packages/golang-maths.scm
@@ -20,6 +20,12 @@
20;;; You should have received a copy of the GNU General Public License 20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22 22
23;;; Commentary:
24;;;
25;;; Please: Try to add new module packages in alphabetic order.
26;;;
27;;; Code:
28
23(define-module (gnu packages golang-maths) 29(define-module (gnu packages golang-maths)
24 #:use-module ((guix licenses) #:prefix license:) 30 #:use-module ((guix licenses) #:prefix license:)
25 #:use-module (guix build-system go) 31 #:use-module (guix build-system go)
@@ -33,11 +39,6 @@
33 #:use-module (gnu packages golang-check) 39 #:use-module (gnu packages golang-check)
34 #:use-module (gnu packages golang-compression)) 40 #:use-module (gnu packages golang-compression))
35 41
36;;; Commentary:
37;;;
38;;; Please: Try to add new module packages in alphabetic order.
39;;;
40;;; Code:
41 42
42;;; 43;;;
43;;; Libraries: 44;;; Libraries:
diff --git a/gnu/packages/golang-vcs.scm b/gnu/packages/golang-vcs.scm
index d74be58bf26..f1374c8d5dc 100644
--- a/gnu/packages/golang-vcs.scm
+++ b/gnu/packages/golang-vcs.scm
@@ -21,6 +21,12 @@
21;;; You should have received a copy of the GNU General Public License 21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 23
24;;; Commentary:
25;;;
26;;; Please: Try to add new module packages in alphabetic order.
27;;;
28;;; Code:
29
24(define-module (gnu packages golang-vcs) 30(define-module (gnu packages golang-vcs)
25 #:use-module ((guix licenses) #:prefix license:) 31 #:use-module ((guix licenses) #:prefix license:)
26 #:use-module (guix build-system go) 32 #:use-module (guix build-system go)
@@ -43,11 +49,6 @@
43 #:use-module (gnu packages python-check) 49 #:use-module (gnu packages python-check)
44 #:use-module (gnu packages version-control)) 50 #:use-module (gnu packages version-control))
45 51
46;;; Commentary:
47;;;
48;;; Please: Try to add new module packages in alphabetic order.
49;;;
50;;; Code:
51 52
52;;; 53;;;
53;;; Libraries: 54;;; Libraries:
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 320e15dc863..a673448d5cf 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -68,6 +68,19 @@
68;;; You should have received a copy of the GNU General Public License 68;;; You should have received a copy of the GNU General Public License
69;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 69;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
70 70
71;;; Commentary:
72;;;
73;;; Golang modules (libraries) for Web related projects: HTML, CSS, SCSS,
74;;; JavaScript, JSON, Web-framework, REST-API or similar functionality; for
75;;; Network related projects: OSI layers implementation algorithms, MIME,
76;;; Email protocols implementations, and similar. They may provide
77;;; executables and libraries, for which there are marked sections.
78
79;;;
80;;; Please: Try to add new module packages in alphabetic order.
81;;;
82;;; Code:
83
71(define-module (gnu packages golang-web) 84(define-module (gnu packages golang-web)
72 #:use-module ((guix licenses) #:prefix license:) 85 #:use-module ((guix licenses) #:prefix license:)
73 #:use-module (guix packages) 86 #:use-module (guix packages)
@@ -91,18 +104,6 @@
91 #:use-module (gnu packages tls) 104 #:use-module (gnu packages tls)
92 #:use-module (gnu packages web)) 105 #:use-module (gnu packages web))
93 106
94;;; Commentary:
95;;;
96;;; Golang modules (libraries) for Web related projects: HTML, CSS, SCSS,
97;;; JavaScript, JSON, Web-framework, REST-API or similar functionality; for
98;;; Network related projects: OSI layers implementation algorithms, MIME,
99;;; Email protocols implementations, and similar. They may provide
100;;; executables and libraries, for which there are marked sections.
101
102;;;
103;;; Please: Try to add new module packages in alphabetic order.
104;;;
105;;; Code:
106 107
107;;; 108;;;
108;;; Libraries: 109;;; Libraries:
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index d465888f8ac..eca17e73700 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -99,6 +99,20 @@
99;;; You should have received a copy of the GNU General Public License 99;;; You should have received a copy of the GNU General Public License
100;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 100;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
101 101
102;;; Commentary:
103;;;
104;;; Nomad Golang modules (libraries) are welcome here.
105;;;
106;;; There are two sections her: Libraries - for any source only Golang
107;;; libraries which are meant to be imported by other packages; Executables -
108;;; should contain inherited packages where commands need to be built.
109;;;
110;;; Please: Try to add new module packages in alphabetic order and avoid stand
111;;; alone final executables which are not inherited from sources presented in
112;;; this module.
113;;;
114;;; Code:
115
102(define-module (gnu packages golang-xyz) 116(define-module (gnu packages golang-xyz)
103 #:use-module ((guix licenses) #:prefix license:) 117 #:use-module ((guix licenses) #:prefix license:)
104 #:use-module (guix build-system go) 118 #:use-module (guix build-system go)
@@ -140,19 +154,6 @@
140 #:use-module (gnu packages kubernetes) 154 #:use-module (gnu packages kubernetes)
141 #:use-module (gnu packages prometheus)) 155 #:use-module (gnu packages prometheus))
142 156
143;;; Commentary:
144;;;
145;;; Nomad Golang modules (libraries) are welcome here.
146;;;
147;;; There are two sections her: Libraries - for any source only Golang
148;;; libraries which are meant to be imported by other packages; Executables -
149;;; should contain inherited packages where commands need to be built.
150;;;
151;;; Please: Try to add new module packages in alphabetic order and avoid stand
152;;; alone final executables which are not inherited from sources presented in
153;;; this module.
154;;;
155;;; Code:
156 157
157;;; 158;;;
158;;; Libraries: 159;;; Libraries:
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index ba46a34bd91..58c1598bb38 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -34,6 +34,12 @@
34;;; You should have received a copy of the GNU General Public License 34;;; You should have received a copy of the GNU General Public License
35;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 35;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
36 36
37;;; Commentary:
38;;;
39;;; GNU Guile, and modules and extensions.
40;;;
41;;; Code:
42
37(define-module (gnu packages guile) 43(define-module (gnu packages guile)
38 #:use-module ((guix licenses) #:prefix license:) 44 #:use-module ((guix licenses) #:prefix license:)
39 #:use-module (gnu packages) 45 #:use-module (gnu packages)
@@ -67,12 +73,6 @@
67 #:use-module (guix deprecation) 73 #:use-module (guix deprecation)
68 #:use-module (guix utils)) 74 #:use-module (guix utils))
69 75
70;;; Commentary:
71;;;
72;;; GNU Guile, and modules and extensions.
73;;;
74;;; Code:
75
76(define-public guile-1.8 76(define-public guile-1.8
77 (package 77 (package
78 (name "guile") 78 (name "guile")
diff --git a/gnu/packages/ld-wrapper.in b/gnu/packages/ld-wrapper.in
index c9bb235bca5..61d65b262d9 100644
--- a/gnu/packages/ld-wrapper.in
+++ b/gnu/packages/ld-wrapper.in
@@ -39,12 +39,6 @@ exec @GUILE@ -c "(load-compiled \"@SELF@.go\") ($main (command-line))" "$@"
39;;; You should have received a copy of the GNU General Public License 39;;; You should have received a copy of the GNU General Public License
40;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 40;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
41 41
42(define-module (gnu build-support ld-wrapper)
43 #:use-module (srfi srfi-1)
44 #:use-module (ice-9 match)
45 #:autoload (ice-9 rdelim) (read-delimited)
46 #:export (ld-wrapper))
47
48;;; Commentary: 42;;; Commentary:
49;;; 43;;;
50;;; This is a wrapper for the linker. Its purpose is to inspect the -L and 44;;; This is a wrapper for the linker. Its purpose is to inspect the -L and
@@ -70,6 +64,12 @@ exec @GUILE@ -c "(load-compiled \"@SELF@.go\") ($main (command-line))" "$@"
70;;; 64;;;
71;;; Code: 65;;; Code:
72 66
67(define-module (gnu build-support ld-wrapper)
68 #:use-module (srfi srfi-1)
69 #:use-module (ice-9 match)
70 #:autoload (ice-9 rdelim) (read-delimited)
71 #:export (ld-wrapper))
72
73(define %real-ld 73(define %real-ld
74 ;; Name of the linker that we wrap. 74 ;; Name of the linker that we wrap.
75 "@LD@") 75 "@LD@")
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index de1dd6ebd22..71eedb138ac 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -23,6 +23,14 @@
23;;; You should have received a copy of the GNU General Public License 23;;; You should have received a copy of the GNU General Public License
24;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 24;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
25 25
26;;; Commentary:
27;;;
28;;; This module provides tools to build tarballs of the "bootstrap binaries"
29;;; used in (gnu packages bootstrap). These statically-linked binaries are
30;;; taken for granted and used as the root of the whole bootstrap procedure.
31;;;
32;;; Code:
33
26(define-module (gnu packages make-bootstrap) 34(define-module (gnu packages make-bootstrap)
27 #:use-module (guix gexp) 35 #:use-module (guix gexp)
28 #:use-module (guix utils) 36 #:use-module (guix utils)
@@ -58,14 +66,6 @@
58 %guile-static-stripped 66 %guile-static-stripped
59 %guile-static-initrd)) 67 %guile-static-initrd))
60 68
61;;; Commentary:
62;;;
63;;; This module provides tools to build tarballs of the "bootstrap binaries"
64;;; used in (gnu packages bootstrap). These statically-linked binaries are
65;;; taken for granted and used as the root of the whole bootstrap procedure.
66;;;
67;;; Code:
68
69(define glibc-for-bootstrap 69(define glibc-for-bootstrap
70 (mlambdaq (base) 70 (mlambdaq (base)
71 "Return a libc deriving from BASE whose `system' and `popen' functions looks 71 "Return a libc deriving from BASE whose `system' and `popen' functions looks
diff --git a/gnu/packages/prometheus.scm b/gnu/packages/prometheus.scm
index 910ee9e3c9e..1ab3f367217 100644
--- a/gnu/packages/prometheus.scm
+++ b/gnu/packages/prometheus.scm
@@ -24,6 +24,15 @@
24;;; You should have received a copy of the GNU General Public License 24;;; You should have received a copy of the GNU General Public License
25;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 25;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
26 26
27;;; Commentary:
28;;;
29;;; Libraries and commands related to, or provided by Prometheus project
30;;; <https://prometheus.io>.
31;;;
32;;; Please: Try to add new module packages in alphabetic order.
33;;;
34;;; Code:
35
27(define-module (gnu packages prometheus) 36(define-module (gnu packages prometheus)
28 #:use-module ((guix licenses) #:prefix license:) 37 #:use-module ((guix licenses) #:prefix license:)
29 #:use-module (guix build-system go) 38 #:use-module (guix build-system go)
@@ -40,14 +49,6 @@
40 #:use-module (gnu packages golang-web) 49 #:use-module (gnu packages golang-web)
41 #:use-module (gnu packages golang-xyz)) 50 #:use-module (gnu packages golang-xyz))
42 51
43;;; Commentary:
44;;;
45;;; Libraries and commands related to, or provided by Prometheus project
46;;; <https://prometheus.io>.
47;;;
48;;; Please: Try to add new module packages in alphabetic order.
49;;;
50;;; Code:
51 52
52;;; 53;;;
53;;; Libraries: 54;;; Libraries:
diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index 69da97a8bc4..433bee7bf71 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -38,6 +38,14 @@
38;;; You should have received a copy of the GNU General Public License 38;;; You should have received a copy of the GNU General Public License
39;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 39;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
40 40
41;;; Commentary:
42;;;
43;;; Python packages to build... Python packages. Since they are bound to be
44;;; relied on by many, their dependencies should be kept minimal, and this
45;;; module should not depend on other modules containing Python packages.
46;;;
47;;; Code:
48
41(define-module (gnu packages python-build) 49(define-module (gnu packages python-build)
42 #:use-module (gnu packages) 50 #:use-module (gnu packages)
43 #:use-module (gnu packages bash) 51 #:use-module (gnu packages bash)
@@ -50,14 +58,6 @@
50 #:use-module (guix git-download) 58 #:use-module (guix git-download)
51 #:use-module (guix packages)) 59 #:use-module (guix packages))
52 60
53;;; Commentary:
54;;;
55;;; Python packages to build... Python packages. Since they are bound to be
56;;; relied on by many, their dependencies should be kept minimal, and this
57;;; module should not depend on other modules containing Python packages.
58;;;
59;;; Code:
60
61 61
62;;; These are dependencies used by the build systems contained herein; they 62;;; These are dependencies used by the build systems contained herein; they
63;;; feel a bit out of place but are kept here to prevent circular module 63;;; feel a bit out of place but are kept here to prevent circular module
diff --git a/gnu/packages/python-graphics.scm b/gnu/packages/python-graphics.scm
index e7e07302af8..57e35610c21 100644
--- a/gnu/packages/python-graphics.scm
+++ b/gnu/packages/python-graphics.scm
@@ -29,6 +29,15 @@
29;;; You should have received a copy of the GNU General Public License 29;;; You should have received a copy of the GNU General Public License
30;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 30;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
31 31
32;;; Commentary:
33;;;
34;;; Python modules which are meant to be used in GUI creation or mainly are
35;;; bindings to low level libraries such as Glue, Mesa, OpenGL, Xorg etc.
36;;;
37;;; Please: Try to add new module packages in alphabetic order.
38;;;
39;;; Code:
40
32(define-module (gnu packages python-graphics) 41(define-module (gnu packages python-graphics)
33 #:use-module ((guix licenses) #:prefix license:) 42 #:use-module ((guix licenses) #:prefix license:)
34 #:use-module (guix build-system pyproject) 43 #:use-module (guix build-system pyproject)
@@ -68,14 +77,6 @@
68 #:use-module (gnu packages video) 77 #:use-module (gnu packages video)
69 #:use-module (gnu packages xorg)) 78 #:use-module (gnu packages xorg))
70 79
71;;; Commentary:
72;;;
73;;; Python modules which are meant to be used in GUI creation or mainly are
74;;; bindings to low level libraries such as Glue, Mesa, OpenGL, Xorg etc.
75;;;
76;;; Please: Try to add new module packages in alphabetic order.
77;;;
78;;; Code:
79 80
80(define-public python-asyncgui 81(define-public python-asyncgui
81 (package 82 (package
diff --git a/gnu/packages/quantum.scm b/gnu/packages/quantum.scm
index 908a51773a4..5ca1846e353 100644
--- a/gnu/packages/quantum.scm
+++ b/gnu/packages/quantum.scm
@@ -18,6 +18,13 @@
18;;; You should have received a copy of the GNU General Public License 18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20 20
21;;; Commentary:
22;;;
23;;; Quantum computing and tensor operation module. For quantum mechanics
24;;; select (gnu packages physics) module.
25;;;
26;;; Code:
27
21(define-module (gnu packages quantum) 28(define-module (gnu packages quantum)
22 #:use-module (gnu packages) 29 #:use-module (gnu packages)
23 #:use-module (gnu packages check) 30 #:use-module (gnu packages check)
@@ -35,12 +42,6 @@
35 #:use-module ((guix licenses) #:prefix license:) 42 #:use-module ((guix licenses) #:prefix license:)
36 #:use-module (guix packages)) 43 #:use-module (guix packages))
37 44
38;;; Commentary:
39;;;
40;;; Quantum computing and tensor operation module. For quantum mechanics
41;;; select (gnu packages physics) module.
42;;;
43;;; Code:
44 45
45 46
46(define %cirq-version "1.7.0") 47(define %cirq-version "1.7.0")
diff --git a/gnu/packages/ruby-check.scm b/gnu/packages/ruby-check.scm
index 6535d8fd6e4..0406cf3fd2e 100644
--- a/gnu/packages/ruby-check.scm
+++ b/gnu/packages/ruby-check.scm
@@ -48,6 +48,12 @@
48;;; You should have received a copy of the GNU General Public License 48;;; You should have received a copy of the GNU General Public License
49;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 49;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
50 50
51;;; Commentary:
52;;;
53;;; Please: Try to add new module packages in alphabetic order.
54;;;
55;;; Code:
56
51(define-module (gnu packages ruby-check) 57(define-module (gnu packages ruby-check)
52 #:use-module ((guix licenses) #:prefix license:) 58 #:use-module ((guix licenses) #:prefix license:)
53 #:use-module (guix build-system ruby) 59 #:use-module (guix build-system ruby)
@@ -61,11 +67,6 @@
61 #:use-module (gnu packages ruby) 67 #:use-module (gnu packages ruby)
62 #:use-module (gnu packages ruby-xyz)) 68 #:use-module (gnu packages ruby-xyz))
63 69
64;;; Commentary:
65;;;
66;;; Please: Try to add new module packages in alphabetic order.
67;;;
68;;; Code:
69 70
70 71
71;; Bundler is yet another source of circular dependencies, so we must disable 72;; Bundler is yet another source of circular dependencies, so we must disable
diff --git a/gnu/packages/sqlite.scm b/gnu/packages/sqlite.scm
index 24a5f741ed3..972e84a6c44 100644
--- a/gnu/packages/sqlite.scm
+++ b/gnu/packages/sqlite.scm
@@ -31,6 +31,13 @@
31;;; You should have received a copy of the GNU General Public License 31;;; You should have received a copy of the GNU General Public License
32;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 32;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
33 33
34;;; Commentary:
35;;;
36;;; This module has been separated from (gnu packages databases) to reduce the
37;;; number of module references for core packages.
38;;;
39;;; Code:
40
34(define-module (gnu packages sqlite) 41(define-module (gnu packages sqlite)
35 #:use-module (gnu packages) 42 #:use-module (gnu packages)
36 #:use-module (gnu packages hurd) 43 #:use-module (gnu packages hurd)
@@ -45,11 +52,6 @@
45 #:use-module (ice-9 match) 52 #:use-module (ice-9 match)
46 #:use-module (srfi srfi-26)) 53 #:use-module (srfi srfi-26))
47 54
48;;; Commentary:
49;;;
50;;; This module has been separated from (gnu packages databases) to reduce the
51;;; number of module references for core packages.
52
53(define (sqlite-uri version year) 55(define (sqlite-uri version year)
54 (let ((numeric-version 56 (let ((numeric-version
55 (match (string-split version #\.) 57 (match (string-split version #\.)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index b8b55242eb4..6d961151d54 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -48,76 +48,6 @@
48;;; You should have received a copy of the GNU General Public License 48;;; You should have received a copy of the GNU General Public License
49;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 49;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
50 50
51(define-module (gnu packages tex)
52 #:use-module ((guix licenses) #:prefix license:)
53 #:use-module (guix gexp)
54 #:use-module (guix packages)
55 #:use-module (guix download)
56 #:use-module (guix build-system copy)
57 #:use-module (guix build-system gnu)
58 #:use-module (guix build-system perl)
59 #:use-module (guix build-system pyproject)
60 #:use-module (guix build-system qt)
61 #:use-module (guix build-system trivial)
62 #:use-module (guix build-system texlive)
63 #:use-module (guix utils)
64 #:use-module (guix deprecation)
65 #:use-module (guix gexp)
66 #:use-module (guix git-download)
67 #:use-module (guix svn-download)
68 #:use-module (gnu packages)
69 #:use-module (gnu packages algebra)
70 #:use-module (gnu packages aspell)
71 #:use-module (gnu packages autotools)
72 #:use-module (gnu packages bash)
73 #:use-module (gnu packages boost)
74 #:use-module (gnu packages check)
75 #:use-module (gnu packages compression)
76 #:use-module (gnu packages cmake)
77 #:use-module (gnu packages cpp)
78 #:use-module (gnu packages digest)
79 #:use-module (gnu packages lisp)
80 #:use-module (gnu packages fonts)
81 #:use-module (gnu packages fontutils)
82 #:use-module (gnu packages gd)
83 #:use-module (gnu packages ghostscript)
84 #:use-module (gnu packages graphviz)
85 #:use-module (gnu packages groff)
86 #:use-module (gnu packages gtk)
87 #:use-module (gnu packages icu4c)
88 #:use-module (gnu packages image)
89 #:use-module (gnu packages java)
90 #:use-module (gnu packages libreoffice)
91 #:use-module (gnu packages lua)
92 #:use-module (gnu packages maths)
93 #:use-module (gnu packages multiprecision)
94 #:use-module (gnu packages pdf)
95 #:use-module (gnu packages perl)
96 #:use-module (gnu packages perl-check)
97 #:use-module (gnu packages pkg-config)
98 #:use-module (gnu packages plotutils)
99 #:use-module (gnu packages python)
100 #:use-module (gnu packages python-build)
101 #:use-module (gnu packages python-xyz)
102 #:use-module (gnu packages qt)
103 #:use-module (gnu packages readline)
104 #:use-module (gnu packages ruby)
105 #:use-module (gnu packages ruby-xyz)
106 #:use-module (gnu packages shells)
107 #:use-module (gnu packages tcl)
108 #:use-module (gnu packages time)
109 #:use-module (gnu packages tls)
110 #:use-module (gnu packages base)
111 #:use-module (gnu packages gawk)
112 #:use-module (gnu packages web)
113 #:use-module (gnu packages xml)
114 #:use-module (gnu packages xorg)
115 #:use-module (gnu packages xdisorg)
116 #:use-module (gnu packages texinfo)
117 #:use-module (ice-9 ftw)
118 #:use-module (ice-9 match)
119 #:use-module ((srfi srfi-1) #:hide (zip)))
120
121;;; Commentary: 51;;; Commentary:
122;;; 52;;;
123;;; Guix provides two different TeX Live systems: one monolithic, the TEXLIVE 53;;; Guix provides two different TeX Live systems: one monolithic, the TEXLIVE
@@ -270,6 +200,76 @@
270;;; 200;;;
271;;; Code: 201;;; Code:
272 202
203(define-module (gnu packages tex)
204 #:use-module ((guix licenses) #:prefix license:)
205 #:use-module (guix gexp)
206 #:use-module (guix packages)
207 #:use-module (guix download)
208 #:use-module (guix build-system copy)
209 #:use-module (guix build-system gnu)
210 #:use-module (guix build-system perl)
211 #:use-module (guix build-system pyproject)
212 #:use-module (guix build-system qt)
213 #:use-module (guix build-system trivial)
214 #:use-module (guix build-system texlive)
215 #:use-module (guix utils)
216 #:use-module (guix deprecation)
217 #:use-module (guix gexp)
218 #:use-module (guix git-download)
219 #:use-module (guix svn-download)
220 #:use-module (gnu packages)
221 #:use-module (gnu packages algebra)
222 #:use-module (gnu packages aspell)
223 #:use-module (gnu packages autotools)
224 #:use-module (gnu packages bash)
225 #:use-module (gnu packages boost)
226 #:use-module (gnu packages check)
227 #:use-module (gnu packages compression)
228 #:use-module (gnu packages cmake)
229 #:use-module (gnu packages cpp)
230 #:use-module (gnu packages digest)
231 #:use-module (gnu packages lisp)
232 #:use-module (gnu packages fonts)
233 #:use-module (gnu packages fontutils)
234 #:use-module (gnu packages gd)
235 #:use-module (gnu packages ghostscript)
236 #:use-module (gnu packages graphviz)
237 #:use-module (gnu packages groff)
238 #:use-module (gnu packages gtk)
239 #:use-module (gnu packages icu4c)
240 #:use-module (gnu packages image)
241 #:use-module (gnu packages java)
242 #:use-module (gnu packages libreoffice)
243 #:use-module (gnu packages lua)
244 #:use-module (gnu packages maths)
245 #:use-module (gnu packages multiprecision)
246 #:use-module (gnu packages pdf)
247 #:use-module (gnu packages perl)
248 #:use-module (gnu packages perl-check)
249 #:use-module (gnu packages pkg-config)
250 #:use-module (gnu packages plotutils)
251 #:use-module (gnu packages python)
252 #:use-module (gnu packages python-build)
253 #:use-module (gnu packages python-xyz)
254 #:use-module (gnu packages qt)
255 #:use-module (gnu packages readline)
256 #:use-module (gnu packages ruby)
257 #:use-module (gnu packages ruby-xyz)
258 #:use-module (gnu packages shells)
259 #:use-module (gnu packages tcl)
260 #:use-module (gnu packages time)
261 #:use-module (gnu packages tls)
262 #:use-module (gnu packages base)
263 #:use-module (gnu packages gawk)
264 #:use-module (gnu packages web)
265 #:use-module (gnu packages xml)
266 #:use-module (gnu packages xorg)
267 #:use-module (gnu packages xdisorg)
268 #:use-module (gnu packages texinfo)
269 #:use-module (ice-9 ftw)
270 #:use-module (ice-9 match)
271 #:use-module ((srfi srfi-1) #:hide (zip)))
272
273(define-public texlive-source 273(define-public texlive-source
274 (package 274 (package
275 (name "texlive-source") 275 (name "texlive-source")
diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm
index 96824438c17..0c35bd8015c 100644
--- a/gnu/packages/toys.scm
+++ b/gnu/packages/toys.scm
@@ -25,6 +25,12 @@
25;;; You should have received a copy of the GNU General Public License 25;;; You should have received a copy of the GNU General Public License
26;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 26;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
27 27
28;;; Commentary:
29;;;
30;;; Please: Try to add new module packages in alphabetic order.
31;;;
32;;; Code:
33
28(define-module (gnu packages toys) 34(define-module (gnu packages toys)
29 #:use-module ((guix licenses) #:prefix license:) 35 #:use-module ((guix licenses) #:prefix license:)
30 #:use-module (guix build-system copy) 36 #:use-module (guix build-system copy)
@@ -54,11 +60,6 @@
54 #:use-module (gnu packages xml) 60 #:use-module (gnu packages xml)
55 #:use-module (gnu packages xorg)) 61 #:use-module (gnu packages xorg))
56 62
57;;; Commentary:
58;;;
59;;; Please: Try to add new module packages in alphabetic order.
60;;;
61;;; Code:
62 63
63(define-public cbonsai 64(define-public cbonsai
64 (package 65 (package
diff --git a/gnu/services.scm b/gnu/services.scm
index 097bfed5f1b..5f987f55a52 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -26,6 +26,31 @@
26;;; You should have received a copy of the GNU General Public License 26;;; You should have received a copy of the GNU General Public License
27;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 27;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
28 28
29;;; Commentary:
30;;;
31;;; This module defines a broad notion of "service types" and "services."
32;;;
33;;; A service type describe how its instances extend instances of other
34;;; service types. For instance, some services extend the instance of
35;;; ACCOUNT-SERVICE-TYPE by providing it with accounts and groups to create;
36;;; others extend SHEPHERD-ROOT-SERVICE-TYPE by passing it instances of
37;;; <shepherd-service>.
38;;;
39;;; When applicable, the service type defines how it can itself be extended,
40;;; by providing one procedure to compose extensions, and one procedure to
41;;; extend itself.
42;;;
43;;; A notable service type is SYSTEM-SERVICE-TYPE, which has a single
44;;; instance, which is the root of the service DAG. Its value is the
45;;; derivation that produces the 'system' directory as returned by
46;;; 'operating-system-derivation'.
47;;;
48;;; The 'fold-services' procedure can be passed a list of procedures, which it
49;;; "folds" by propagating extensions down the graph; it returns the root
50;;; service after the applying all its extensions.
51;;;
52;;; Code:
53
29(define-module (gnu services) 54(define-module (gnu services)
30 #:use-module (guix derivations) 55 #:use-module (guix derivations)
31 #:use-module (guix gexp) 56 #:use-module (guix gexp)
@@ -149,31 +174,6 @@
149 ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26805#16>. 174 ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26805#16>.
150 delete)) 175 delete))
151 176
152;;; Comment:
153;;;
154;;; This module defines a broad notion of "service types" and "services."
155;;;
156;;; A service type describe how its instances extend instances of other
157;;; service types. For instance, some services extend the instance of
158;;; ACCOUNT-SERVICE-TYPE by providing it with accounts and groups to create;
159;;; others extend SHEPHERD-ROOT-SERVICE-TYPE by passing it instances of
160;;; <shepherd-service>.
161;;;
162;;; When applicable, the service type defines how it can itself be extended,
163;;; by providing one procedure to compose extensions, and one procedure to
164;;; extend itself.
165;;;
166;;; A notable service type is SYSTEM-SERVICE-TYPE, which has a single
167;;; instance, which is the root of the service DAG. Its value is the
168;;; derivation that produces the 'system' directory as returned by
169;;; 'operating-system-derivation'.
170;;;
171;;; The 'fold-services' procedure can be passed a list of procedures, which it
172;;; "folds" by propagating extensions down the graph; it returns the root
173;;; service after the applying all its extensions.
174;;;
175;;; Code:
176
177(define-record-type <service-extension> 177(define-record-type <service-extension>
178 (service-extension target compute) 178 (service-extension target compute)
179 service-extension? 179 service-extension?
diff --git a/gnu/services/admin.scm b/gnu/services/admin.scm
index 907f7d37f4a..bad9d38e369 100644
--- a/gnu/services/admin.scm
+++ b/gnu/services/admin.scm
@@ -21,6 +21,13 @@
21;;; You should have received a copy of the GNU General Public License 21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 23
24;;; Commentary:
25;;;
26;;; This module provides basic system administration tools: log rotation,
27;;; unattended upgrades, etc.
28;;;
29;;; Code:
30
24(define-module (gnu services admin) 31(define-module (gnu services admin)
25 #:use-module (gnu system file-systems) 32 #:use-module (gnu system file-systems)
26 #:use-module (gnu packages admin) 33 #:use-module (gnu packages admin)
@@ -102,13 +109,6 @@
102 resize-file-system-configuration-btrfs-progs 109 resize-file-system-configuration-btrfs-progs
103 resize-file-system-configuration-bcachefs-tools)) 110 resize-file-system-configuration-bcachefs-tools))
104 111
105;;; Commentary:
106;;;
107;;; This module provides basic system administration tools: log rotation,
108;;; unattended upgrades, etc.
109;;;
110;;; Code:
111
112 112
113;;; 113;;;
114;;; Shepherd's log rotation service. 114;;; Shepherd's log rotation service.
diff --git a/gnu/services/audio.scm b/gnu/services/audio.scm
index 2981b89ed8c..2e17c02513b 100644
--- a/gnu/services/audio.scm
+++ b/gnu/services/audio.scm
@@ -19,6 +19,12 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; Audio related services
25;;;
26;;; Code:
27
22(define-module (gnu services audio) 28(define-module (gnu services audio)
23 #:use-module (guix gexp) 29 #:use-module (guix gexp)
24 #:use-module (guix deprecation) 30 #:use-module (guix deprecation)
@@ -163,12 +169,6 @@
163 snapserver-configuration-extra-content 169 snapserver-configuration-extra-content
164 snapserver-service-type)) 170 snapserver-service-type))
165 171
166;;; Commentary:
167;;;
168;;; Audio related services
169;;;
170;;; Code:
171
172(define (uglify-field-name field-name) 172(define (uglify-field-name field-name)
173 (let ((str (symbol->string field-name))) 173 (let ((str (symbol->string field-name)))
174 (string-join (string-split (if (string-suffix? "?" str) 174 (string-join (string-split (if (string-suffix? "?" str)
diff --git a/gnu/services/avahi.scm b/gnu/services/avahi.scm
index d0e6fedf59d..77d6f950b9f 100644
--- a/gnu/services/avahi.scm
+++ b/gnu/services/avahi.scm
@@ -16,6 +16,13 @@
16;;; You should have received a copy of the GNU General Public License 16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18 18
19;;; Commentary:
20;;;
21;;; This module provides service definitions for the Avahi
22;;; "zero-configuration" tool set.
23;;;
24;;; Code:
25
19(define-module (gnu services avahi) 26(define-module (gnu services avahi)
20 #:use-module (gnu services) 27 #:use-module (gnu services)
21 #:use-module (gnu services base) 28 #:use-module (gnu services base)
@@ -42,13 +49,6 @@
42 49
43 avahi-service-type)) 50 avahi-service-type))
44 51
45;;; Commentary:
46;;;
47;;; This module provides service definitions for the Avahi
48;;; "zero-configuration" tool set.
49;;;
50;;; Code:
51
52(define-record-type* <avahi-configuration> 52(define-record-type* <avahi-configuration>
53 avahi-configuration make-avahi-configuration 53 avahi-configuration make-avahi-configuration
54 avahi-configuration? 54 avahi-configuration?
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 5108187d1ee..4bfc484b898 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -40,6 +40,13 @@
40;;; You should have received a copy of the GNU General Public License 40;;; You should have received a copy of the GNU General Public License
41;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 41;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
42 42
43;;; Commentary:
44;;;
45;;; Base system services---i.e., services that 99% of the users will want to
46;;; use.
47;;;
48;;; Code:
49
43(define-module (gnu services base) 50(define-module (gnu services base)
44 #:use-module (guix store) 51 #:use-module (guix store)
45 #:use-module (guix deprecation) 52 #:use-module (guix deprecation)
@@ -321,13 +328,6 @@
321 328
322 %base-services)) 329 %base-services))
323 330
324;;; Commentary:
325;;;
326;;; Base system services---i.e., services that 99% of the users will want to
327;;; use.
328;;;
329;;; Code:
330
331 331
332 332
333;;; 333;;;
diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm
index 7a7c2a9e00e..f1ab9149f6a 100644
--- a/gnu/services/certbot.scm
+++ b/gnu/services/certbot.scm
@@ -24,6 +24,12 @@
24;;; You should have received a copy of the GNU General Public License 24;;; You should have received a copy of the GNU General Public License
25;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 25;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
26 26
27;;; Commentary:
28;;;
29;;; Automatically obtaining TLS certificates from Let's Encrypt.
30;;;
31;;; Code:
32
27(define-module (gnu services certbot) 33(define-module (gnu services certbot)
28 #:use-module (gnu services) 34 #:use-module (gnu services)
29 #:use-module (gnu services base) 35 #:use-module (gnu services base)
@@ -42,12 +48,6 @@
42 certbot-configuration? 48 certbot-configuration?
43 certificate-configuration)) 49 certificate-configuration))
44 50
45;;; Commentary:
46;;;
47;;; Automatically obtaining TLS certificates from Let's Encrypt.
48;;;
49;;; Code:
50
51 51
52(define-record-type* <certificate-configuration> 52(define-record-type* <certificate-configuration>
53 certificate-configuration make-certificate-configuration 53 certificate-configuration make-certificate-configuration
diff --git a/gnu/services/cgit.scm b/gnu/services/cgit.scm
index 684ab73f76d..f2d1be04f05 100644
--- a/gnu/services/cgit.scm
+++ b/gnu/services/cgit.scm
@@ -19,6 +19,16 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; This module provides a service definition for the Cgit a web frontend for
25;;; Git repositories written in C.
26;;;
27;;; Note: fields of <cgit-configuration> and <repository-cgit-configuration>
28;;; should be specified in the specific order.
29;;;
30;;; Code:
31
22(define-module (gnu services cgit) 32(define-module (gnu services cgit)
23 #:use-module (gnu packages admin) 33 #:use-module (gnu packages admin)
24 #:use-module (gnu packages version-control) 34 #:use-module (gnu packages version-control)
@@ -42,16 +52,6 @@
42 opaque-cgit-configuration 52 opaque-cgit-configuration
43 cgit-service-type)) 53 cgit-service-type))
44 54
45;;; Commentary:
46;;;
47;;; This module provides a service definition for the Cgit a web frontend for
48;;; Git repositories written in C.
49;;;
50;;; Note: fields of <cgit-configuration> and <repository-cgit-configuration>
51;;; should be specified in the specific order.
52;;;
53;;; Code:
54
55(define %cgit-configuration-nginx 55(define %cgit-configuration-nginx
56 (nginx-server-configuration 56 (nginx-server-configuration
57 (root cgit) 57 (root cgit)
diff --git a/gnu/services/ci.scm b/gnu/services/ci.scm
index 08416e99620..61c0166eed2 100644
--- a/gnu/services/ci.scm
+++ b/gnu/services/ci.scm
@@ -19,6 +19,13 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;;; Commentary:
23;;;
24;;; This module implements a service that to run instances of Laminar, a
25;;; continuous integration tool.
26;;;
27;;;; Code:
28
22(define-module (gnu services ci) 29(define-module (gnu services ci)
23 #:use-module (guix gexp) 30 #:use-module (guix gexp)
24 #:use-module (guix records) 31 #:use-module (guix records)
@@ -59,13 +66,6 @@
59 66
60 forgejo-runner-service-type)) 67 forgejo-runner-service-type))
61 68
62;;;; Commentary:
63;;;
64;;; This module implements a service that to run instances of Laminar, a
65;;; continuous integration tool.
66;;;
67;;;; Code:
68
69(define-record-type* <laminar-configuration> 69(define-record-type* <laminar-configuration>
70 laminar-configuration make-laminar-configuration 70 laminar-configuration make-laminar-configuration
71 laminar-configuration? 71 laminar-configuration?
diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm
index d42f04f1161..956f4451fd1 100644
--- a/gnu/services/configuration.scm
+++ b/gnu/services/configuration.scm
@@ -24,6 +24,12 @@
24;;; You should have received a copy of the GNU General Public License 24;;; You should have received a copy of the GNU General Public License
25;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 25;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
26 26
27;;; Commentary:
28;;;
29;;; Syntax for creating Scheme bindings to complex configuration files.
30;;;
31;;; Code:
32
27(define-module (gnu services configuration) 33(define-module (gnu services configuration)
28 #:use-module (guix packages) 34 #:use-module (guix packages)
29 #:use-module (guix records) 35 #:use-module (guix records)
@@ -92,12 +98,6 @@
92 generic-serialize-alist-entry 98 generic-serialize-alist-entry
93 generic-serialize-alist)) 99 generic-serialize-alist))
94 100
95;;; Commentary:
96;;;
97;;; Syntax for creating Scheme bindings to complex configuration files.
98;;;
99;;; Code:
100
101(define-condition-type &configuration-error &error 101(define-condition-type &configuration-error &error
102 configuration-error?) 102 configuration-error?)
103 103
diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm
index b594fe78d7a..77d7cab96ce 100644
--- a/gnu/services/cuirass.scm
+++ b/gnu/services/cuirass.scm
@@ -21,6 +21,13 @@
21;;; You should have received a copy of the GNU General Public License 21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 23
24;;;; Commentary:
25;;;
26;;; This module implements a service that to run instances of Cuirass, a
27;;; continuous integration tool.
28;;;
29;;;; Code:
30
24(define-module (gnu services cuirass) 31(define-module (gnu services cuirass)
25 #:use-module (guix channels) 32 #:use-module (guix channels)
26 #:use-module (guix gexp) 33 #:use-module (guix gexp)
@@ -50,13 +57,6 @@
50 cuirass-remote-worker-configuration? 57 cuirass-remote-worker-configuration?
51 cuirass-remote-worker-service-type)) 58 cuirass-remote-worker-service-type))
52 59
53;;;; Commentary:
54;;;
55;;; This module implements a service that to run instances of Cuirass, a
56;;; continuous integration tool.
57;;;
58;;;; Code:
59
60(define %cuirass-default-database 60(define %cuirass-default-database
61 "dbname=cuirass") 61 "dbname=cuirass")
62 62
diff --git a/gnu/services/cups.scm b/gnu/services/cups.scm
index 27aac7a16ac..e2102a07f8b 100644
--- a/gnu/services/cups.scm
+++ b/gnu/services/cups.scm
@@ -22,6 +22,12 @@
22;;; You should have received a copy of the GNU General Public License 22;;; You should have received a copy of the GNU General Public License
23;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 23;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
24 24
25;;; Commentary:
26;;;
27;;; Service defininition for the CUPS printing system.
28;;;
29;;; Code:
30
25(define-module (gnu services cups) 31(define-module (gnu services cups)
26 #:use-module (gnu services) 32 #:use-module (gnu services)
27 #:use-module (gnu services shepherd) 33 #:use-module (gnu services shepherd)
@@ -47,12 +53,6 @@
47 operation-access-control 53 operation-access-control
48 method-access-control)) 54 method-access-control))
49 55
50;;; Commentary:
51;;;
52;;; Service defininition for the CUPS printing system.
53;;;
54;;; Code:
55
56(define %cups-accounts 56(define %cups-accounts
57 (list (or 57 (list (or
58 ;; The "lp" group should already exist; try to reuse it. 58 ;; The "lp" group should already exist; try to reuse it.
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index 6742032f112..9ee30192eb5 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -28,6 +28,12 @@
28;;; You should have received a copy of the GNU General Public License 28;;; You should have received a copy of the GNU General Public License
29;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 29;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
30 30
31;;; Commentary:
32;;;
33;;; Database services.
34;;;
35;;; Code:
36
31(define-module (gnu services databases) 37(define-module (gnu services databases)
32 #:use-module (gnu services) 38 #:use-module (gnu services)
33 #:use-module (gnu services base) 39 #:use-module (gnu services base)
@@ -106,12 +112,6 @@
106 redis-configuration? 112 redis-configuration?
107 redis-service-type)) 113 redis-service-type))
108 114
109;;; Commentary:
110;;;
111;;; Database services.
112;;;
113;;; Code:
114
115(define %default-postgres-hba 115(define %default-postgres-hba
116 (plain-file "pg_hba.conf" 116 (plain-file "pg_hba.conf"
117 " 117 "
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index c9fe5024319..e481361b9e6 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -40,6 +40,12 @@
40;;; You should have received a copy of the GNU General Public License 40;;; You should have received a copy of the GNU General Public License
41;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 41;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
42 42
43;;; Commentary:
44;;;
45;;; This module contains service definitions for a "desktop" environment.
46;;;
47;;; Code:
48
43(define-module (gnu services desktop) 49(define-module (gnu services desktop)
44 #:use-module ((gnu home services utils) #:select (object->camel-case-string)) 50 #:use-module ((gnu home services utils) #:select (object->camel-case-string))
45 #:use-module (gnu services) 51 #:use-module (gnu services)
@@ -243,12 +249,6 @@
243 249
244 %desktop-services)) 250 %desktop-services))
245 251
246;;; Commentary:
247;;;
248;;; This module contains service definitions for a "desktop" environment.
249;;;
250;;; Code:
251
252 252
253;;; 253;;;
254;;; Helpers. 254;;; Helpers.
diff --git a/gnu/services/getmail.scm b/gnu/services/getmail.scm
index b44ca2ae3de..bea61d21a00 100644
--- a/gnu/services/getmail.scm
+++ b/gnu/services/getmail.scm
@@ -16,6 +16,12 @@
16;;; You should have received a copy of the GNU General Public License 16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18 18
19;;; Commentary:
20;;;
21;;; Service for the getmail mail retriever.
22;;;
23;;; Code:
24
19(define-module (gnu services getmail) 25(define-module (gnu services getmail)
20 #:use-module (gnu services) 26 #:use-module (gnu services)
21 #:use-module (gnu services base) 27 #:use-module (gnu services base)
@@ -41,12 +47,6 @@
41 getmail-configuration 47 getmail-configuration
42 getmail-service-type)) 48 getmail-service-type))
43 49
44;;; Commentary:
45;;;
46;;; Service for the getmail mail retriever.
47;;;
48;;; Code:
49
50(define (uglify-field-name field-name) 50(define (uglify-field-name field-name)
51 (let ((str (symbol->string field-name))) 51 (let ((str (symbol->string field-name)))
52 (string-join (string-split (if (string-suffix? "?" str) 52 (string-join (string-split (if (string-suffix? "?" str)
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index adf4990fde4..93f526d1c08 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -19,6 +19,12 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;;; Commentary:
23;;;
24;;; Services specifically related to GNU Guix.
25;;;
26;;;; Code:
27
22(define-module (gnu services guix) 28(define-module (gnu services guix)
23 #:use-module (srfi srfi-1) 29 #:use-module (srfi srfi-1)
24 #:use-module (ice-9 match) 30 #:use-module (ice-9 match)
@@ -165,12 +171,6 @@
165 shared-cache-configuration 171 shared-cache-configuration
166 user-cache)) 172 user-cache))
167 173
168;;;; Commentary:
169;;;
170;;; Services specifically related to GNU Guix.
171;;;
172;;;; Code:
173
174(define-record-type* <guix-build-coordinator-configuration> 174(define-record-type* <guix-build-coordinator-configuration>
175 guix-build-coordinator-configuration make-guix-build-coordinator-configuration 175 guix-build-coordinator-configuration make-guix-build-coordinator-configuration
176 guix-build-coordinator-configuration? 176 guix-build-coordinator-configuration?
diff --git a/gnu/services/herd.scm b/gnu/services/herd.scm
index d276ba1b74c..777a8f8a3ae 100644
--- a/gnu/services/herd.scm
+++ b/gnu/services/herd.scm
@@ -18,6 +18,15 @@
18;;; You should have received a copy of the GNU General Public License 18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20 20
21;;; Commentary:
22;;;
23;;; This module provides an interface to the GNU Shepherd, similar to the
24;;; 'herd' command. Essentially it implements a subset of the (shepherd comm)
25;;; module, but focusing only on the parts relevant to 'guix system
26;;; reconfigure'.
27;;;
28;;; Code:
29
21(define-module (gnu services herd) 30(define-module (gnu services herd)
22 #:use-module (srfi srfi-1) 31 #:use-module (srfi srfi-1)
23 #:use-module (srfi srfi-9) 32 #:use-module (srfi srfi-9)
@@ -63,15 +72,6 @@
63 restart-service 72 restart-service
64 wait-for-service)) 73 wait-for-service))
65 74
66;;; Commentary:
67;;;
68;;; This module provides an interface to the GNU Shepherd, similar to the
69;;; 'herd' command. Essentially it implements a subset of the (shepherd comm)
70;;; module, but focusing only on the parts relevant to 'guix system
71;;; reconfigure'.
72;;;
73;;; Code:
74
75(define %shepherd-socket-file 75(define %shepherd-socket-file
76 (let ((uid (getuid))) 76 (let ((uid (getuid)))
77 (make-parameter (if (zero? uid) ;root 77 (make-parameter (if (zero? uid) ;root
diff --git a/gnu/services/hurd.scm b/gnu/services/hurd.scm
index 1ee38e8cd01..53fdfb86043 100644
--- a/gnu/services/hurd.scm
+++ b/gnu/services/hurd.scm
@@ -16,6 +16,12 @@
16;;; You should have received a copy of the GNU General Public License 16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18 18
19;;; Commentary:
20;;;
21;;; This module implements services for the Hurd.
22;;;
23;;; Code:
24
19(define-module (gnu services hurd) 25(define-module (gnu services hurd)
20 #:use-module (gnu packages admin) 26 #:use-module (gnu packages admin)
21 #:use-module (gnu packages hurd) 27 #:use-module (gnu packages hurd)
@@ -33,12 +39,6 @@
33 hurd-login-configuration 39 hurd-login-configuration
34 hurd-login-service-type)) 40 hurd-login-service-type))
35 41
36;;; Commentary:
37;;;
38;;; This module implements services for the Hurd.
39;;;
40;;; Code:
41
42;;; 42;;;
43;;; The Hurd VGA console service. 43;;; The Hurd VGA console service.
44;;; 44;;;
diff --git a/gnu/services/lirc.scm b/gnu/services/lirc.scm
index 92784b65ca6..923cf83137a 100644
--- a/gnu/services/lirc.scm
+++ b/gnu/services/lirc.scm
@@ -17,6 +17,12 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; LIRC service.
23;;;
24;;; Code:
25
20(define-module (gnu services lirc) 26(define-module (gnu services lirc)
21 #:use-module (gnu services) 27 #:use-module (gnu services)
22 #:use-module (gnu services shepherd) 28 #:use-module (gnu services shepherd)
@@ -30,12 +36,6 @@
30 lirc-service ; deprecated 36 lirc-service ; deprecated
31 lirc-service-type)) 37 lirc-service-type))
32 38
33;;; Commentary:
34;;;
35;;; LIRC service.
36;;;
37;;; Code:
38
39(define-record-type* <lirc-configuration> 39(define-record-type* <lirc-configuration>
40 lirc-configuration make-lirc-configuration 40 lirc-configuration make-lirc-configuration
41 lirc-configuation? 41 lirc-configuation?
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index d31cad5645d..93eea095853 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -27,6 +27,13 @@
27;;; 27;;;
28;;; Some of the help text was taken from the default dovecot.conf files. 28;;; Some of the help text was taken from the default dovecot.conf files.
29 29
30;;; Commentary:
31;;;
32;;; This module provides service definitions for the Dovecot POP3 and IMAP
33;;; mail server.
34;;;
35;;; Code:
36
30(define-module (gnu services mail) 37(define-module (gnu services mail)
31 #:use-module (gnu services) 38 #:use-module (gnu services)
32 #:use-module (gnu services base) 39 #:use-module (gnu services base)
@@ -105,13 +112,6 @@
105 %default-rspamd-config-file 112 %default-rspamd-config-file
106 %default-rspamd-group)) 113 %default-rspamd-group))
107 114
108;;; Commentary:
109;;;
110;;; This module provides service definitions for the Dovecot POP3 and IMAP
111;;; mail server.
112;;;
113;;; Code:
114
115(define (uglify-field-name field-name) 115(define (uglify-field-name field-name)
116 (let ((str (symbol->string field-name))) 116 (let ((str (symbol->string field-name)))
117 (string-join (string-split (if (string-suffix? "?" str) 117 (string-join (string-split (if (string-suffix? "?" str)
diff --git a/gnu/services/mcron.scm b/gnu/services/mcron.scm
index 68d02ef4d7c..c8099480b84 100644
--- a/gnu/services/mcron.scm
+++ b/gnu/services/mcron.scm
@@ -18,6 +18,21 @@
18;;; You should have received a copy of the GNU General Public License 18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20 20
21;;; Commentary:
22;;;
23;;; This module implements a service that to run instances of GNU mcron, a
24;;; periodic job execution daemon. Example of a service:
25;;
26;; (service mcron-service-type
27;; (mcron-configuration
28;; (jobs (list #~(job next-second-from
29;; (lambda ()
30;; (call-with-output-file "/dev/console"
31;; (lambda (port)
32;; (display "hello!\n" port)))))))))
33;;;
34;;; Code:
35
21(define-module (gnu services mcron) 36(define-module (gnu services mcron)
22 #:use-module (gnu services) 37 #:use-module (gnu services)
23 #:use-module (gnu services shepherd) 38 #:use-module (gnu services shepherd)
@@ -39,21 +54,6 @@
39 54
40 mcron-service-type)) 55 mcron-service-type))
41 56
42;;; Commentary:
43;;;
44;;; This module implements a service that to run instances of GNU mcron, a
45;;; periodic job execution daemon. Example of a service:
46;;
47;; (service mcron-service-type
48;; (mcron-configuration
49;; (jobs (list #~(job next-second-from
50;; (lambda ()
51;; (call-with-output-file "/dev/console"
52;; (lambda (port)
53;; (display "hello!\n" port)))))))))
54;;;
55;;; Code:
56
57;; Configuration of mcron. 57;; Configuration of mcron.
58;; XXX: 'define-configuration' cannot be used here due to the need for 58;; XXX: 'define-configuration' cannot be used here due to the need for
59;; 'thunked' and 'innate' fields as well as 'this-mcron-configuration'. 59;; 'thunked' and 'innate' fields as well as 'this-mcron-configuration'.
diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm
index 0be175d8af2..79c8d2a312c 100644
--- a/gnu/services/messaging.scm
+++ b/gnu/services/messaging.scm
@@ -22,6 +22,12 @@
22;;; You should have received a copy of the GNU General Public License 22;;; You should have received a copy of the GNU General Public License
23;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 23;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
24 24
25;;; Commentary:
26;;;
27;;; Messaging services.
28;;;
29;;; Code:
30
25(define-module (gnu services messaging) 31(define-module (gnu services messaging)
26 #:use-module ((gnu home services utils) #:select (object->camel-case-string)) 32 #:use-module ((gnu home services utils) #:select (object->camel-case-string))
27 #:use-module (gnu packages admin) 33 #:use-module (gnu packages admin)
@@ -254,12 +260,6 @@
254 zulip-irc-bridge-configuration 260 zulip-irc-bridge-configuration
255 zulip-irc-bridge-service-type)) 261 zulip-irc-bridge-service-type))
256 262
257;;; Commentary:
258;;;
259;;; Messaging services.
260;;;
261;;; Code:
262
263(define-syntax define-all-configurations 263(define-syntax define-all-configurations
264 (lambda (stx) 264 (lambda (stx)
265 (define-syntax-rule (id ctx parts ...) 265 (define-syntax-rule (id ctx parts ...)
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 752f3e3e890..5cce50010dd 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -41,6 +41,12 @@
41;;; You should have received a copy of the GNU General Public License 41;;; You should have received a copy of the GNU General Public License
42;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 42;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
43 43
44;;; Commentary:
45;;;
46;;; Networking services.
47;;;
48;;; Code:
49
44(define-module (gnu services networking) 50(define-module (gnu services networking)
45 #:use-module (gnu home services utils) 51 #:use-module (gnu home services utils)
46 #:use-module (gnu services) 52 #:use-module (gnu services)
@@ -308,12 +314,6 @@
308 keepalived-configuration? 314 keepalived-configuration?
309 keepalived-service-type)) 315 keepalived-service-type))
310 316
311;;; Commentary:
312;;;
313;;; Networking services.
314;;;
315;;; Code:
316
317(define %unroutable-ipv4 317(define %unroutable-ipv4
318 ;; Unroutable address, as per <https://www.rfc-editor.org/rfc/rfc5737>. 318 ;; Unroutable address, as per <https://www.rfc-editor.org/rfc/rfc5737>.
319 "203.0.113.1") 319 "203.0.113.1")
diff --git a/gnu/services/nix.scm b/gnu/services/nix.scm
index 83ba78ce7e6..46f5c975056 100644
--- a/gnu/services/nix.scm
+++ b/gnu/services/nix.scm
@@ -17,6 +17,12 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; This module provides a service definition for the Nix daemon.
23;;;
24;;; Code:
25
20(define-module (gnu services nix) 26(define-module (gnu services nix)
21 #:use-module (gnu packages admin) 27 #:use-module (gnu packages admin)
22 #:use-module (gnu packages bash) 28 #:use-module (gnu packages bash)
@@ -42,12 +48,6 @@
42 nix-configuration 48 nix-configuration
43 nix-configuration?)) 49 nix-configuration?))
44 50
45;;; Commentary:
46;;;
47;;; This module provides a service definition for the Nix daemon.
48;;;
49;;; Code:
50
51(define-record-type* <nix-configuration> 51(define-record-type* <nix-configuration>
52 nix-configuration make-nix-configuration 52 nix-configuration make-nix-configuration
53 nix-configuration? 53 nix-configuration?
diff --git a/gnu/services/rsync.scm b/gnu/services/rsync.scm
index c9de8e710c0..fcdfed34db2 100644
--- a/gnu/services/rsync.scm
+++ b/gnu/services/rsync.scm
@@ -18,6 +18,13 @@
18;;; You should have received a copy of the GNU General Public License 18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20 20
21;;;; Commentary:
22;;;
23;;; This module implements a service that to run instance of Rsync,
24;;; files synchronization tool.
25;;;
26;;;; Code:
27
21(define-module (gnu services rsync) 28(define-module (gnu services rsync)
22 #:use-module ((gnu build linux-container) #:select (%namespaces)) 29 #:use-module ((gnu build linux-container) #:select (%namespaces))
23 #:use-module (gnu services) 30 #:use-module (gnu services)
@@ -50,13 +57,6 @@
50 57
51 rsync-service-type)) 58 rsync-service-type))
52 59
53;;;; Commentary:
54;;;
55;;; This module implements a service that to run instance of Rsync,
56;;; files synchronization tool.
57;;;
58;;;; Code:
59
60(define-record-type* <rsync-configuration> 60(define-record-type* <rsync-configuration>
61 rsync-configuration 61 rsync-configuration
62 make-rsync-configuration 62 make-rsync-configuration
diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm
index b1e8b040375..1a8eea67757 100644
--- a/gnu/services/shepherd.scm
+++ b/gnu/services/shepherd.scm
@@ -20,6 +20,12 @@
20;;; You should have received a copy of the GNU General Public License 20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22 22
23;;; Commentary:
24;;;
25;;; Instantiating system services as a shepherd configuration file.
26;;;
27;;; Code:
28
23(define-module (gnu services shepherd) 29(define-module (gnu services shepherd)
24 #:use-module (guix ui) 30 #:use-module (guix ui)
25 #:use-module (guix sets) 31 #:use-module (guix sets)
@@ -101,13 +107,6 @@
101 107
102 assert-valid-graph)) 108 assert-valid-graph))
103 109
104;;; Commentary:
105;;;
106;;; Instantiating system services as a shepherd configuration file.
107;;;
108;;; Code:
109
110
111(define-record-type* <shepherd-configuration> 110(define-record-type* <shepherd-configuration>
112 shepherd-configuration make-shepherd-configuration 111 shepherd-configuration make-shepherd-configuration
113 shepherd-configuration? 112 shepherd-configuration?
diff --git a/gnu/services/sound.scm b/gnu/services/sound.scm
index 4c319153448..cf535eb6e18 100644
--- a/gnu/services/sound.scm
+++ b/gnu/services/sound.scm
@@ -20,6 +20,12 @@
20;;; You should have received a copy of the GNU General Public License 20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22 22
23;;; Commentary:
24;;;
25;;; Sound services.
26;;;
27;;; Code:
28
23(define-module (gnu services sound) 29(define-module (gnu services sound)
24 #:use-module (gnu services base) 30 #:use-module (gnu services base)
25 #:use-module (gnu services configuration) 31 #:use-module (gnu services configuration)
@@ -79,12 +85,6 @@
79 speakersafetyd-configuration? 85 speakersafetyd-configuration?
80 speakersafetyd-service-type)) 86 speakersafetyd-service-type))
81 87
82;;; Commentary:
83;;;
84;;; Sound services.
85;;;
86;;; Code:
87
88 88
89;;; 89;;;
90;;; ALSA 90;;; ALSA
diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm
index e167d2f689f..a6ecd06d35a 100644
--- a/gnu/services/ssh.scm
+++ b/gnu/services/ssh.scm
@@ -24,6 +24,13 @@
24;;; You should have received a copy of the GNU General Public License 24;;; You should have received a copy of the GNU General Public License
25;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 25;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
26 26
27;;; Commentary:
28;;;
29;;; This module implements secure shell (SSH) services.
30;;;
31;;; OpenSSH.
32;;;
33
27(define-module (gnu services ssh) 34(define-module (gnu services ssh)
28 #:use-module (gnu packages ssh) 35 #:use-module (gnu packages ssh)
29 #:use-module (gnu packages admin) 36 #:use-module (gnu packages admin)
@@ -90,13 +97,6 @@
90 webssh-service-type 97 webssh-service-type
91 %webssh-configuration-nginx)) 98 %webssh-configuration-nginx))
92 99
93;;; Commentary:
94;;;
95;;; This module implements secure shell (SSH) services.
96;;;
97;;; OpenSSH.
98;;;
99
100(define-record-type* <openssh-configuration> 100(define-record-type* <openssh-configuration>
101 openssh-configuration make-openssh-configuration 101 openssh-configuration make-openssh-configuration
102 openssh-configuration? 102 openssh-configuration?
diff --git a/gnu/services/syncthing.scm b/gnu/services/syncthing.scm
index 577672ab0c5..0d5e7cc8a94 100644
--- a/gnu/services/syncthing.scm
+++ b/gnu/services/syncthing.scm
@@ -18,6 +18,12 @@
18;;; You should have received a copy of the GNU General Public License 18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20 20
21;;; Commentary:
22;;;
23;;; This module provides a service definition for the syncthing service.
24;;;
25;;; Code:
26
21(define-module (gnu services syncthing) 27(define-module (gnu services syncthing)
22 #:use-module (gnu packages syncthing) 28 #:use-module (gnu packages syncthing)
23 #:use-module (gnu services) 29 #:use-module (gnu services)
@@ -41,12 +47,6 @@
41 syncthing-shepherd-service 47 syncthing-shepherd-service
42 syncthing-files-service)) 48 syncthing-files-service))
43 49
44;;; Commentary:
45;;;
46;;; This module provides a service definition for the syncthing service.
47;;;
48;;; Code:
49
50(define (bool->xml-string bool) 50(define (bool->xml-string bool)
51 ;; add compatibility for the short duration where #f was specified as 51 ;; add compatibility for the short duration where #f was specified as
52 ;; "false" 52 ;; "false"
diff --git a/gnu/services/upnp.scm b/gnu/services/upnp.scm
index 16c32463534..70b242e5980 100644
--- a/gnu/services/upnp.scm
+++ b/gnu/services/upnp.scm
@@ -16,6 +16,12 @@
16;;; You should have received a copy of the GNU General Public License 16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18 18
19;;; Commentary:
20;;;
21;;; UPnP services.
22;;;
23;;; Code:
24
19(define-module (gnu services upnp) 25(define-module (gnu services upnp)
20 #:use-module (gnu build linux-container) 26 #:use-module (gnu build linux-container)
21 #:use-module (gnu packages admin) 27 #:use-module (gnu packages admin)
@@ -54,12 +60,6 @@
54 readymedia-activation 60 readymedia-activation
55 readymedia-shepherd-service)) 61 readymedia-shepherd-service))
56 62
57;;; Commentary:
58;;;
59;;; UPnP services.
60;;;
61;;; Code:
62
63(define* (%readymedia-default-cache-directory #:key (home-service? #f)) 63(define* (%readymedia-default-cache-directory #:key (home-service? #f))
64 (if home-service? 64 (if home-service?
65 ".cache/readymedia" 65 ".cache/readymedia"
diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm
index 55af92c9f5a..8efa4996c5b 100644
--- a/gnu/services/version-control.scm
+++ b/gnu/services/version-control.scm
@@ -24,6 +24,12 @@
24;;; You should have received a copy of the GNU General Public License 24;;; You should have received a copy of the GNU General Public License
25;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 25;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
26 26
27;;; Commentary:
28;;;
29;;; Version Control related services.
30;;;
31;;; Code:
32
27(define-module (gnu services version-control) 33(define-module (gnu services version-control)
28 #:use-module (gnu services) 34 #:use-module (gnu services)
29 #:use-module (gnu services base) 35 #:use-module (gnu services base)
@@ -135,12 +141,6 @@
135 141
136 fossil-service-type)) 142 fossil-service-type))
137 143
138;;; Commentary:
139;;;
140;;; Version Control related services.
141;;;
142;;; Code:
143
144 144
145;;; 145;;;
146;;; Git daemon. 146;;; Git daemon.
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 4a323dbd96e..351a7daf6dd 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -37,6 +37,12 @@
37;;; You should have received a copy of the GNU General Public License 37;;; You should have received a copy of the GNU General Public License
38;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 38;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
39 39
40;;; Commentary:
41;;;
42;;; Web services.
43;;;
44;;; Code:
45
40(define-module (gnu services web) 46(define-module (gnu services web)
41 #:use-module (gnu services) 47 #:use-module (gnu services)
42 #:use-module (gnu services shepherd) 48 #:use-module (gnu services shepherd)
@@ -390,12 +396,6 @@
390 396
391 miniflux-service-type)) 397 miniflux-service-type))
392 398
393;;; Commentary:
394;;;
395;;; Web services.
396;;;
397;;; Code:
398
399(define-record-type* <httpd-module> 399(define-record-type* <httpd-module>
400 httpd-module make-httpd-module 400 httpd-module make-httpd-module
401 httpd-module? 401 httpd-module?
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index a65dc20244c..5f8065b06d5 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -33,6 +33,12 @@
33;;; You should have received a copy of the GNU General Public License 33;;; You should have received a copy of the GNU General Public License
34;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 34;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
35 35
36;;; Commentary:
37;;;
38;;; Services that relate to the X Window System.
39;;;
40;;; Code:
41
36(define-module (gnu services xorg) 42(define-module (gnu services xorg)
37 #:autoload (gnu services sddm) (sddm-service-type) 43 #:autoload (gnu services sddm) (sddm-service-type)
38 #:use-module (gnu artwork) 44 #:use-module (gnu artwork)
@@ -144,12 +150,6 @@
144 handle-xorg-configuration 150 handle-xorg-configuration
145 set-xorg-configuration)) 151 set-xorg-configuration))
146 152
147;;; Commentary:
148;;;
149;;; Services that relate to the X Window System.
150;;;
151;;; Code:
152
153(define* (default-xorg-modules 153(define* (default-xorg-modules
154 #:optional 154 #:optional
155 (system (or (and=> 155 (system (or (and=>
diff --git a/gnu/system.scm b/gnu/system.scm
index bfcb4025a75..72f690a4050 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -32,6 +32,12 @@
32;;; You should have received a copy of the GNU General Public License 32;;; You should have received a copy of the GNU General Public License
33;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 33;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
34 34
35;;; Commentary:
36;;;
37;;; This module supports whole-system configuration.
38;;;
39;;; Code:
40
35(define-module (gnu system) 41(define-module (gnu system)
36 #:use-module (guix inferior) 42 #:use-module (guix inferior)
37 #:use-module (guix store) 43 #:use-module (guix store)
@@ -190,12 +196,6 @@
190 %base-firmware 196 %base-firmware
191 %default-kernel-arguments)) 197 %default-kernel-arguments))
192 198
193;;; Commentary:
194;;;
195;;; This module supports whole-system configuration.
196;;;
197;;; Code:
198
199(define* (bootable-kernel-arguments system root-device version) 199(define* (bootable-kernel-arguments system root-device version)
200 "Return a list of kernel arguments (gexps) to boot SYSTEM from ROOT-DEVICE. 200 "Return a list of kernel arguments (gexps) to boot SYSTEM from ROOT-DEVICE.
201VERSION is the target version of the boot-parameters record." 201VERSION is the target version of the boot-parameters record."
diff --git a/gnu/system/accounts.scm b/gnu/system/accounts.scm
index 52dbbbf3a33..de91efe669a 100644
--- a/gnu/system/accounts.scm
+++ b/gnu/system/accounts.scm
@@ -17,6 +17,14 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; Data structures representing user accounts and user groups. This is meant
23;;; to be used both on the host side and at run time--e.g., in activation
24;;; snippets.
25;;;
26;;; Code:
27
20(define-module (gnu system accounts) 28(define-module (gnu system accounts)
21 #:use-module (guix records) 29 #:use-module (guix records)
22 #:use-module (ice-9 match) 30 #:use-module (ice-9 match)
@@ -55,15 +63,6 @@
55 63
56 default-shell)) 64 default-shell))
57 65
58
59;;; Commentary:
60;;;
61;;; Data structures representing user accounts and user groups. This is meant
62;;; to be used both on the host side and at run time--e.g., in activation
63;;; snippets.
64;;;
65;;; Code:
66
67(define default-shell 66(define default-shell
68 ;; Default shell for user accounts (a string or string-valued gexp). 67 ;; Default shell for user accounts (a string or string-valued gexp).
69 (make-parameter "/bin/sh")) 68 (make-parameter "/bin/sh"))
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm
index fd9065d2f6d..7ec2cd02594 100644
--- a/gnu/system/file-systems.scm
+++ b/gnu/system/file-systems.scm
@@ -21,6 +21,15 @@
21;;; You should have received a copy of the GNU General Public License 21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 23
24;;; Commentary:
25;;;
26;;; Declaring file systems to be mounted.
27;;;
28;;; Note: this file system is used both in the Shepherd and on the "host
29;;; side", so it must not include (gnu packages …) modules.
30;;;
31;;; Code:
32
24(define-module (gnu system file-systems) 33(define-module (gnu system file-systems)
25 #:use-module (ice-9 match) 34 #:use-module (ice-9 match)
26 #:use-module (rnrs bytevectors) 35 #:use-module (rnrs bytevectors)
@@ -109,15 +118,6 @@
109 swap-space-priority 118 swap-space-priority
110 swap-space-discard?)) 119 swap-space-discard?))
111 120
112;;; Commentary:
113;;;
114;;; Declaring file systems to be mounted.
115;;;
116;;; Note: this file system is used both in the Shepherd and on the "host
117;;; side", so it must not include (gnu packages …) modules.
118;;;
119;;; Code:
120
121(eval-when (expand load eval) 121(eval-when (expand load eval)
122 (define invalid-file-system-flags 122 (define invalid-file-system-flags
123 ;; Note: Keep in sync with 'mount-flags->bit-mask'. 123 ;; Note: Keep in sync with 'mount-flags->bit-mask'.
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm
index 4d5a3d6799b..b57526f93c2 100644
--- a/gnu/system/hurd.scm
+++ b/gnu/system/hurd.scm
@@ -17,6 +17,13 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; This module provides system-specifics for the GNU/Hurd operating system
23;;; and virtual machine.
24;;;
25;;; Code:
26
20(define-module (gnu system hurd) 27(define-module (gnu system hurd)
21 #:use-module (ice-9 match) 28 #:use-module (ice-9 match)
22 #:use-module (guix gexp) 29 #:use-module (guix gexp)
@@ -55,13 +62,6 @@
55 %hurd-default-operating-system-kernel 62 %hurd-default-operating-system-kernel
56 %setuid-programs/hurd)) 63 %setuid-programs/hurd))
57 64
58;;; Commentary:
59;;;
60;;; This module provides system-specifics for the GNU/Hurd operating system
61;;; and virtual machine.
62;;;
63;;; Code:
64
65(define %hurd-default-operating-system-kernel 65(define %hurd-default-operating-system-kernel
66 gnumach) 66 gnumach)
67 67
diff --git a/gnu/system/images/visionfive2.scm b/gnu/system/images/visionfive2.scm
index ee0682b6fcd..22f6545db12 100644
--- a/gnu/system/images/visionfive2.scm
+++ b/gnu/system/images/visionfive2.scm
@@ -17,6 +17,18 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; With this image, VisionFive2 can boot from MMC1 (MicroSD card) with
23;;; SDIO3.0 boot mode (RPIO_1:L, RGPIO_0:H -- see [1]), in this case the
24;;; board will use U-Boot from Guix System instead of the vendor U-Boot.
25;;; Booting from eMMC and NVME is still work-in-progress.
26;;;
27;;; References:
28;;; 1. <https://doc-en.rvspace.org/VisionFive2/Boot_UG/VisionFive2_SDK_QSG/boot_mode_settings.html>
29;;;
30;;; Code:
31
20(define-module (gnu system images visionfive2) 32(define-module (gnu system images visionfive2)
21 #:use-module (gnu bootloader) 33 #:use-module (gnu bootloader)
22 #:use-module (gnu bootloader u-boot) 34 #:use-module (gnu bootloader u-boot)
@@ -46,18 +58,6 @@
46 visionfive2-image-type 58 visionfive2-image-type
47 visionfive2-barebones-raw-image)) 59 visionfive2-barebones-raw-image))
48 60
49;;; Commentary:
50;;;
51;;; With this image, VisionFive2 can boot from MMC1 (MicroSD card) with
52;;; SDIO3.0 boot mode (RPIO_1:L, RGPIO_0:H -- see [1]), in this case the
53;;; board will use U-Boot from Guix System instead of the vendor U-Boot.
54;;; Booting from eMMC and NVME is still work-in-progress.
55;;;
56;;; References:
57;;; 1. <https://doc-en.rvspace.org/VisionFive2/Boot_UG/VisionFive2_SDK_QSG/boot_mode_settings.html>
58;;;
59;;; Code:
60
61(define visionfive2-barebones-os 61(define visionfive2-barebones-os
62 (operating-system 62 (operating-system
63 (host-name "visionfive2") 63 (host-name "visionfive2")
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 2f5d5d4b1c9..80f5a51fdae 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -24,6 +24,13 @@
24;;; You should have received a copy of the GNU General Public License 24;;; You should have received a copy of the GNU General Public License
25;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 25;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
26 26
27;;; Commentary:
28;;;
29;;; This module provides an 'operating-system' definition for use on images
30;;; for USB sticks etc., for the installation of the GNU system.
31;;;
32;;; Code:
33
27(define-module (gnu system install) 34(define-module (gnu system install)
28 #:use-module ((guix licenses) #:prefix license:) 35 #:use-module ((guix licenses) #:prefix license:)
29 #:use-module (gnu) 36 #:use-module (gnu)
@@ -88,13 +95,6 @@
88 wandboard-installation-os 95 wandboard-installation-os
89 os-with-u-boot)) 96 os-with-u-boot))
90 97
91;;; Commentary:
92;;;
93;;; This module provides an 'operating-system' definition for use on images
94;;; for USB sticks etc., for the installation of the GNU system.
95;;;
96;;; Code:
97
98 98
99;;; 99;;;
100;;; Documentation service. 100;;; Documentation service.
diff --git a/gnu/system/keyboard.scm b/gnu/system/keyboard.scm
index 5bd13a44be4..672fbcde8c6 100644
--- a/gnu/system/keyboard.scm
+++ b/gnu/system/keyboard.scm
@@ -16,6 +16,14 @@
16;;; You should have received a copy of the GNU General Public License 16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18 18
19;;; Commentary:
20;;;
21;;; This module provides a data structure to represent keyboard layouts
22;;; according to the XKB naming and classification (see the 'xkeyboard-config'
23;;; package).
24;;;
25;;; Code:
26
19(define-module (gnu system keyboard) 27(define-module (gnu system keyboard)
20 #:use-module (guix gexp) 28 #:use-module (guix gexp)
21 #:use-module ((gnu packages xorg) 29 #:use-module ((gnu packages xorg)
@@ -31,14 +39,6 @@
31 39
32 keyboard-layout->console-keymap)) 40 keyboard-layout->console-keymap))
33 41
34;;; Commentary:
35;;;
36;;; This module provides a data structure to represent keyboard layouts
37;;; according to the XKB naming and classification (see the 'xkeyboard-config'
38;;; package).
39;;;
40;;; Code:
41
42(define-immutable-record-type <keyboard-layout> 42(define-immutable-record-type <keyboard-layout>
43 (%keyboard-layout name variant model options) 43 (%keyboard-layout name variant model options)
44 keyboard-layout? 44 keyboard-layout?
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index b56e6cf5d42..4ea0a59e935 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -20,6 +20,13 @@
20;;; You should have received a copy of the GNU General Public License 20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22 22
23;;; Commentary:
24;;;
25;;; Tools to build initial RAM disks (initrd's) for Linux-Libre, and in
26;;; particular initrd's that run Guile.
27;;;
28;;; Code:
29
23(define-module (gnu system linux-initrd) 30(define-module (gnu system linux-initrd)
24 #:use-module (guix deprecation) 31 #:use-module (guix deprecation)
25 #:use-module (guix gexp) 32 #:use-module (guix gexp)
@@ -56,14 +63,6 @@
56 base-initrd)) 63 base-initrd))
57 64
58 65
59;;; Commentary:
60;;;
61;;; Tools to build initial RAM disks (initrd's) for Linux-Libre, and in
62;;; particular initrd's that run Guile.
63;;;
64;;; Code:
65
66
67(define* (expression->initrd exp 66(define* (expression->initrd exp
68 #:key 67 #:key
69 (guile %guile-static-initrd) 68 (guile %guile-static-initrd)
diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm
index 37f6456e673..866e198b2f6 100644
--- a/gnu/system/locale.scm
+++ b/gnu/system/locale.scm
@@ -18,6 +18,12 @@
18;;; You should have received a copy of the GNU General Public License 18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20 20
21;;; Commentary:
22;;;
23;;; Locale definitions, and compilation thereof.
24;;;
25;;; Code:
26
21(define-module (gnu system locale) 27(define-module (gnu system locale)
22 #:use-module (guix gexp) 28 #:use-module (guix gexp)
23 #:use-module (guix store) 29 #:use-module (guix store)
@@ -43,12 +49,6 @@
43 49
44 glibc-supported-locales)) 50 glibc-supported-locales))
45 51
46;;; Commentary:
47;;;
48;;; Locale definitions, and compilation thereof.
49;;;
50;;; Code:
51
52(define-record-type* <locale-definition> locale-definition 52(define-record-type* <locale-definition> locale-definition
53 make-locale-definition 53 make-locale-definition
54 locale-definition? 54 locale-definition?
diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm
index 8c32c3d3d4d..e7bb3eae726 100644
--- a/gnu/system/mapped-devices.scm
+++ b/gnu/system/mapped-devices.scm
@@ -19,6 +19,13 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; This module supports "device mapping", a concept implemented by Linux's
25;;; device-mapper.
26;;;
27;;; Code:
28
22(define-module (gnu system mapped-devices) 29(define-module (gnu system mapped-devices)
23 #:use-module (guix gexp) 30 #:use-module (guix gexp)
24 #:use-module (guix records) 31 #:use-module (guix records)
@@ -72,13 +79,6 @@
72 raid-device-mapping 79 raid-device-mapping
73 lvm-device-mapping)) 80 lvm-device-mapping))
74 81
75;;; Commentary:
76;;;
77;;; This module supports "device mapping", a concept implemented by Linux's
78;;; device-mapper.
79;;;
80;;; Code:
81
82(define-record-type* <mapped-device> %mapped-device 82(define-record-type* <mapped-device> %mapped-device
83 make-mapped-device 83 make-mapped-device
84 mapped-device? 84 mapped-device?
diff --git a/gnu/system/nss.scm b/gnu/system/nss.scm
index 930f556e5e5..9beadf05cab 100644
--- a/gnu/system/nss.scm
+++ b/gnu/system/nss.scm
@@ -16,6 +16,12 @@
16;;; You should have received a copy of the GNU General Public License 16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18 18
19;;; Commentary:
20;;;
21;;; Bindings for libc's name service switch (NSS) configuration.
22;;;
23;;; Code:
24
19(define-module (gnu system nss) 25(define-module (gnu system nss)
20 #:use-module (rnrs enums) 26 #:use-module (rnrs enums)
21 #:use-module (guix records) 27 #:use-module (guix records)
@@ -38,12 +44,6 @@
38 44
39 name-service-switch->string)) 45 name-service-switch->string))
40 46
41;;; Commentary:
42;;;
43;;; Bindings for libc's name service switch (NSS) configuration.
44;;;
45;;; Code:
46
47(define-record-type* <name-service> name-service 47(define-record-type* <name-service> name-service
48 make-name-service 48 make-name-service
49 name-service? 49 name-service?
diff --git a/gnu/system/pam.scm b/gnu/system/pam.scm
index 83cf74d58ce..935419544a8 100644
--- a/gnu/system/pam.scm
+++ b/gnu/system/pam.scm
@@ -17,6 +17,12 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; Configuration of the pluggable authentication modules (PAM).
23;;;
24;;; Code:
25
20(define-module (gnu system pam) 26(define-module (gnu system pam)
21 #:use-module (guix records) 27 #:use-module (guix records)
22 #:use-module (guix derivations) 28 #:use-module (guix derivations)
@@ -69,12 +75,6 @@
69 pam-root-service-type 75 pam-root-service-type
70 pam-root-service)) 76 pam-root-service))
71 77
72;;; Commentary:
73;;;
74;;; Configuration of the pluggable authentication modules (PAM).
75;;;
76;;; Code:
77
78;; PAM services (see 78;; PAM services (see
79;; <http://www.linux-pam.org/Linux-PAM-html/sag-configuration-file.html>.) 79;; <http://www.linux-pam.org/Linux-PAM-html/sag-configuration-file.html>.)
80(define-record-type* <pam-service> pam-service 80(define-record-type* <pam-service> pam-service
diff --git a/gnu/system/privilege.scm b/gnu/system/privilege.scm
index fe6e60ad7c4..26d9b2fe289 100644
--- a/gnu/system/privilege.scm
+++ b/gnu/system/privilege.scm
@@ -17,6 +17,14 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; Data structures representing privileged programs: binaries with additional
23;;; permissions such as setuid/setgid, or POSIX capabilities. This is meant to
24;;; be used both on the host side and at run time--e.g., in activation snippets.
25;;;
26;;; Code:
27
20(define-module (gnu system privilege) 28(define-module (gnu system privilege)
21 #:use-module (guix records) 29 #:use-module (guix records)
22 #:export (privileged-program 30 #:export (privileged-program
@@ -30,14 +38,6 @@
30 38
31 file-like->setuid-program)) 39 file-like->setuid-program))
32 40
33;;; Commentary:
34;;;
35;;; Data structures representing privileged programs: binaries with additional
36;;; permissions such as setuid/setgid, or POSIX capabilities. This is meant to
37;;; be used both on the host side and at run time--e.g., in activation snippets.
38;;;
39;;; Code:
40
41(define-record-type* <privileged-program> 41(define-record-type* <privileged-program>
42 privileged-program make-privileged-program 42 privileged-program make-privileged-program
43 privileged-program? 43 privileged-program?
diff --git a/gnu/system/setuid.scm b/gnu/system/setuid.scm
index 097797ce8d7..dab31dad5d2 100644
--- a/gnu/system/setuid.scm
+++ b/gnu/system/setuid.scm
@@ -17,6 +17,14 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; Do not use this module in new code. It used to define data structures
23;;; representing setuid/setgid programs, but is now a mere compatibility shim
24;;; wrapping a subset of (gnu system privilege).
25;;;
26;;; Code:
27
20(define-module (gnu system setuid) 28(define-module (gnu system setuid)
21 #:use-module (gnu system privilege) 29 #:use-module (gnu system privilege)
22 #:use-module (ice-9 match) 30 #:use-module (ice-9 match)
@@ -30,14 +38,6 @@
30 setuid-program-user 38 setuid-program-user
31 setuid-program-group)) 39 setuid-program-group))
32 40
33;;; Commentary:
34;;;
35;;; Do not use this module in new code. It used to define data structures
36;;; representing setuid/setgid programs, but is now a mere compatibility shim
37;;; wrapping a subset of (gnu system privilege).
38;;;
39;;; Code:
40
41(define-syntax setuid-program 41(define-syntax setuid-program
42 (lambda (fields) 42 (lambda (fields)
43 (syntax-case fields () 43 (syntax-case fields ()
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index f864a4f692e..2cce6e828f6 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -21,6 +21,12 @@
21;;; You should have received a copy of the GNU General Public License 21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 23
24;;; Commentary:
25;;;
26;;; Utilities for configuring the Shadow tool suite ('login', 'passwd', etc.)
27;;;
28;;; Code:
29
24(define-module (gnu system shadow) 30(define-module (gnu system shadow)
25 #:use-module ((guix diagnostics) #:select (formatted-message)) 31 #:use-module ((guix diagnostics) #:select (formatted-message))
26 #:use-module (guix records) 32 #:use-module (guix records)
@@ -97,12 +103,6 @@
97 103
98 subids-service-type)) 104 subids-service-type))
99 105
100;;; Commentary:
101;;;
102;;; Utilities for configuring the Shadow tool suite ('login', 'passwd', etc.)
103;;;
104;;; Code:
105
106;; Change the default shell used by new <user-account> records. 106;; Change the default shell used by new <user-account> records.
107(default-shell (file-append bash "/bin/bash")) 107(default-shell (file-append bash "/bin/bash"))
108 108
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index a6a05862a5c..c4fc3e84745 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -22,6 +22,12 @@
22;;; You should have received a copy of the GNU General Public License 22;;; You should have received a copy of the GNU General Public License
23;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 23;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
24 24
25;;; Commentary:
26;;;
27;;; Tools to evaluate build expressions within virtual machines.
28;;;
29;;; Code:
30
25(define-module (gnu system vm) 31(define-module (gnu system vm)
26 #:use-module (guix config) 32 #:use-module (guix config)
27 #:use-module (guix store) 33 #:use-module (guix store)
@@ -91,12 +97,6 @@
91 common-qemu-options)) 97 common-qemu-options))
92 98
93 99
94;;; Commentary:
95;;;
96;;; Tools to evaluate build expressions within virtual machines.
97;;;
98;;; Code:
99
100;; By default, the msize value is 8 KiB, which according to QEMU is 100;; By default, the msize value is 8 KiB, which according to QEMU is
101;; insufficient and would degrade performance. The msize value should roughly 101;; insufficient and would degrade performance. The msize value should roughly
102;; match the bandwidth of the system's IO (see: 102;; match the bandwidth of the system's IO (see:
diff --git a/gnu/tests.scm b/gnu/tests.scm
index 3b12726de82..ab74ed5874e 100644
--- a/gnu/tests.scm
+++ b/gnu/tests.scm
@@ -19,6 +19,15 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; This module provides the infrastructure to run operating system tests.
25;;; The most important part of that is tools to instrument the OS under test,
26;;; essentially allowing it to run in a virtual machine controlled by the host
27;;; system--hence the name "marionette".
28;;;
29;;; Code:
30
22(define-module (gnu tests) 31(define-module (gnu tests)
23 #:use-module (guix gexp) 32 #:use-module (guix gexp)
24 #:use-module (guix diagnostics) 33 #:use-module (guix diagnostics)
@@ -65,15 +74,6 @@
65 fold-system-tests 74 fold-system-tests
66 all-system-tests)) 75 all-system-tests))
67 76
68;;; Commentary:
69;;;
70;;; This module provides the infrastructure to run operating system tests.
71;;; The most important part of that is tools to instrument the OS under test,
72;;; essentially allowing it to run in a virtual machine controlled by the host
73;;; system--hence the name "marionette".
74;;;
75;;; Code:
76
77(define %default-marionette-device 77(define %default-marionette-device
78 ;; Default marionette device in the guest. 78 ;; Default marionette device in the guest.
79 "/dev/virtio-ports/org.gnu.guix.port.0") 79 "/dev/virtio-ports/org.gnu.guix.port.0")
diff --git a/gnu/tests/image.scm b/gnu/tests/image.scm
index be6852cae0a..3e7629c3b68 100644
--- a/gnu/tests/image.scm
+++ b/gnu/tests/image.scm
@@ -16,6 +16,17 @@
16;;; You should have received a copy of the GNU General Public License 16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18 18
19;;; Commentary:
20;;;
21;;; This module provides tests for the image creation process that is
22;;; performed by "genimage" under the hood.
23;;;
24;;; The image partitionment is checked using Guile-Parted. The content of the
25;;; images is out of the scope of this module. Other test modules such as
26;;; (gnu tests installation) make sure that the produced images are viable.
27;;;
28;;; Code:
29
19(define-module (gnu tests image) 30(define-module (gnu tests image)
20 #:use-module (gnu) 31 #:use-module (gnu)
21 #:use-module (gnu image) 32 #:use-module (gnu image)
@@ -30,17 +41,6 @@
30 #:use-module (ice-9 format) 41 #:use-module (ice-9 format)
31 #:export (%test-images)) 42 #:export (%test-images))
32 43
33;;; Commentary:
34;;;
35;;; This module provides tests for the image creation process that is
36;;; performed by "genimage" under the hood.
37;;;
38;;; The image partitionment is checked using Guile-Parted. The content of the
39;;; images is out of the scope of this module. Other test modules such as
40;;; (gnu tests installation) make sure that the produced images are viable.
41;;;
42;;; Code:
43
44;; A dummy initializer creating a simple file in the partition. 44;; A dummy initializer creating a simple file in the partition.
45(define dummy-initializer 45(define dummy-initializer
46 #~(lambda* (root . rest) 46 #~(lambda* (root . rest)
diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm
index 91ab59ce8d2..2c336ce4e94 100644
--- a/gnu/tests/install.scm
+++ b/gnu/tests/install.scm
@@ -21,6 +21,13 @@
21;;; You should have received a copy of the GNU General Public License 21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 23
24;;; Commentary:
25;;;
26;;; Test the installation of Guix using the documented approach at the
27;;; command line.
28;;;
29;;; Code:
30
24(define-module (gnu tests install) 31(define-module (gnu tests install)
25 #:use-module (gnu) 32 #:use-module (gnu)
26 #:use-module (gnu bootloader extlinux) 33 #:use-module (gnu bootloader extlinux)
@@ -89,13 +96,6 @@
89 %test-gui-installed-os-encrypted 96 %test-gui-installed-os-encrypted
90 %test-gui-installed-desktop-os-encrypted)) 97 %test-gui-installed-desktop-os-encrypted))
91 98
92;;; Commentary:
93;;;
94;;; Test the installation of Guix using the documented approach at the
95;;; command line.
96;;;
97;;; Code:
98
99(define-os-with-source (%minimal-os %minimal-os-source) 99(define-os-with-source (%minimal-os %minimal-os-source)
100 ;; The OS we want to install. 100 ;; The OS we want to install.
101 (use-modules (gnu) (gnu tests) (srfi srfi-1)) 101 (use-modules (gnu) (gnu tests) (srfi srfi-1))
diff --git a/gnu/tests/linux-modules.scm b/gnu/tests/linux-modules.scm
index 69cb0132670..8f4d79445bd 100644
--- a/gnu/tests/linux-modules.scm
+++ b/gnu/tests/linux-modules.scm
@@ -19,6 +19,12 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; Test <operating-system> kernel-loadable-modules.
25;;;
26;;; Code:
27
22(define-module (gnu tests linux-modules) 28(define-module (gnu tests linux-modules)
23 #:use-module (gnu packages linux) 29 #:use-module (gnu packages linux)
24 #:use-module (gnu services) 30 #:use-module (gnu services)
@@ -40,12 +46,6 @@
40 %test-loadable-kernel-modules-service-1 46 %test-loadable-kernel-modules-service-1
41 %test-loadable-kernel-modules-service-2)) 47 %test-loadable-kernel-modules-service-2))
42 48
43;;; Commentary:
44;;;
45;;; Test <operating-system> kernel-loadable-modules.
46;;;
47;;; Code:
48
49(define* (modules-loaded?-program os modules) 49(define* (modules-loaded?-program os modules)
50 "Return an executable store item that, upon being evaluated, will verify 50 "Return an executable store item that, upon being evaluated, will verify
51that MODULES are actually loaded." 51that MODULES are actually loaded."
diff --git a/gnu/tests/package-management.scm b/gnu/tests/package-management.scm
index c5102fff74d..869494b7e11 100644
--- a/gnu/tests/package-management.scm
+++ b/gnu/tests/package-management.scm
@@ -16,6 +16,12 @@
16;;; You should have received a copy of the GNU General Public License 16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18 18
19;;; Commentary:
20;;;
21;;; This module provides a test definition for the nix-daemon
22;;;
23;;; Code:
24
19(define-module (gnu tests package-management) 25(define-module (gnu tests package-management)
20 #:use-module (gnu packages base) 26 #:use-module (gnu packages base)
21 #:use-module (gnu packages package-management) 27 #:use-module (gnu packages package-management)
@@ -29,12 +35,6 @@
29 #:use-module (guix packages) 35 #:use-module (guix packages)
30 #:export (%test-nix)) 36 #:export (%test-nix))
31 37
32;;; Commentary:
33;;;
34;;; This module provides a test definition for the nix-daemon
35;;;
36;;; Code:
37
38(define* (run-nix-test name test-os) 38(define* (run-nix-test name test-os)
39 "Run tests in TEST-OS, which has nix-daemon running." 39 "Run tests in TEST-OS, which has nix-daemon running."
40 (define os 40 (define os
diff --git a/gnu/tests/reconfigure.scm b/gnu/tests/reconfigure.scm
index 77cbe16a9ca..1ffb75ad2ac 100644
--- a/gnu/tests/reconfigure.scm
+++ b/gnu/tests/reconfigure.scm
@@ -17,6 +17,13 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; Test in-place system reconfiguration: advancing the system generation on a
23;;; running instance of the Guix System.
24;;;
25;;; Code:
26
20(define-module (gnu tests reconfigure) 27(define-module (gnu tests reconfigure)
21 #:use-module (gnu bootloader) 28 #:use-module (gnu bootloader)
22 #:use-module (gnu services) 29 #:use-module (gnu services)
@@ -38,13 +45,6 @@
38 %test-upgrade-kexec 45 %test-upgrade-kexec
39 %test-install-bootloader)) 46 %test-install-bootloader))
40 47
41;;; Commentary:
42;;;
43;;; Test in-place system reconfiguration: advancing the system generation on a
44;;; running instance of the Guix System.
45;;;
46;;; Code:
47
48(define* (run-switch-to-system-test) 48(define* (run-switch-to-system-test)
49 "Run a test of an OS running SWITCH-SYSTEM-PROGRAM, which creates a new 49 "Run a test of an OS running SWITCH-SYSTEM-PROGRAM, which creates a new
50generation of the system profile." 50generation of the system profile."