[PATCH 0/5] Add menus to Services sub-sections

  • Open
  • quality assurance status badge
Details
3 participants
  • Hartmut Goebel
  • Ludovic Courtès
  • Maxime Devos
Owner
unassigned
Submitted by
Hartmut Goebel
Severity
normal
H
H
Hartmut Goebel wrote on 22 Jun 2022 16:45
(address . guix-patches@gnu.org)
cover.1655908912.git.h.goebel@crazy-compilers.com
Whenever I searched the services, it bugged me that I need to scroll through
all the section to find which services are implemented and described
here. These patches add a @menu to each service section listing the headings
withing the section. The second patch adds headings for sections which did
not have heading strucutres.

Hartmut Goebel (5):
doc: Add menus to Services sub-sections (part 1/2).
doc: Add menus to Services sub-sections (part 2/2).
doc: Fix a URL.
doc: Small rewording.
doc: Add a URL link.

doc/guix.texi | 658 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 645 insertions(+), 13 deletions(-)

--
2.30.4
H
H
Hartmut Goebel wrote on 22 Jun 2022 17:55
[PATCH 1/5] doc: Add menus to Services sub-sections (part 1/2).
(address . 56145@debbugs.gnu.org)
0dd93b0a014e8a3556e8aba5442d2d3b589ab525.1655908912.git.h.goebel@crazy-compilers.com
* doc/guix.texi (Services)[Database Services, Mail Services, Messaging
Services, Telephony Services, File-Sharing Services, Monitoring Services,
Kerberos Services, Web Services, DNS Services, Network File System, Power
Management Services, Audio Services, Virtualization Services, Version
Control Services, Game Services, Guix Services, Linux Services,
Miscellaneous Services]: Ensure @anchors exist for each heading and create a
@menu at the top of the section.
[Continuous Integration]: Same and add a heading for Cuirass.
[VPN Services]: Same and change heading level of "strongSwan" to match the
other headings.
---
doc/guix.texi | 221 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 217 insertions(+), 4 deletions(-)

Toggle diff (597 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 43a5fc85bd..58eb47535d 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -23100,7 +23100,14 @@ details.
@cindex database
@cindex SQL
The @code{(gnu services databases)} module provides the following services.
+@menu
+* PostgreSQL:: One of the major SQL databases.
+* MariaDB/MySQL:: Another major SQL databases.
+* Memcached:: A distributed memory object caching system.
+* Redis:: An in-memory key/value data store.
+@end menu
+@anchor{PostgreSQL}
@subsubheading PostgreSQL
The following example describes a PostgreSQL service with the default
@@ -23325,6 +23332,7 @@ The initial PostgreSQL roles to create.
@end table
@end deftp
+@anchor{MariaDB/MySQL}
@subsubheading MariaDB/MySQL
@defvr {Scheme Variable} mysql-service-type
@@ -23369,6 +23377,7 @@ be disabled if you would rather do that manually.
@end table
@end deftp
+@anchor{Memcached}
@subsubheading Memcached
@defvr {Scheme Variable} memcached-service-type
@@ -23403,6 +23412,7 @@ Additional command line options to pass to @code{memcached}.
@end table
@end deftp
+@anchor{Redis}
@subsubheading Redis
@defvr {Scheme Variable} redis-service-type
@@ -23438,7 +23448,17 @@ The @code{(gnu services mail)} module provides Guix service definitions
for email services: IMAP, POP3, and LMTP servers, as well as mail
transport agents (MTAs). Lots of acronyms! These services are detailed
in the subsections below.
+@menu
+* Dovecot Service:: An IMAP/POP3/LMTP server.
+* OpenSMTPD Service:: A message transfer agent (MTA) stemming from the OpenBSD project.
+* Exim Service:: Another message transfer agent (MTA).
+* Getmail service:: Get your mail from several mail accounts to your local machine.
+* Mail Aliases Service:: This service which provides /etc/aliases.
+* GNU Mailutils IMAP4 Daemon:: Another IMAP4 Daemon.
+* Radicale Service:: A CalDAV (calendars, to-do lists) and CardDAV (contacts) server.
+@end menu
+@anchor{Dovecot Service}
@subsubheading Dovecot Service
@deffn {Scheme Procedure} dovecot-service [#:config (dovecot-configuration)]
@@ -24846,6 +24866,7 @@ could instantiate a dovecot service like this:
(string "")))
@end lisp
+@anchor{OpenSMTPD Service}
@subsubheading OpenSMTPD Service
@deffn {Scheme Variable} opensmtpd-service-type
@@ -24876,6 +24897,7 @@ remote servers. Run @command{man smtpd.conf} for more information.
@end table
@end deftp
+@anchor{Exim Service}
@subsubheading Exim Service
@cindex mail transfer agent (MTA)
@@ -24915,6 +24937,7 @@ variables.
@end table
@end deftp
+@anchor{Getmail service}
@subsubheading Getmail service
@cindex IMAP
@@ -25206,6 +25229,7 @@ Defaults to @samp{()}.
@end deftypevr
+@anchor{Mail Aliases Service}
@subsubheading Mail Aliases Service
@cindex email aliases
@@ -25234,6 +25258,7 @@ the @code{operating-system}'s @code{user-accounts} in order to deliver
the @code{postmaster} mail to @code{bob} (which subsequently would
deliver mail to @code{bob@@example.com} and @code{bob@@example2.com}).
+@anchor{GNU Mailutils IMAP4 Daemon}
@subsubheading GNU Mailutils IMAP4 Daemon
@cindex GNU Mailutils IMAP4 Daemon
@@ -25264,6 +25289,7 @@ Mailutils Manual}, for details.
@end table
@end deftp
+@anchor{Radicale Service}
@subsubheading Radicale Service
@cindex CalDAV
@cindex CardDAV
@@ -25297,7 +25323,13 @@ on TCP port 5232 of @code{localhost} and use the @code{htpasswd} file at
The @code{(gnu services messaging)} module provides Guix service
definitions for messaging services. Currently it provides the following
services:
+@menu
+* Prosody Service:: A modern XMPP communication server.
+* BitlBee Service:: A IRC gateway to a variety of messaging protocols.
+* Quassel Service:: A modern, cross-platform, distributed IRC client
+@end menu
+@anchor{Prosody Service}
@subsubheading Prosody Service
@deffn {Scheme Variable} prosody-service-type
@@ -25715,6 +25747,7 @@ string, you could instantiate a prosody service like this:
@c end of Prosody auto-generated documentation
+@anchor{BitlBee Service}
@subsubheading BitlBee Service
@cindex IRC (Internet Relay Chat)
@@ -25759,6 +25792,7 @@ Configuration snippet added as-is to the BitlBee configuration file.
@end table
@end deftp
+@anchor{Quassel Service}
@subsubheading Quassel Service
@cindex IRC (Internet Relay Chat)
@@ -25798,7 +25832,12 @@ and Error.
The @code{(gnu services telephony)} module contains Guix service
definitions for telephony services. Currently it provides the following
services:
+@menu
+* Jami:: A distributed multimedia communications platform.
+* Mumble server:: A low latency, high quality voice chat server.
+@end menu
+@anchor{Jami}
@subsubheading Jami
@cindex jami, service
@@ -26020,6 +26059,7 @@ account fingerprint for a registered username.
@end deftp
+@anchor{Mumble server}
@subsubheading Mumble server
@cindex Mumble
@@ -26239,6 +26279,11 @@ going forward.
The @code{(gnu services file-sharing)} module provides services that
assist with transferring files over peer-to-peer file-sharing networks.
+@menu
+* Transmission Daemon Service:: A flexible BitTorrent client.
+@end menu
+
+@anchor{Transmission Daemon Service}
@subsubheading Transmission Daemon Service
@uref{https://transmissionbt.com/, Transmission} is a flexible
@@ -27034,6 +27079,16 @@ Defaults to @samp{#t}.
@node Monitoring Services
@subsection Monitoring Services
+@menu
+* Tailon Service:: A web application for viewing and searching log files.
+* Darkstat Service:: A packet sniffer.
+* Prometheus Node Exporter Service:: A client/agent for the Prometheus monitoring system.
+* Zabbix server:: A high performance monitoring system.
+* Zabbix agent:: Gathers information for the Zabbix monitoring server.
+* Zabbix front-end:: Provides a web interface to Zabbix.
+@end menu
+
+@anchor{Tailon Service}
@subsubheading Tailon Service
@uref{https://tailon.readthedocs.io/, Tailon} is a web application for
@@ -27142,6 +27197,7 @@ the 2nd element of the pair is the password.
@end deftp
+@anchor{Darkstat Service}
@subsubheading Darkstat Service
@cindex darkstat
Darkstat is a packet sniffer that captures network traffic, calculates
@@ -27184,6 +27240,7 @@ Specify the path of the base URL@. This can be useful if
@end deftp
@anchor{prometheus-node-exporter}
+@anchor{Prometheus Node Exporter Service}
@subsubheading Prometheus Node Exporter Service
@cindex prometheus-node-exporter
@@ -27223,6 +27280,7 @@ Extra options to pass to the Prometheus node exporter.
@end table
@end deftp
+@anchor{Zabbix server}
@subsubheading Zabbix server
@cindex zabbix zabbix-server
Zabbix is a high performance monitoring system that can collect data from a
@@ -27314,6 +27372,7 @@ configuration file.
@c %end of fragment
@anchor{zabbix-agent}
+@anchor{Zabbix agent}
@subsubheading Zabbix agent
@cindex zabbix zabbix-agent
@@ -27392,6 +27451,7 @@ configuration file.
@c %end of fragment
@anchor{zabbix-front-end}
+@anchor{Zabbix front-end}
@subsubheading Zabbix front-end
@cindex zabbix zabbix-front-end
@@ -27458,7 +27518,12 @@ Zabbix server port.
The @code{(gnu services kerberos)} module provides services relating to
the authentication protocol @dfn{Kerberos}.
+@menu
+* Krb5 Service:: Create Kerberos client configuration file /etc/krb5.conf.
+* PAM krb5 Service:: Allows for login authentication and password management via Kerberos.
+@end menu
+@anchor{Krb5 Service}
@subsubheading Krb5 Service
Programs using a Kerberos client library normally
@@ -27552,6 +27617,7 @@ field.
@end deftp
+@anchor{PAM krb5 Service}
@subsubheading PAM krb5 Service
@cindex pam-krb5
@@ -28065,7 +28131,20 @@ Defaults to @samp{()}.
@cindex HTTP
The @code{(gnu services web)} module provides the Apache HTTP Server,
the nginx web server, and also a fastcgi wrapper daemon.
+@menu
+* Apache HTTP Server:: A major HTTP server.
+* NGINX:: Another major HTTP server.
+* Varnish Cache:: A fast web cache server.
+* Patchwork:: A patch tracking system.
+* Mumi:: A web interface to the Debbugs bug tracker
+* FastCGI:: An interface between front- and back-end of a web service.
+* PHP-FPM:: An alternative FastCGI implementation for PHP.
+* Hpcguix-web:: A customizable web interface to browse Guix packages.
+* gmnisrv:: A simple Gemini protocol server.
+* Agate:: A simple Gemini protocol server written in Rust.
+@end menu
+@anchor{Apache HTTP Server}
@subsubheading Apache HTTP Server
@deffn {Scheme Variable} httpd-service-type
@@ -28532,6 +28611,7 @@ body of a named location block cannot contain location blocks.
@end table
@end deftp
+@anchor{Varnish Cache}
@subsubheading Varnish Cache
@cindex Varnish
Varnish is a fast cache server that sits in between web applications
@@ -28610,6 +28690,7 @@ Additional arguments to pass to the @command{varnishd} process.
@end table
@end deftp
+@anchor{Patchwork}
@subsubheading Patchwork
@cindex Patchwork
Patchwork is a patch tracking system. It can collect patches sent to a
@@ -28784,6 +28865,7 @@ The port on which to connect to the database.
@end table
@end deftp
+@anchor{Mumi}
@subsubheading Mumi
@cindex Mumi, Debbugs Web interface
@@ -28821,6 +28903,7 @@ mailutils, GNU@tie{}Mailutils}.
@end deftp
+@anchor{FastCGI}
@subsubheading FastCGI
@cindex fastcgi
@cindex fcgiwrap
@@ -29065,6 +29148,7 @@ A simple setup for cat-avatar-generator can look like this:
%base-services))
@end lisp
+@anchor{Hpcguix-web}
@subsubheading Hpcguix-web
@cindex hpcguix-web
@@ -29147,6 +29231,7 @@ Thus, make sure to add @code{nss-certs} or another certificate package to the
more information on X.509 certificates.
@end quotation
+@anchor{gmnisrv}
@subsubheading gmnisrv
@cindex gmnisrv
@@ -29181,6 +29266,7 @@ gmnisrv} and @command{man gmnisrv.ini}.
@end table
@end deftp
+@anchor{Agate}
@subsubheading Agate
@cindex agate
@@ -29460,7 +29546,14 @@ an @emph{authoritative} DNS server for multiple zones, slave or master.
This service uses @uref{https://www.knot-dns.cz/, Knot DNS}. And also a
caching and forwarding DNS server for the LAN, which uses
@uref{http://www.thekelleys.org.uk/dnsmasq/doc.html, dnsmasq}.
+@menu
+* Knot Service:: A DNS server.
+* Knot Resolver Service:: A DNS resolver service based on Knot.
+* Dnsmasq Service:: A DNS caching and DHCP server for small networks.
+* ddclient Service:: Takes care of automatically updating DNS entries.
+@end menu
+@anchor{Knot Service}
@subsubheading Knot Service
An example configuration of an authoritative server for two zones, one master
@@ -29920,6 +30013,7 @@ The list of knot-zone-configuration used by this configuration.
@end table
@end deftp
+@anchor{Knot Resolver Service}
@subsubheading Knot Resolver Service
@deffn {Scheme Variable} knot-resolver-service-type
@@ -29958,6 +30052,7 @@ Number of milliseconds for @code{kres-cache-gc} to periodically trim the cache.
@end deftp
+@anchor{Dnsmasq Service}
@subsubheading Dnsmasq Service
@deffn {Scheme Variable} dnsmasq-service-type
@@ -30098,6 +30193,7 @@ network or obtained a DHCP lease from dnsmasq.
@end table
@end deftp
+@anchor{ddclient Service}
@subsubheading ddclient Service
@cindex ddclient
@@ -30213,7 +30309,14 @@ Defaults to @samp{()}.
The @code{(gnu services vpn)} module provides services related to
@dfn{virtual private networks} (VPNs).
+@menu
+* Bitmask:: A VPN client
+* OpenVPN:: A OpenVPN @emph{client} service.
+* strongSwan:: Configures strongSwan for IPsec.
+* Wireguard:: A Wireguard tunnel interface.
+@end menu
+@anchor{Bitmask}
@subsubheading Bitmask
@defvr {Scheme Variable} bitmask-service-type
@@ -30223,6 +30326,7 @@ the client expects an active polkit-agent, which is either run by your
desktop-environment or should be run manually.
@end defvr
+@anchor{OpenVPN}
@subsubheading OpenVPN
It provides a @emph{client} service for your machine to connect to a
@@ -30603,7 +30707,8 @@ Defaults to @samp{#f}.
@c %end of automatic openvpn-server documentation
-@subheading strongSwan
+@anchor{strongSwan}
+@subsubheading strongSwan
Currently, the strongSwan service only provides legacy-style configuration with
@file{ipsec.conf} and @file{ipsec.secrets} files.
@@ -30640,6 +30745,7 @@ The file name of your @file{ipsec.secrets}. If not @code{#f}, then this and
@end table
@end deftp
+@anchor{Wireguard}
@subsubheading Wireguard
@defvr {Scheme Variable} wireguard-service-type
@@ -30729,6 +30835,15 @@ While it is possible to use the individual components that together make
up a Network File System service, we recommended to configure an NFS
server with the @code{nfs-service-type}.
+@menu
+* NFS Service:: Takes care of setting up all NFS component services, etc.
+* RPC Bind Service:: Maps program numbers into universal addresses.
+* Pipefs Pseudo File System:: Used to transfer NFS related data between the kernel and user space.
+* GSS Daemon Service:: Strong security for RPC based protocols.
+* IDMAP Daemon Service:: Mapping between user IDs and user names.
+@end menu
+
+@anchor{NFS Service}
@subsubheading NFS Service
@cindex NFS, server
@@ -30803,6 +30918,7 @@ is a list of symbols. Any of these symbols are valid: @code{nfsd},
If you don't need a complete NFS service or prefer to build it yourself
you can use the individual component services that are documented below.
+@anchor{RPC Bind Service}
@subsubheading RPC Bind Service
@cindex rpcbind
@@ -30831,6 +30947,7 @@ instance.
@end deftp
+@anchor{Pipefs Pseudo File System}
@subsubheading Pipefs Pseudo File System
@cindex pipefs
@cindex rpc_pipefs
@@ -30852,6 +30969,7 @@ The directory to which the file system is to be attached.
@end deftp
+@anchor{GSS Daemon Service}
@subsubheading GSS Daemon Service
@cindex GSSD
@cindex GSS
@@ -30881,6 +30999,7 @@ The directory where the pipefs file system is mounted.
@end deftp
+@anchor{IDMAP Daemon Service}
@subsubheading IDMAP Daemon Service
@cindex idmapd
@cindex name mapper
@@ -30915,14 +31034,22 @@ The verbosity level of the daemon.
@node Continuous Integration
@subsection Continuous Integration
-
@cindex continuous integration
+
+The @code{(gnu services cuirass)} module provides the following service.
+@menu
+* Cuirass:: A continuous integration tool for Guix.
+* Cuirass remote building:: Distribute builds to several workers.
+* Laminar:: A lightweight and modular Continuous Integration service.
+@end menu
+
+@anchor{Cuirass}
+@subsubheading Cuirass
+
@uref{https://guix.gnu.org/cuirass/, Cuirass} is a continuous
integration tool for Guix. It can be used both for development and for
providing substitutes to others (@pxref{Substitutes}).
-The @code{(gnu services cuirass)} module provides the following service.
-
@defvr {Scheme Procedure} cuirass-service-type
The type of the Cuirass service. Its value must be a
@code{cuirass-configuration} object, as described below.
@@ -31040,6 +31167,7 @@ Extra options to pass when running the Cuirass processes.
@end deftp
@cindex remote build
+@anchor{Cuirass remote building}
@subsubheading Cuirass remote building
Cuirass supports two mechanisms to build derivations.
@@ -31141,6 +31269,7 @@ the store items being published.
@end table
@end deftp
+@anchor{Laminar}
@subsubheading Laminar
@uref{https://laminar.ohwg.net/, Laminar} is a lightweight and modular
@@ -31202,8 +31331,14 @@ Base URL to use for links to laminar itself.
@node Power Management Services
@subsection Power Management Services
+@menu
+* TLP daemon:: A Linux power management tool.
+* Thermald daemon:: An interface to thermald, a CPU frequency scaling service.
+@end menu
+
@cindex tlp
@cindex power management with TLP
+@anchor{TLP daemon}
@subsubheading TLP daemon
The @code{(gnu services pm)} module provides a Guix service definition
@@ -31736,6 +31871,7 @@ Defaults to @samp{#f}.
@cindex thermald
@cindex CPU frequency scaling with thermald
+@anchor{Thermald daemon}
@subsubheading Thermald daemon
The @code{(gnu services pm)} module provides an interface to
@@ -31771,7 +31907,12 @@ Package object of thermald.
The @code{(gnu services audio)} module provides a service to start MPD
(the Music Player Daemon).
+@menu
+* Music Player Daemon:: Can be controlled from the local machine or over the network.
+@end menu
+
@cindex mpd
+@anchor{Music Player Daemon}
@subsubheading Music Player Daemon
The Music Player Daemon (MPD) is a service that can play music while
@@ -31890,7 +32031,16 @@ an HTTP audio streaming output.
The @code{(gnu services virtualization)} module provides services for
the libvirt and virtlog daemons, as well as other virtualization-related
services.
+@menu
+* Libvirt daemon:: Server side daemon of the libvirt system.
+* Virtlog daemon:: Manage logs from virtual machine consoles.
+* Transparent Emulation with QEMU:: Emulate binaries built for different architectures.
+* QEMU Guest Agent:: Provides control over the emulated system to the host.
+* The Hurd in a Virtual Machine:: Run GNU/Hurd in a virtual machine (childhurd).
+* Ganeti:: A virtual machine management system with cluster failover.
+@end menu
+@anchor{Libvirt daemon}
@subsubheading Libvirt daemon
@code{libvirtd} is the server side daemon component of the libvirt
@@ -32454,6 +32604,7 @@ Defaults to @samp{5}.
@c %end of autogenerated docs
+@anchor{Virtlog daemon}
@subsubheading Virtlog daemon
The virtlogd service is a server side daemon component of libvirt that is
used to manage logs from virtual machine consoles.
@@ -32599,6 +32750,7 @@ Defaults to @samp{3}
@end deftypevr
@anchor{transparent-emulation-qemu}
+@anchor{Transparent Emulation with QEMU}
@subsubheading Transparent Emulation with QEMU
@cindex emulation
@@ -32679,6 +32831,7 @@ Return the name of @var{platform}---a string such as @code{"arm"}.
@end deffn
+@anchor{QEMU Guest Agent}
@subsubheading QEMU Guest Agent
@cindex emulation
@@ -32726,6 +32879,7 @@ host. If empty, QEMU uses a default file name.
@end deftp
+@anchor{The Hurd in a Virtual Machine}
@subsubheading The Hurd in a Virtual Machine
@cindex @code{hurd}
@@ -32905,6 +33059,7 @@ the @code{--snapshot} flag using something along these lines:
(options '())))
@end lisp
+@anchor{Ganeti}
@subsubheading Ganeti
@cindex ganeti
@@ -33566,6 +33721,11 @@ the @code{git://} unsecured TCP-based protocol, extending the
@code{nginx} web server to proxy some requests to
@code{git-http-backend}, or providing a web interface with
@code{cgit-service-type}.
+@menu
+* Cgit Service:: A web frontend for Git repositories written in C
+* Gitolite Service:: A tool for hosting Git repositories on a central ser
This message was truncated. Download the full message here.
H
H
Hartmut Goebel wrote on 22 Jun 2022 17:55
[PATCH 2/5] doc: Add menus to Services sub-sections (part 2/2).
(address . 56145@debbugs.gnu.org)
201f3aa5e409f45423ec30187f37ee56cc0f7716.1655908912.git.h.goebel@crazy-compilers.com
* doc/guix.texi (Services)[Base Services, Networking Setup, Networking
Services, X Window, Printing Services, Desktop Services, Sound Services,
LDAP, Certificate Services]: Structure section by adding headings for each
service (in a broader snse fo service), ensure @anchors exist for each
heading and create a @menu at the top of the section.
---
doc/guix.texi | 428 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 423 insertions(+), 5 deletions(-)

Toggle diff (666 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 58eb47535d..4db012d651 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -17267,6 +17267,25 @@ declaration.
The @code{(gnu services base)} module provides definitions for the basic
services that one expects from the system. The services exported by
this module are listed below.
+@menu
+* Services related to files::
+* Hostname::
+* Console::
+* Login::
+* mingetty::
+* agetty::
+* kmscon::
+* Name Service Cache Daemon::
+* Syslog::
+* Guix Build Daemon::
+* Guix Publish::
+* udev::
+* urandom::
+* gpm::
+* rngd::
+* PAM limits::
+* greetd::
+@end menu
@defvr {Scheme Variable} %base-services
This variable contains a list of basic services (@pxref{Service Types
@@ -17287,6 +17306,10 @@ this:
@end lisp
@end defvr
+
+@anchor{Services related to files}
+@subsubheading Services related to files
+
@defvr {Scheme Variable} special-files-service-type
This is the service that sets up ``special files'' such as
@file{/bin/sh}; an instance of it is part of @code{%base-services}.
@@ -17331,10 +17354,18 @@ symlink:
@end lisp
@end deffn
+
+@anchor{Hostname}
+@subsubheading Hostname
+
@deffn {Scheme Procedure} host-name-service @var{name}
Return a service that sets the host name to @var{name}.
@end deffn
+
+@anchor{Console}
+@subsubheading Console
+
@defvr {Scheme Variable} console-font-service-type
Install the given fonts on the specified ttys (fonts are per
virtual console on the kernel Linux). The value of this service is a list of
@@ -17352,6 +17383,10 @@ package or any valid argument to @command{setfont}, as in this example:
@end lisp
@end defvr
+
+@anchor{Login}
+@subsubheading Login
+
@deffn {Scheme Procedure} login-service @var{config}
Return a service to run login according to @var{config}, a
@code{<login-configuration>} object, which specifies the message of the day,
@@ -17374,6 +17409,10 @@ the 'root' account has just been created.
@end table
@end deftp
+
+@anchor{mingetty}
+@subsubheading mingetty
+
@deffn {Scheme Procedure} mingetty-service @var{config}
Return a service to run mingetty according to @var{config}, a
@code{<mingetty-configuration>} object, which specifies the tty to run, among
@@ -17412,6 +17451,10 @@ The Mingetty package to use.
@end table
@end deftp
+
+@anchor{agetty}
+@subsubheading agetty
+
@deffn {Scheme Procedure} agetty-service @var{config}
Return a service to run agetty according to @var{config}, an
@code{<agetty-configuration>} object, which specifies the tty to run,
@@ -17595,6 +17638,10 @@ The option can be used to provides extra shepherd requirements (for example
@end table
@end deftp
+
+@anchor{kmscon}
+@subsubheading kmscon
+
@deffn {Scheme Procedure} kmscon-service-type @var{config}
Return a service to run @uref{https://www.freedesktop.org/wiki/Software/kmscon,kmscon}
according to @var{config}, a @code{<kmscon-configuration>} object, which
@@ -17644,6 +17691,9 @@ The Kmscon package to use.
@end table
@end deftp
+
+@anchor{Name Service Cache Daemon}
+@subsubheading Name Service Cache Daemon
@cindex name service cache daemon
@cindex nscd
@deffn {Scheme Procedure} nscd-service [@var{config}] [#:glibc glibc] @
@@ -17759,9 +17809,13 @@ privacy---often the result of host name lookups is in local cache, so
external name servers do not even need to be queried.
@end defvr
+
@anchor{syslog-configuration-type}
+@anchor{Syslog}
+@subsubheading Syslog
@cindex syslog
@cindex logging
+
@deftp {Data Type} syslog-configuration
This data type represents the configuration of the syslog daemon.
@@ -17784,6 +17838,10 @@ Return a service that runs a syslog daemon according to @var{config}.
information on the configuration file syntax.
@end deffn
+
+@anchor{Guix Build Daemon}
+@subsubheading Guix Build Daemon
+
@defvr {Scheme Variable} guix-service-type
This is the type of the service that runs the build daemon,
@command{guix-daemon} (@pxref{Invoking guix-daemon}). Its value must be a
@@ -17939,6 +17997,10 @@ A list of file-like objects or strings pointing to additional directories the bu
@end table
@end deftp
+
+@anchor{udev}
+@subsubheading udev
+
@deffn {Scheme Procedure} udev-service [#:udev @var{eudev} #:rules @code{'()}]
Run @var{udev}, which populates the @file{/dev} directory dynamically.
udev rules can be provided as a list of files through the @var{rules}
@@ -18047,6 +18109,10 @@ well as in the @var{groups} of the @code{udev-rules-service} procedure.
%desktop-services)))
@end lisp
+
+@anchor{urandom}
+@subsubheading urandom
+
@defvr {Scheme Variable} urandom-seed-service-type
Save some entropy in @code{%random-seed-file} to seed @file{/dev/urandom}
when rebooting. It also tries to seed @file{/dev/urandom} from
@@ -18060,8 +18126,12 @@ This is the name of the file where some random bytes are saved by
It defaults to @file{/var/lib/random-seed}.
@end defvr
+
+@anchor{gpm}
+@subsubheading gpm
@cindex mouse
@cindex gpm
+
@defvr {Scheme Variable} gpm-service-type
This is the type of the service that runs GPM, the @dfn{general-purpose
mouse daemon}, which provides mouse support to the Linux console. GPM
@@ -18088,7 +18158,11 @@ The GPM package to use.
@end table
@end deftp
+
@anchor{guix-publish-service-type}
+@anchor{Guix Publish}
+@subsubheading Guix Publish
+
@deffn {Scheme Variable} 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}
@@ -18173,6 +18247,9 @@ seconds for the negative lookups. @xref{Invoking guix publish,
@end deftp
@anchor{rngd-service}
+@anchor{rngd}
+@subsubheading rngd
+
@deffn {Scheme Procedure} rngd-service [#:rng-tools @var{rng-tools}] @
[#:device "/dev/hwrng"]
Return a service that runs the @command{rngd} program from @var{rng-tools}
@@ -18180,7 +18257,10 @@ to add @var{device} to the kernel's entropy pool. The service will fail if
@var{device} does not exist.
@end deffn
+
@anchor{pam-limits-service}
+@anchor{PAM limits}
+@subsubheading PAM limits
@cindex session limits
@cindex ulimit
@cindex priority
@@ -18228,6 +18308,10 @@ about the Pluggable Authentication Module (PAM) limits, refer to the
@samp{pam_limits} man page from the @code{linux-pam} package.
@end deffn
+
+@anchor{greetd}
+@subsubheading greetd
+
@defvr {Scheme Variable} greetd-service-type
@uref{https://git.sr.ht/~kennylevinsen/greetd, @code{greetd}} is a minimal and
flexible login manager daemon, that makes no assumptions about what you
@@ -18686,6 +18770,20 @@ configuration or a simple DHCP client are often more appropriate.
This section describes the various network setup services available,
starting with static network configuration.
+@menu
+* Static Networking::
+* DHCP Client::
+* NetworkManager::
+* Connman::
+* WiFi / WPA::
+* ModemManager::
+* USB Modeswitch::
+@end menu
+
+
+@anchor{Static Networking}
+@subsubheading Static Networking
+
@defvr {Scheme Variable} static-networking-service-type
This is the type for statically-configured network interfaces. Its
value must be a list of @code{static-networking} records. Each of them
@@ -18862,13 +18960,20 @@ when using QEMU's user-mode network stack on @code{eth0} (@pxref{Using
the user mode network stack,,, QEMU, QEMU Documentation}).
@end defvr
+
+@anchor{DHCP Client}
+@subsubheading DHCP Client
@cindex DHCP, networking service
+
@defvr {Scheme Variable} dhcp-client-service-type
This is the type of services that run @var{dhcp}, a Dynamic Host Configuration
Protocol (DHCP) client, on all the non-loopback network interfaces. Its value
is the DHCP client package to use, @code{isc-dhcp} by default.
@end defvr
+
+@anchor{NetworkManager}
+@subsubheading NetworkManager
@cindex NetworkManager
@defvr {Scheme Variable} network-manager-service-type
@@ -18939,7 +19044,11 @@ package, which allows NetworkManager to manage VPNs @i{via} OpenVPN.
@end table
@end deftp
+
+@anchor{Connman}
+@subsubheading Connman
@cindex Connman
+
@deffn {Scheme Variable} connman-service-type
This is the service type to run @url{https://01.org/connman,Connman},
a network connection manager.
@@ -18968,7 +19077,11 @@ When true, disable connman's vpn plugin.
@end table
@end deftp
+
+@anchor{WiFi / WPA}
+@subsubheading WiFi / WPA
@cindex WPA Supplicant
+
@defvr {Scheme Variable} wpa-supplicant-service-type
This is the service type to run @url{https://w1.fi/wpa_supplicant/,WPA
supplicant}, an authentication daemon required to authenticate against
@@ -19005,7 +19118,11 @@ List of additional command-line arguments to pass to the daemon.
@end table
@end deftp
+
+@anchor{ModemManager}
+@subsubheading ModemManager
@cindex ModemManager
+
Some networking devices such as modems require special care, and this is
what the services below focus on.
@@ -19029,6 +19146,9 @@ The ModemManager package to use.
@end table
@end deftp
+
+@anchor{USB Modeswitch}
+@subsubheading USB Modeswitch
@cindex USB_ModeSwitch
@cindex Modeswitching
@@ -19079,6 +19199,38 @@ running a WiFi access point with @command{hostapd}, running the
@command{inetd} ``superdaemon'', and more. This section describes
those.
+@menu
+* DHCP Server::
+* hostapd::
+* Simulate WiFi Networking::
+* iptables::
+* nftables::
+* ntpd::
+* OpenNTPD::
+* inetd::
+* OpenDHT::
+* Tor Anonymous Networking Daemon::
+* rsync Server::
+* syncthing::
+* SSH::
+* lsh::
+* OpenSSH::
+* Dropbear SSH Daemon::
+* AutoSSH::
+* WebSSH::
+* Facebook Host Aliases::
+* avahi::
+* Open vSwitch::
+* PageKite::
+* Yggdrasil::
+* IPFS network::
+* keepalived::
+@end menu
+
+@anchor{DHCP Server}
+@subsubheading DHCP Server
+@cindex DHCP
+
@deffn {Scheme Procedure} dhcpd-service-type
This type defines a service that runs a DHCP daemon. To create a
service of this type, you must supply a @code{<dhcpd-configuration>}.
@@ -19124,8 +19276,12 @@ interfaces here; see @code{man dhcpd} for details.
@end table
@end deftp
+
+@anchor{hostapd}
+@subsubheading hostapd
@cindex hostapd service, for Wi-Fi access points
@cindex Wi-Fi access points, hostapd service
+
@defvr {Scheme Variable} hostapd-service-type
This is the service type to run the @uref{https://w1.fi/hostapd/,
hostapd} daemon to set up WiFi (IEEE 802.11) access points and
@@ -19175,6 +19331,11 @@ configuration file reference.
@end table
@end deftp
+
+@anchor{Simulate WiFi Networking}
+@subsubheading Simulate WiFi Networking
+@cindex WiFi
+
@defvr {Scheme Variable} simulated-wifi-service-type
This is the type of a service to simulate WiFi networking, which can be
useful in virtual machines for testing purposes. The service loads the
@@ -19187,7 +19348,10 @@ The service's value is a @code{hostapd-configuration} record.
@end defvr
+@anchor{iptables}
+@subsubheading iptables
@cindex iptables
+
@defvr {Scheme Variable} iptables-service-type
This is the service type to set up an iptables configuration. iptables is a
packet filtering framework supported by the Linux kernel. This service
@@ -19237,7 +19401,11 @@ objects}).
@end table
@end deftp
+
+@anchor{nftables}
+@subsubheading nftables
@cindex nftables
+
@defvr {Scheme Variable} nftables-service-type
This is the service type to set up a nftables configuration. nftables is a
netfilter project that aims to replace the existing iptables, ip6tables,
@@ -19264,9 +19432,13 @@ The nftables ruleset to use. This may be any ``file-like'' object
@end table
@end deftp
+
+@anchor{ntpd}
+@subsubheading ntpd
@cindex NTP (Network Time Protocol), service
@cindex ntpd, service for the Network Time Protocol daemon
@cindex real time clock
+
@defvr {Scheme Variable} ntp-service-type
This is the type of the service running the @uref{https://www.ntp.org,
Network Time Protocol (NTP)} daemon, @command{ntpd}. The daemon will keep the
@@ -19325,7 +19497,11 @@ to use with the options @option{iburst} and @option{prefer}, as well as
@end table
@end deftp
+
+@anchor{OpenNTPD}
+@subsubheading OpenNTPD
@cindex OpenNTPD
+
@deffn {Scheme Procedure} openntpd-service-type
Run the @command{ntpd}, the Network Time Protocol (NTP) daemon, as implemented
by @uref{http://www.openntpd.org, OpenNTPD}. The daemon will keep the system
@@ -19379,7 +19555,11 @@ IP addresses, @code{ntpd} will calculate a median constraint from all of them.
@end table
@end deftp
+
+@anchor{inetd}
+@subsubheading inetd
@cindex inetd
+
@deffn {Scheme variable} inetd-service-type
This service runs the @command{inetd} (@pxref{inetd invocation,,,
inetutils, GNU Inetutils}) daemon. @command{inetd} listens for
@@ -19472,8 +19652,12 @@ must be @code{'()} or @code{'("internal")}.
detailed discussion of each configuration field.
@end deftp
-@cindex opendht, distributed hash table network service
+
+@anchor{OpenDHT}
+@subsubheading OpenDHT
+@cindex OpenDHT, distributed hash table network service
@cindex dhtproxy, for use with jami
+
@defvr {Scheme Variable} opendht-service-type
This is the type of the service running a @uref{https://opendht.net,
OpenDHT} node, @command{dhtnode}. The daemon can be used to host your
@@ -19566,7 +19750,11 @@ Defaults to @samp{disabled}.
@end deftypevr
@end deftp
+
+@anchor{Tor Anonymous Networking Daemon}
+@subsubheading Tor Anonymous Networking Daemon
@cindex Tor
+
@defvr {Scheme Variable} tor-service-type
This is the type for a service that runs the @uref{https://torproject.org,
Tor} anonymous networking daemon. The service is configured using a
@@ -19641,6 +19829,10 @@ See @uref{https://www.torproject.org/docs/tor-hidden-service.html.en, the Tor
project's documentation} for more information.
@end deffn
+@anchor{rsync Server}
+@subsubheading rsync Server
+@cindex rsync
+
The @code{(gnu services rsync)} module provides the following services:
You might want an rsync daemon if you have files that you want available
@@ -19746,6 +19938,11 @@ client.
@end table
@end deftp
+
+@anchor{syncthing}
+@subsubheading syncthing
+@cindex syncthing
+
The @code{(gnu services syncthing)} module provides the following services:
@cindex syncthing
@@ -19795,7 +19992,17 @@ directory is @file{$HOME} of the specified Syncthing @code{user}.
@end deftp
@end deffn
+
+@anchor{SSH}
+@subsubheading SSH
+@cindex SSH
+@cindex SSH server
+
Furthermore, @code{(gnu services ssh)} provides the following services.
+
+
+@anchor{lsh}
+@subsubheading lsh
@cindex SSH
@cindex SSH server
@@ -19835,8 +20042,11 @@ root.
The other options should be self-descriptive.
@end deffn
+@anchor{OpenSSH}
+@subsubheading OpenSSH
@cindex SSH
@cindex SSH server
+
@deffn {Scheme Variable} 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
@@ -20027,6 +20237,12 @@ Match Address 192.168.0.1
@end table
@end deftp
+
+@anchor{Dropbear SSH Daemon}
+@subsubheading Dropbear SSH Daemon
+@cindex SSH
+@cindex SSH server
+
@deffn {Scheme Procedure} dropbear-service [@var{config}]
Run the @uref{https://matt.ucc.asn.au/dropbear/dropbear.html,Dropbear SSH
daemon} with the given @var{config}, a @code{<dropbear-configuration>}
@@ -20068,7 +20284,11 @@ Whether to enable password-based authentication.
@end table
@end deftp
+
+@anchor{AutoSSH}
+@subsubheading AutoSSH
@cindex AutoSSH
+
@deffn {Scheme Variable} 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,
@@ -20148,7 +20368,11 @@ may cause undefined behaviour.
@end table
@end deftp
+
+@anchor{WebSSH}
+@subsubheading WebSSH
@cindex WebSSH
+
@deffn {Scheme Variable} 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
@@ -20223,6 +20447,10 @@ Logging level.
@end table
@end deftp
+
+@anchor{Facebook Host Aliases}
+@subsubheading Facebook Host Aliases
+
@defvr {Scheme Variable} %facebook-host-aliases
This variable contains a string for use in @file{/etc/hosts}
(@pxref{Host Names,,, libc, The GNU C Library Reference Manual}). Each
@@ -20252,6 +20480,10 @@ This mechanism can prevent programs running locally, such as Web
browsers, from accessing Facebook.
@end defvr
+
+@anchor{avahi}
+@subsubheading avahi
+
The @code{(gnu services avahi)} provides the following definition.
@defvr {Scheme Variable} avahi-service-type
@@ -20303,6 +20535,11 @@ This is a list of domains to browse.
@end table
@end deftp
+
+@anchor{Open vSwitch}
+@subsubheading Open vSwitch
+@cindex Open vSwitch
+
@deffn {Scheme Variable} 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}
@@ -20321,6 +20558,11 @@ Package object of the Open vSwitch.
@end table
@end deftp
+
+@anchor{PageKite}
+@subsubheading PageKite
+@cindex PageKite
+
@defvr {Scheme Variable} pagekite-service-type
This is the service type for the @uref{https://pagekite.net, PageKite} service,
a tunneling solution for making localhost servers publicly visible, even from
@@ -20367,6 +20609,11 @@ Use this to add additional options and manage shared secrets out-of-band.
@end table
@end deftp
+
+@anchor{Yggdrasil}
+@subsubheading Yggdrasil
+@cindex Yggdrasil
+
@defvr {Scheme Variable} yggdrasil-service-type
The service type for connecting to the @uref{https://yggdrasil-network.github.io/,
Yggdrasil network}, an early-stage implementation of a fully end-to-end
@@ -20455,7 +20702,11 @@ address, delete everything except these options:
@end table
@end deftp
+
+@anchor{IPFS network}
+@subsubheading IPFS network
@cindex IPFS
+
@defvr {Scheme Variable} ipfs-service-type
The service type for connecting to the @uref{https://ipfs.io,IPFS network},
a global, versioned, peer-to-peer file system. Pass it a
@@ -20486,7 +20737,11 @@ Address of the API endpoint, in ‘multiaddress’ format.
@end table
@end deftp
+
+@anchor{keepalived}
+@subsubheading keepalived
@cindex keepalived
+
@deffn {Scheme Variable} keepalived-service-type
This is the type for the @uref{https://www.keepalived.org/, Keepalived}
routing software, @command{keepalived}. Its value must be an
@@ -20676,16 +20931,25 @@ File where unattended upgrades are logged.
@end table
@end deftp
+
@node X Window
@subsection X Window
@cindex X11
@cindex X Window System
+
@cindex login manager
Support for the X Window graphical display system---specifically
Xorg---is provided by the @code{(gnu services xorg)} module. Note that
there is no @code{xorg-service} procedure. Instead, the X server is
started by the @dfn{login manager}, by default the GNOME Display Manager (GDM).
+@menu
+* GNOME Desktop Manager (GDM)::
+* SLiM graphical login manager::
+* SDDM login manager::
+* Xorg configuration::
+* Screen Locker::
+@end menu
@cindex GDM
@cindex GNOME, login manager
@@ -20705,6 +20969,10 @@ its user interface, and it can also start Wayland sessions. The former is
required for the latter, to enable, set @code{wayland?} to @code{#t} in
@code{gdm-configuration}.
+
+@anchor{GNOME Desktop Manager (GDM)}
+@subsubheading GNOME Desktop Manager (GDM)
+
@defvr {Scheme Variable} gdm-service-type
This is the type for the @uref{https://wiki.gnome.org/Projects/GDM/, GNOME
Desktop Manager} (GDM), a program that manages graphical display ser
This message was truncated. Download the full message here.
H
H
Hartmut Goebel wrote on 22 Jun 2022 17:55
[PATCH 3/5] doc: Fix a URL.
(address . 56145@debbugs.gnu.org)
dd90991ec810e25827a4482258e884eb4971a0d1.1655908912.git.h.goebel@crazy-compilers.com
* doc/guix.texi (Services)[Desktop Services]: Fix an URL.
---
doc/guix.texi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 4db012d651..f8f730648a 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -22313,7 +22313,7 @@ The GNOME package to use.
@subsubheading Xfce Desktop Environment
@defvr {Scheme Variable} xfce-desktop-service-type
-This is the type of a service to run the @uref{Xfce, https://xfce.org/}
+This is the type of a service to run the @uref{https://xfce.org/, Xfce}
desktop environment. Its value is an @code{xfce-desktop-configuration} object
(see below).
--
2.30.4
H
H
Hartmut Goebel wrote on 22 Jun 2022 17:55
[PATCH 4/5] doc: Small rewording.
(address . 56145@debbugs.gnu.org)
4a6eda0d158024e82be8b0fba97473df06713649.1655908913.git.h.goebel@crazy-compilers.com
* doc/guix.texi (Services)[Continuous Integration]: Add quotes to mark terms
as such. Fix typo.
---
doc/guix.texi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (17 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index f8f730648a..db352bed95 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -31597,8 +31597,8 @@ evaluated, they are sent to the local Guix daemon. Cuirass then
listens to the Guix daemon output to detect the various build events.
@item Using the remote build mechanism.
-The build jobs are not submitted to the local Guix daemon. Instead, a
-remote server dispatches build requests to the connect remote workers,
+The build jobs are not submitted to the local Guix daemon. Instead, one
+``remote server'' dispatches build requests to the connected ``remote workers'',
according to the build priorities.
@end itemize
--
2.30.4
H
H
Hartmut Goebel wrote on 22 Jun 2022 17:55
[PATCH 5/5] doc: Add a URL link.
(address . 56145@debbugs.gnu.org)
5569dcfb004430b8f4fe203203a27be58ca2a221.1655908913.git.h.goebel@crazy-compilers.com
* doc/guix.texi (Services)[Telephony Services]{Jami}: Add link to the Jami
project home-page.
---
doc/guix.texi | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Toggle diff (16 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index db352bed95..25a6ca210d 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -26245,7 +26245,8 @@ services:
@cindex jami, service
-This section describes how to configure a Jami server that can be used
+This section describes how to configure a
+@uref{https://jami.net/, Jami} server that can be used
to host video (or audio) conferences, among other uses. The following
example demonstrates how to specify Jami account archives (backups) to
be provisioned automatically:
--
2.30.4
M
M
Maxime Devos wrote on 22 Jun 2022 20:59
Re: [bug#56145] [PATCH 0/5] Add menus to Services sub-sections
5342635245f0ba67f4320279e3bf755335355c98.camel@telenet.be
Hartmut Goebel schreef op wo 22-06-2022 om 16:45 [+0200]:
Toggle quote (7 lines)
> Whenever I searched the services, it bugged me that I need to scroll through
> all the section to find which services are implemented and described
> here. These patches add a @menu to each service section listing the headings
> withing the section.  The second patch adds headings for sections which did
> not have heading strucutres.
>

Looking through the patches, looks nice and useful to me!
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYrNmlRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7igoAQCrFXLQH8PvwicOCeDwXm3MNgzp
oQY2UZ5UMBqmt6u3ygEAy1UkGb9E9ZZsDk/pIwEhIIGtCcmctfrnlr0qqFZlAQs=
=Mwt1
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 3 Jul 2022 12:33
Re: bug#56145: [PATCH 0/5] Add menus to Services sub-sections
(name . Hartmut Goebel)(address . h.goebel@crazy-compilers.com)(address . 56145@debbugs.gnu.org)
87bku61o68.fsf_-_@gnu.org
Hi,

This looks like a welcome improvement! Nitpick:

Hartmut Goebel <h.goebel@crazy-compilers.com> skribis:

Toggle quote (5 lines)
> +* Tailon Service:: A web application for viewing and searching log files.
> +* Darkstat Service:: A packet sniffer.
> +* Prometheus Node Exporter Service:: A client/agent for the Prometheus monitoring system.
> +* Zabbix server:: A high performance monitoring system.

I think you can remove the article “a”, it doesn’t bring much.

Thanks,
Ludo’.
L
L
Ludovic Courtès wrote on 3 Jul 2022 12:38
(name . Hartmut Goebel)(address . h.goebel@crazy-compilers.com)(address . 56145@debbugs.gnu.org)
874jzy1nx3.fsf_-_@gnu.org
Hartmut Goebel <h.goebel@crazy-compilers.com> skribis:

Toggle quote (6 lines)
> * doc/guix.texi (Services)[Base Services, Networking Setup, Networking
> Services, X Window, Printing Services, Desktop Services, Sound Services,
> LDAP, Certificate Services]: Structure section by adding headings for each
> service (in a broader snse fo service), ensure @anchors exist for each
> heading and create a @menu at the top of the section.

I’m less convinced about this one. I wonder if, instead of adding
anchors, we should add proper sectioning at the same level as the
existing sections (“Base Services”, etc.).

Also, I don’t think we need one section (or anchor) per service:
mingetty, agetty, and kmscon typically belong in the same section;
likewise for urandom and rngd; udev, syslog, and nscd are arguably good
fits under “Base Services”.

WDYT?

Toggle quote (3 lines)
> +* Services related to files::
> +* Hostname::

Typographic note: titles should be capitalized, and “host name” is two
words. :-)

IWBN to have synopses after double colons like you did in the first
patch.

Ludo’.
H
H
Hartmut Goebel wrote on 4 Jul 2022 16:30
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 56145@debbugs.gnu.org)
92089bc8-c60e-aa33-b285-807d4fc7992f@crazy-compilers.com
Am 03.07.22 um 12:38 schrieb Ludovic Courtès:

Toggle quote (3 lines)
> I’m less convinced about this one. I wonder if, instead of adding
> anchors, we should add proper sectioning at the same level as the
> existing sections (“Base Services”, etc.).
I don't actually understand what you mean. Currently each section
described one or more services. The section groups the services into
„all LDAP related‘, „all X11 related“, etc. This patch basically adds
the anchors, whereas the other patch uses the anchors that already
exist. So basically they result in the same.

Do you suggest to split „Base Services” into several sections? (Like
„Console service“, “Randow data services‘, etc.)

Toggle quote (2 lines)
> Also, I don’t think we need one section (or anchor) per service:

Having a TOC of all services is my actual intention. I want to have a
list which


Toggle quote (5 lines)
> Typographic note: titles should be capitalized, and “host name” is two
> words. :-)
>
> IWBN to have synopses after double colons like you did in the first
> patch.
I'll fix this (and the remarks on the other patch) in the next reroll,
after we agreed on how this should look like in the end.

--
Regards
Hartmut Goebel

| Hartmut Goebel | h.goebel@crazy-compilers.com |
| www.crazy-compilers.com | compilers which you thought are impossible |
L
L
Ludovic Courtès wrote on 4 Jul 2022 22:08
(name . Hartmut Goebel)(address . h.goebel@crazy-compilers.com)(address . 56145@debbugs.gnu.org)
87a69o8wts.fsf@gnu.org
Hi,

Hartmut Goebel <h.goebel@crazy-compilers.com> skribis:

Toggle quote (19 lines)
> Am 03.07.22 um 12:38 schrieb Ludovic Courtès:
>
>> I’m less convinced about this one. I wonder if, instead of adding
>> anchors, we should add proper sectioning at the same level as the
>> existing sections (“Base Services”, etc.).
> I don't actually understand what you mean. Currently each section
> described one or more services. The section groups the services into
> „all LDAP related‘, „all X11 related“, etc. This patch basically adds
> the anchors, whereas the other patch uses the anchors that already
> exist. So basically they result in the same.
>
> Do you suggest to split „Base Services” into several sections? (Like
> „Console service“, “Randow data services‘, etc.)
>
>> Also, I don’t think we need one section (or anchor) per service:
>
> Having a TOC of all services is my actual intention. I want to have a
> list which

(Incomplete sentence.)

To be clear: I think we must not abuse sectioning to make an index;
there’s already an index, and we can add concept index entries if that’s
what’s missing.

However, what we could/should do is improve structure. We can do that
by grouping related services together, essentially splitting existing
sections into finer-grain sections—e.g., ‘Base Services’ might be split
into two or three sections. That’s not the same as adding one heading
and one anchor for each service.

Does that make sense?

Thanks,
Ludo’.
?