summaryrefslogtreecommitdiff
path: root/gnu/services
diff options
context:
space:
mode:
authorThéo Tyburn <theo.tyburn@posteo.net>2026-06-03 10:56:10 +0200
committerNguyễn Gia Phong <cnx@loang.net>2026-08-31 11:00:19 +0900
commitc62ebcd02c2eb190ab5dc157475ef4a93a1c7581 (patch)
treef178f262874978ac0be45e5499db5cc2d63248fe /gnu/services
parent30cb1f541eb99b0fbbec1f8f29796151103c5f2b (diff)
doc: Move Commentary above module definition.
Merges: https://codeberg.org/guix/guix/pulls/9052 Reviewed-by: Ludovic Courtès <ludo@gnu.org> Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop> Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
Diffstat (limited to 'gnu/services')
-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
31 files changed, 210 insertions, 211 deletions
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=>