Toggle diff (568 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 4aeed8a76b..26851f7566 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -18651,7 +18651,7 @@ Base Services
@end deftp
@anchor{guix-publish-service-type}
-@deffn {Scheme Variable} guix-publish-service-type
+@defvar guix-publish-service-type
This is the service type for @command{guix publish} (@pxref{Invoking
guix publish}). Its value must be a @code{guix-publish-configuration}
object, as described below.
@@ -18659,7 +18659,7 @@ Base Services
This assumes that @file{/etc/guix} already contains a signing key pair as
created by @command{guix archive --generate-key} (@pxref{Invoking guix
archive}). If that is not the case, the service will fail to start.
-@end deffn
+@end defvar
@deftp {Data Type} guix-publish-configuration
Data type representing the configuration of the @code{guix publish}
@@ -19692,7 +19692,7 @@ Networking Setup
@end deftp
@cindex Connman
-@deffn {Scheme Variable} connman-service-type
+@defvar connman-service-type
This is the service type to run @url{https://01.org/connman,Connman},
a network connection manager.
@@ -19706,7 +19706,7 @@ Networking Setup
@end lisp
See below for details about @code{connman-configuration}.
-@end deffn
+@end defvar
@deftp {Data Type} connman-configuration
Data Type representing the configuration of connman.
@@ -20132,7 +20132,7 @@ Networking Services
@end deftp
@cindex inetd
-@deffn {Scheme variable} inetd-service-type
+@defvar inetd-service-type
This service runs the @command{inetd} (@pxref{inetd invocation,,,
inetutils, GNU Inetutils}) daemon. @command{inetd} listens for
connections on internet sockets, and lazily starts the specified server
@@ -20169,7 +20169,7 @@ Networking Services
@end lisp
See below for more details about @code{inetd-configuration}.
-@end deffn
+@end defvar
@deftp {Data Type} inetd-configuration
Data type representing the configuration of @command{inetd}.
@@ -20370,7 +20370,7 @@ Networking Services
so anyone (or just yourself) can download existing files or upload new
files.
-@deffn {Scheme Variable} rsync-service-type
+@defvar rsync-service-type
This is the service type for the @uref{https://rsync.samba.org, rsync} daemon,
The value for this service type is a
@command{rsync-configuration} record as in this example:
@@ -20390,7 +20390,7 @@ Networking Services
@end lisp
See below for details about @code{rsync-configuration}.
-@end deffn
+@end defvar
@deftp {Data Type} rsync-configuration
Data type representing the configuration for @code{rsync-service}.
@@ -20476,7 +20476,7 @@ Networking Services
computers and want to sync them in real time, safely protected from
prying eyes.
-@deffn {Scheme Variable} syncthing-service-type
+@defvar syncthing-service-type
This is the service type for the @uref{https://syncthing.net/,
syncthing} daemon, The value for this service type is a
@command{syncthing-configuration} record as in this example:
@@ -20516,7 +20516,7 @@ Networking Services
@end table
@end deftp
-@end deffn
+@end defvar
Furthermore, @code{(gnu services ssh)} provides the following services.
@cindex SSH
@@ -20560,7 +20560,7 @@ Networking Services
@cindex SSH
@cindex SSH server
-@deffn {Scheme Variable} openssh-service-type
+@defvar openssh-service-type
This is the type for the @uref{http://www.openssh.org, OpenSSH} secure
shell daemon, @command{sshd}. Its value must be an
@code{openssh-configuration} record as in this example:
@@ -20585,7 +20585,7 @@ Networking Services
(const `(("charlie"
,(local-file "charlie.pub")))))
@end lisp
-@end deffn
+@end defvar
@deftp {Data Type} openssh-configuration
This is the configuration record for OpenSSH's @command{sshd}.
@@ -20792,7 +20792,7 @@ Networking Services
@end deftp
@cindex AutoSSH
-@deffn {Scheme Variable} autossh-service-type
+@defvar autossh-service-type
This is the type for the @uref{https://www.harding.motd.ca/autossh,
AutoSSH} program that runs a copy of @command{ssh} and monitors it,
restarting it as necessary should it die or stop passing traffic.
@@ -20816,7 +20816,7 @@ Networking Services
(user "pino")
(ssh-options (list "-T" "-N" "-L" "8081:localhost:8081" "remote.net"))))
@end lisp
-@end deffn
+@end defvar
@deftp {Data Type} autossh-configuration
This data type represents the configuration of an AutoSSH service.
@@ -20872,7 +20872,7 @@ Networking Services
@end deftp
@cindex WebSSH
-@deffn {Scheme Variable} webssh-service-type
+@defvar webssh-service-type
This is the type for the @uref{https://webssh.huashengdun.org/, WebSSH}
program that runs a web SSH client. WebSSH can be run manually from the
command-line by passing arguments to the binary @command{wssh} from the
@@ -20909,7 +20909,7 @@ Networking Services
(body '("root /var/www;")))
(nginx-server-configuration-locations %webssh-configuration-nginx))))))))
@end lisp
-@end deffn
+@end defvar
@deftp {Data Type} webssh-configuration
Data type representing the configuration for @code{webssh-service}.
@@ -21026,11 +21026,11 @@ Networking Services
@end table
@end deftp
-@deffn {Scheme Variable} openvswitch-service-type
+@defvar openvswitch-service-type
This is the type of the @uref{https://www.openvswitch.org, Open vSwitch}
service, whose value should be an @code{openvswitch-configuration}
object.
-@end deffn
+@end defvar
@deftp {Data Type} openvswitch-configuration
Data type representing the configuration of Open vSwitch, a multilayer
@@ -21210,7 +21210,7 @@ Networking Services
@end deftp
@cindex keepalived
-@deffn {Scheme Variable} keepalived-service-type
+@defvar keepalived-service-type
This is the type for the @uref{https://www.keepalived.org/, Keepalived}
routing software, @command{keepalived}. Its value must be an
@code{keepalived-configuration} record as in this example for master
@@ -21259,7 +21259,7 @@ Networking Services
@}
@}
@end example
-@end deffn
+@end defvar
@node Unattended Upgrades
@subsection Unattended Upgrades
@@ -22005,14 +22005,14 @@ Printing Services
for the CUPS printing service. To add printer support to a Guix
system, add a @code{cups-service} to the operating system definition:
-@deffn {Scheme Variable} cups-service-type
+@defvar cups-service-type
The service type for the CUPS print server. Its value should be a valid
CUPS configuration (see below). To use the default settings, simply
write:
@lisp
(service cups-service-type)
@end lisp
-@end deffn
+@end defvar
The CUPS configuration controls the basic things about your CUPS
installation: what interfaces it listens on, what to do if a print job
@@ -22962,7 +22962,7 @@ Desktop Services
@end table
@end deftp
-@deffn {Scheme Variable} mate-desktop-service-type
+@defvar mate-desktop-service-type
This is the type of the service that runs the @uref{https://mate-desktop.org/,
MATE desktop environment}. Its value is a @code{mate-desktop-configuration}
object (see below).
@@ -22970,7 +22970,7 @@ Desktop Services
This service adds the @code{mate} package to the system
profile, and extends polkit with the actions from
@code{mate-settings-daemon}.
-@end deffn
+@end defvar
@deftp {Data Type} mate-desktop-configuration
Configuration record for the MATE desktop environment.
@@ -22981,14 +22981,14 @@ Desktop Services
@end table
@end deftp
-@deffn {Scheme Variable} lxqt-desktop-service-type
+@defvar lxqt-desktop-service-type
This is the type of the service that runs the @uref{https://lxqt-project.org,
LXQt desktop environment}. Its value is a @code{lxqt-desktop-configuration}
object (see below).
This service adds the @code{lxqt} package to the system
profile.
-@end deffn
+@end defvar
@deftp {Data Type} lxqt-desktop-configuration
Configuration record for the LXQt desktop environment.
@@ -22999,10 +22999,10 @@ Desktop Services
@end table
@end deftp
-@deffn {Scheme Variable} enlightenment-desktop-service-type
+@defvar enlightenment-desktop-service-type
Return a service that adds the @code{enlightenment} package to the system
profile, and extends dbus with actions from @code{efl}.
-@end deffn
+@end defvar
@deftp {Data Type} enlightenment-desktop-service-configuration
@table @asis
@@ -23245,14 +23245,14 @@ Desktop Services
@code{ntfs-3g} installed system-wide.
@end deffn
-@deffn {Scheme Variable} colord-service-type
+@defvar colord-service-type
This is the type of the service that runs @command{colord}, a system
service with a D-Bus
interface to manage the color profiles of input and output devices such as
screens and scanners. It is notably used by the GNOME Color Manager graphical
tool. See @uref{https://www.freedesktop.org/software/colord/, the colord web
site} for more information.
-@end deffn
+@end defvar
@cindex scanner access
@defvar sane-service-type
@@ -23340,7 +23340,7 @@ Desktop Services
bluetooth keyboard or mouse.
@end deffn
-@deffn {Scheme Variable} bluetooth-service-type
+@defvar bluetooth-service-type
This is the type for the @uref{https://bluez.org/, Linux Bluetooth Protocol
Stack} (BlueZ) system, which generates the @file{/etc/bluetooth/main.conf}
configuration file. The value for this type is a @command{bluetooth-configuration}
@@ -23351,7 +23351,7 @@ Desktop Services
@end lisp
See below for details about @code{bluetooth-configuration}.
-@end deffn
+@end defvar
@deftp {Data Type} bluetooth-configuration
Data type representing the configuration for @code{bluetooth-service}.
@@ -23894,7 +23894,7 @@ Sound Services
Advanced Linux Sound Architecture (ALSA) system, which makes PulseAudio the
preferred ALSA output driver.
-@deffn {Scheme Variable} alsa-service-type
+@defvar alsa-service-type
This is the type for the @uref{https://alsa-project.org/, Advanced Linux Sound
Architecture} (ALSA) system, which generates the @file{/etc/asound.conf}
configuration file. The value for this type is a @command{alsa-configuration}
@@ -23905,7 +23905,7 @@ Sound Services
@end lisp
See below for details about @code{alsa-configuration}.
-@end deffn
+@end defvar
@deftp {Data Type} alsa-configuration
Data type representing the configuration for @code{alsa-service}.
@@ -23963,7 +23963,7 @@ Sound Services
See @uref{https://www.alsa-project.org/main/index.php/Asoundrc} for the
details.
-@deffn {Scheme Variable} pulseaudio-service-type
+@defvar pulseaudio-service-type
This is the type for the @uref{https://www.pulseaudio.org/, PulseAudio}
sound server. It exists to allow system overrides of the default settings
via @code{pulseaudio-configuration}, see below.
@@ -23982,7 +23982,7 @@ Sound Services
without a @code{pulseaudio} package, consider enabling it through the
@code{alsa-service-type} above.
@end quotation
-@end deffn
+@end defvar
@deftp {Data Type} pulseaudio-configuration
Data type representing the configuration for @code{pulseaudio-service}.
@@ -24039,7 +24039,7 @@ Sound Services
@end deftp
-@deffn {Scheme Variable} ladspa-service-type
+@defvar ladspa-service-type
This service sets the @var{LADSPA_PATH} variable, so that programs, which
respect it, e.g. PulseAudio, can load LADSPA plugins.
@@ -24054,7 +24054,7 @@ Sound Services
See @uref{http://plugin.org.uk/ladspa-swh/docs/ladspa-swh.html} for the
details.
-@end deffn
+@end defvar
@node Database Services
@subsection Database Services
@@ -24225,7 +24225,7 @@ Database Services
@end table
@end deftp
-@deffn {Scheme Variable} postgresql-role-service-type
+@defvar postgresql-role-service-type
This service allows to create PostgreSQL roles and databases after
PostgreSQL service start. Here is an example of its use.
@@ -24247,7 +24247,7 @@ Database Services
(name "alice")
(create-database? #t))))
@end lisp
-@end deffn
+@end defvar
@deftp {Data Type} postgresql-role
PostgreSQL manages database access permissions using the concept of
@@ -25810,7 +25810,7 @@ Mail Services
@subsubheading OpenSMTPD Service
-@deffn {Scheme Variable} opensmtpd-service-type
+@defvar opensmtpd-service-type
This is the type of the @uref{https://www.opensmtpd.org, OpenSMTPD}
service, whose value should be an @code{opensmtpd-configuration} object
as in this example:
@@ -25820,7 +25820,7 @@ Mail Services
(opensmtpd-configuration
(config-file (local-file "./my-smtpd.conf"))))
@end lisp
-@end deffn
+@end defvar
@deftp {Data Type} opensmtpd-configuration
Data type representing the configuration of opensmtpd.
@@ -25854,7 +25854,7 @@ Mail Services
@cindex MTA (mail transfer agent)
@cindex SMTP
-@deffn {Scheme Variable} exim-service-type
+@defvar exim-service-type
This is the type of the @uref{https://exim.org, Exim} mail transfer
agent (MTA), whose value should be an @code{exim-configuration} object
as in this example:
@@ -25864,7 +25864,7 @@ Mail Services
(exim-configuration
(config-file (local-file "./my-exim.conf"))))
@end lisp
-@end deffn
+@end defvar
In order to use an @code{exim-service-type} service you must also have a
@code{mail-aliases-service-type} service present in your
@@ -25892,10 +25892,10 @@ Mail Services
@cindex IMAP
@cindex POP
-@deffn {Scheme Variable} getmail-service-type
+@defvar getmail-service-type
This is the type of the @uref{http://pyropus.ca/software/getmail/, Getmail}
mail retriever, whose value should be an @code{getmail-configuration}.
-@end deffn
+@end defvar
Available @code{getmail-configuration} fields are:
@@ -26183,7 +26183,7 @@ Mail Services
@cindex email aliases
@cindex aliases, for email addresses
-@deffn {Scheme Variable} mail-aliases-service-type
+@defvar mail-aliases-service-type
This is the type of the service which provides @code{/etc/aliases},
specifying how to deliver mail to users on this system.
@@ -26192,7 +26192,7 @@ Mail Services
'(("postmaster" "bob")
("bob" "bob@@example.com" "bob@@example2.com")))
@end lisp
-@end deffn
+@end defvar
The configuration for a @code{mail-aliases-service-type} service is an
association list denoting how to deliver mail that comes to this
@@ -26209,7 +26209,7 @@ Mail Services
@subsubheading GNU Mailutils IMAP4 Daemon
@cindex GNU Mailutils IMAP4 Daemon
-@deffn {Scheme Variable} imap4d-service-type
+@defvar imap4d-service-type
This is the type of the GNU Mailutils IMAP4 Daemon (@pxref{imap4d,,,
mailutils, GNU Mailutils Manual}), whose value should be an
@code{imap4d-configuration} object as in this example:
@@ -26219,7 +26219,7 @@ Mail Services
(imap4d-configuration
(config-file (local-file "imap4d.conf"))))
@end lisp
-@end deffn
+@end defvar
@deftp {Data Type} imap4d-configuration
Data type representing the configuration of @command{imap4d}.
@@ -26240,10 +26240,10 @@ Mail Services
@cindex CalDAV
@cindex CardDAV
-@deffn {Scheme Variable} radicale-service-type
+@defvar radicale-service-type
This is the type of the @uref{https://radicale.org, Radicale} CalDAV/CardDAV
server whose value should be a @code{radicale-configuration}.
-@end deffn
+@end defvar
@deftp {Data Type} radicale-configuration
Data type representing the configuration of @command{radicale}.
@@ -26272,7 +26272,7 @@ Messaging Services
@subsubheading Prosody Service
-@deffn {Scheme Variable} prosody-service-type
+@defvar prosody-service-type
This is the type for the @uref{https://prosody.im, Prosody XMPP
communication server}. Its value must be a @code{prosody-configuration}
record as in this example:
@@ -26295,7 +26295,7 @@ Messaging Services
See below for details about @code{prosody-configuration}.
-@end deffn
+@end defvar
By default, Prosody does not need much configuration. Only one
@code{virtualhosts} field is needed: it specifies the domain you wish
@@ -27224,7 +27224,7 @@ File-Sharing Services
system service, allowing users to share files via BitTorrent even when
they are not logged in.
-@deffn {Scheme Variable} transmission-daemon-service-type
+@defvar transmission-daemon-service-type
The service type for the Transmission Daemon BitTorrent client. Its
value must be a @code{transmission-daemon-configuration} object as in
this example:
@@ -27256,7 +27256,7 @@ File-Sharing Services
(alt-speed-time-end
(+ (* 60 (+ 12 5)) 30)))) ; 5:30 pm
@end lisp
-@end deffn
+@end defvar
Once the service is started, users can interact with the daemon through
its Web interface (at @code{http://localhost:9091/}) or by using the
@@ -29229,7 +29229,7 @@ Web Services
@subsubheading Apache HTTP Server
-@deffn {Scheme Variable} httpd-service-type
+@defvar httpd-service-type
Service type for the @uref{https://httpd.apache.org/,Apache HTTP} server
(@dfn{httpd}). The value for this service type is a
@code{httpd-configuration} record.
@@ -29257,7 +29257,7 @@ Web Services
"DocumentRoot /srv/http/www.example.com")
"\n")))))
@end lisp
-@end deffn
+@end defvar
The details for the @code{httpd-configuration}, @code{httpd-module},
@code{httpd-config-file} and @code{httpd-virtualhost} record types are
@@ -29412,7 +29412,7 @@ Web Services
@anchor{NGINX}
@subsubheading NGINX
-@deffn {Scheme Variable} nginx-service-type
+@defvar nginx-service-type
Service type for the @uref{https://nginx.org/,NGinx} web server. The
value for this service type is a @code{<nginx-configuration>} record.
@@ -29437,7 +29437,7 @@ Web Services
(root "/srv/http/extra-website")
(try-files (list "$uri" "$uri/index.html")))))
@end lisp
-@end deffn
+@end defvar
At startup, @command{nginx} has not yet read its configuration file, so
it uses a default file to log error messages. If it fails to load its
@@ -30325,7 +30325,7 @@ Web Services
The @uref{https://git.sr.ht/~sircmpwn/gmnisrv, gmnisrv} program is a
simple @uref{https://gemini.circumlunar.space/, Gemini} protocol server.
-@deffn {Scheme Variable} gmnisrv-service-type
+@defvar gmnisrv-service-type
This is the type of the gmnisrv service, whose value should be a
@code{gmnisrv-configuration} object, as in this example:
@@ -30334,7 +30334,7 @@ Web Services
(gmnisrv-configuration
(config-file (local-file "./my-gmnisrv.ini"))))
@end lisp
-@end deffn
+@end defvar
@deftp {Data Type} gmnisrv-configuration
Data type representing the configuration of gmnisrv.
@@ -30361,7 +30361,7 @@ Web Services
program is a simple @uref{https://gemini.circumlunar.space/, Gemini}
protocol server written in Rust.
-@deffn {Scheme Variable} agate-service-type
+@defvar agate-service-type
This is the type of the agate service, whose value should be an
@code{agate-service-type} object, as in this example:
@@ -30389,7 +30389,7 @@ Web Services
name, and then point the Agate configuration towards the path of the
generated key and certificate.
-@end deffn
+@end defvar
@deftp {Data Type} agate-configuration
Data type representing the configuration of Agate.
@@ -30673,7 +30673,7 @@ DNS Services
%base-services)))
@end lisp
-@deffn {Scheme Variable} knot-service-type
+@defvar knot-service-type
This is the type for the Knot DNS server.
Knot DNS is an authoritative DNS server, meaning that it can serve multiple
@@ -30685,7 +30685