Commit graph

1724 commits

Author SHA1 Message Date
Bruno Victal
16a48d94bc
services: alsa: Export accessors.
* gnu/services/sound.scm: Export alsa-configuration?,
alsa-configuration-alsa-plugins, alsa-configuration-pulseaudio?
and alsa-configuration-extra-options.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-07 11:39:49 +01:00
Bruno Victal
25638729cb
services: pulseaudio: Export accessors.
* gnu/services/sound.scm: Export pulseaudio-configuration?,
pulseaudio-configuration-client-conf, pulseaudio-configuration-daemon-conf,
pulseaudio-configuration-script-file, pulseaudio-configuration-extra-script-files
and pulseaudio-configuration-system-script-file.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-07 11:39:49 +01:00
Felix Lechner
882112b581
services: knot: Default zone-file-refresh to 12h.
The Knot DNS service in Guix uses two days, or 48 hours, for the SOA
refresh interval but that is outside the range of RFC 1912, which is
entitled "Common DNS Operational and Configuration Errors." [1]

Section 2.2 of RFC 1912 recommends a maximum of 12 hours for the SOA
refresh rate: "You can keep it short (20 mins to 2 hours) if you
aren't worried about a small increase in bandwidth used, or longer
(2-12 hours) if your Internet connection is slow or is started on
demand."

This commit sets the default refresh interval at the nearest value
recommended by the standard, which is 12 hours.

Due to the widespread adoption of NOTIFY messages between primary and
secondary DNS servers, the SOA refresh interval has arguably lost some
importance, but the Guix default should still be in line with the
standards.

Values outside the recommended range can provoke warning messages from
services commonly used to find bugs in DNS configurations, such as the
MX Toolbox Super Tool. [2]

[1] https://datatracker.ietf.org/doc/rfc1912/
[2] https://mxtoolbox.com/SuperTool.aspx

* gnu/services/dns.scm (<zone-file>)[refresh]: Default to (* 12 3600).

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2023-03-06 16:10:27 +08:00
Bruno Victal
cd22932945
services: desktop: Set default value for geoclue-service-type.
This follows up on commit ae0975332c60818793c6c63a3646c982d686bf49?.

* gnu/services/desktop.scm (geoclue-service-type): Set default-value.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2023-02-26 01:00:07 +01:00
Bruno Victal
2799ad4423
services: dbus: Deprecate 'dbus-service' procedure.
* doc/guix.texi (Desktop Services): Replace with 'dbus-root-service-type'.
Document dbus-configuration.
* gnu/services/dbus.scm (dbus-service): Define with 'define-deprecated'.
* gnu/services/desktop.scm (desktop-services-for-system): Replace with
dbus-root-service-type.
* gnu/system/install.scm (%installation-services): Ditto.
* gnu/tests/base.scm (%avahi-os): Ditto.
* gnu/tests/docker.scm (%docker-os): Ditto.
* gnu/tests/lightdm.scm (minimal-desktop-services): Ditto.
* gnu/tests/virtualization.scm (%libvirt-os): Ditto.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:35 +01:00
Bruno Victal
7c23dab85c
services: spice: Deprecate 'spice-vdagent-service' procedure.
* doc/guix.texi (Miscellaneous Services): Replace 'spice-vdagent-service' with
'spice-vdagent-service-type'. Document <spice-vdagent-configuration>.
* gnu/services/spice.scm (spice-vdagent-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:35 +01:00
Bruno Victal
e24555234a
services: lirc: Deprecate 'lirc-service' procedure.
* doc/guix.texi (Miscellaneous Services): Replace 'lirc-service' with 'lirc-service-type'.
Document <lirc-configuration>.
* gnu/services/lirc.scm (<lirc-configuration>): Set default values based on
the arguments from the now deprecated 'lirc-service' procedure.
(lirc-service-type): Set default value.
(lirc-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal
eddd9b1240
services: vpn: Deprecate 'openvpn-client-service' & 'openvpn-server-service' procedures.
* doc/guix.texi (VPN Services): Replace 'openvpn-client-service' & 'openvpn-server-service' procedures
with their service-type counterparts.
* gnu/services/vpn.scm (openvpn-client-service, openvpn-server-service): Deprecate procedure.
(openvpn-server-service-type, openvpn-client-service-type): Set default value.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal
c6cbce9ad8
services: mail: Deprecate 'dovecot-service' procedure.
* doc/guix.texi (Mail Services): Replace 'dovecot-service' with 'dovecot-service-type'.
* gnu/services/mail.scm (dovecot-service-type): Set default value.
(dovecot-service): Deprecate procedure.
* gnu/tests/mail.scm (%dovecot-os): Use dovecot-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal
be1435d668
services: desktop: Deprecate 'bluetooth-service' procedure.
* doc/guix.texi (Desktop Services): Remove mention of 'bluetooth-service'.
* gnu/services/desktop.scm (bluetooth-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal
ae0975332c
services: desktop: Deprecate 'geoclue-service' procedure.
* doc/guix.texi (Desktop Services): Replace 'geoclue-service' with 'geoclue-service-type'.
* gnu/services/desktop.scm (<geoclue-configuration>): Set default values
based on the values from the now deprecated geoclue-service procedure.
(geoclue-service): Deprecate procedure.
(desktop-services-for-system): Use geoclue-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal
e8f161ea11
services: desktop: Deprecate 'udisks-service' procedure.
* doc/guix.texi (Desktop Services): Replace 'udisks-service' with 'udisks-service-type'.
Document <udisks-configuration>.
* gnu/packages/kde-multimedia.scm (k3b)[description]: Replace 'udisks-service' with 'udisks-service-type'.
* gnu/services/desktop.scm (udisks-service-type): Set default value.
(udisks-service): Deprecate procedure.
(desktop-services-for-system): Use udisks-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal
ffc5d42fc2
services: dbus: Deprecate 'polkit-service' procedure.
* doc/guix.texi (Desktop Services): Replace 'polkit-service' with 'polkit-service-type'.
* gnu/services/dbus.scm (polkit-service): Deprecate procedure.
* gnu/tests/docker.scm (%docker-os): Use polkit-service-type.
* gnu/tests/virtualization.scm (%libvirt-os): Ditto.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal
c3dc13e29c
services: desktop: Deprecate 'accountsservice-service' procedure.
* doc/guix.texi (Desktop Services): Replace 'accountsservice-service'
with 'accountsservice-service-type'.
* gnu/services/desktop.scm (accountsservice-service): Deprecate procedure.
(desktop-services-for-system): Use accountsservice-service-type.
* gnu/tests/lightdm.scm (minimal-desktop-services): Ditto.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:33 +01:00
Bruno Victal
ca3a73de3d
services: elogind-configuration: Do not ignore 'handle-hibernate-key' by default.
* gnu/services/desktop.scm (<elogind-configuration>)[handle-hibernate-key]: Set default value to 'hibernate.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:33 +01:00
Bruno Victal
00767d967d
services: desktop: Deprecate 'elogind-service' procedure.
* doc/guix.texi (Desktop Services): Replace 'elogind-service' with
'elogind-service-type'.
* gnu/services/desktop.scm (elogind-service): Deprecate procedure.
(desktop-services-for-system): Use elogind-service-type.
* gnu/tests/lightdm.scm (minimal-desktop-services): Ditto.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:33 +01:00
Bruno Victal
3b2e88011a
services: ssh: Deprecate 'dropbear-service' procedure.
* doc/guix.texi (Networking Services): Replace 'dropbear-service' with
'dropbear-service-type'.
* gnu/services/ssh.scm (dropbear-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:33 +01:00
Bruno Victal
0e21015fd2
services: ssh: Deprecate 'lsh-service' procedure.
* doc/guix.texi (Networking Services): Remove mention of lsh-service.
Document lsh-service-type and lsh-service-configuration.
* gnu/services/ssh.scm (<lsh-configuration>): Set default values based
on the now deprecated 'lsh-service' procedure.
(lsh-service-type): Set default value.
(lsh-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:33 +01:00
Bruno Victal
31b1e22926
services: base: Deprecate 'rngd-service' procedure.
* doc/guix.texi (Base Services): Replace rngd-service with rngd-service-type.
Document <rngd-configuration>.
* gnu/services/base.scm (<rngd-configuration>): Set default values from
the values in the now deprecated 'rngd-service' procedure.
(rngd-service): Deprecate procedure.
(rngd-service-type): Set default value.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:33 +01:00
Bruno Victal
2e7516168e
services: base: Deprecate 'udev-service' procedure.
* doc/guix.texi (Base Services): Replace udev-service with udev-service-type.
Document <udev-configuration>. Use @defun @-commands for udev-rules-service,
udev-rule and file->udev-rule.
* gnu/services/base.scm (udev-service): Deprecate procedure.
* gnu/system/install.scm (%installation-services): Use udev-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
6edacf2491
services: base: Deprecate 'syslog-service' procedure.
* doc/guix.texi (Base Services): Replace syslog-service with syslog-service-type.
* gnu/services/base.scm (%default-syslog.conf): Place before <syslog-configuration>.
(syslog-service-type): Set default value.
(syslog-service): Deprecate procedure.
(%base-services): Use syslog-service-type.
* gnu/system/hurd.scm (%base-services/hurd): Ditto.
* gnu/system/install.scm (%installation-services): Ditto.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
98e9dc6ab7
services: base: Deprecate 'nscd-service' procedure.
* doc/guix.texi (Application Setup): Compress @cindex entries.
(Base Services): Compress @cindex entries. Delete %nscd-default-configuration.
Replace 'nscd-service' with 'nscd-service-type'.
* gnu/services/base.scm (%nscd-default-configuration): Deprecate variable.
(nscd-service): Deprecate procedure.
* gnu/system/install.scm (%installation-services): Use nscd-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
4892c0186e
services: base: Deprecate 'agetty-service' procedure.
* doc/guix.texi (Base Services): Replace agetty-service with
agetty-service-type.
* gnu/services/base.scm (agetty-service): Deprecate procedure.
* gnu/system/examples/beaglebone-black.tmpl
(operating-system)[services]: Use agetty-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
ad665a38fc
services: base: Deprecate 'mingetty-service' procedure.
* doc/guix.texi (Base Services): Replace mingetty-service with
mingetty-service-type.
* gnu/services/base.scm (mingetty-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
6dd635b4cf
services: base: Deprecate 'login-service' procedure.
* doc/guix.texi (Base Services): Replace with login-service-type.
* gnu/services/base.scm (login-service): Deprecate procedure.
* gnu/system/install.scm (%installation-services): Use login-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
cb00e600ff
services: base: Deprecate 'host-name-service' procedure.
* doc/guix.texi (operating-system Reference): Reorder cross-reference.
Add an anchor to be used ...
(Base services): ... here by host-name-service-type. Document
host-name-service-type.
* gnu/services/base.scm: Export host-name-service-type.
(host-name-service): Deprecate procedure.
* gnu/system.scm (operating-system-default-essential-services): Use
host-name-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:31 +01:00
Ricardo Wurmus
d7f9eb0e87
gnu: sugar-desktop-configuration: Allow specification of activities.
* gnu/services/desktop.scm (<sugar-desktop-configuration>): Add new fields for
activities and gobject-introspection.
(sugar-gobject-introspection, sugar-activities): New procedures.
(sugar-desktop-service-type): Install packages for activities and
gobject-introspection alongside the sugar package.
* doc/guix.texi (Desktop Services): Document changes.
2023-02-28 23:17:22 +01:00
Ricardo Wurmus
6118c1e228
services: Add sugar-desktop-service-type.
* gnu/services/desktop.scm (sugar-desktop-service-type): New variable.
(sugar-polkit-settings, sugar-desktop-configuration,
make-sugar-desktop-configuration, sugar-desktop-configuration?,
sugar-package): New procedures.
(<sugar-desktop-configuration>): New record.
* doc/guix.texi (Desktop Services): Document it.
2023-02-28 18:12:19 +01:00
Ludovic Courtès
43c36c5c9f
ui: 'display-hint' quotes extra arguments for Texinfo.
Fixes <https://issues.guix.gnu.org/61201>.

Previously, common practice was to splice arbitrary strings (user names,
file names, etc.) into Texinfo snippets passed to 'display-hint'.  This
is unsafe in the general case because at signs and braces need to be
escaped to produced valid Texinfo.  This commit addresses that.

* guix/ui.scm (texinfo-quote): New procedure.
(display-hint): When ARGUMENTS is non-empty, pass it to 'texinfo-quote'
and call 'format'.
(report-unbound-variable-error, check-module-matches-file)
(display-collision-resolution-hint, run-guix-command): Remove explicit
'format' call; pass 'format' arguments as extra arguments to 'display-hint'.
* gnu/services/monitoring.scm (zabbix-front-end-config): Likewise.
* guix/scripts.scm (warn-about-disk-space): Likewise.
* guix/scripts/build.scm (%standard-cross-build-options)
(%standard-native-build-options): Likewise.
* guix/scripts/describe.scm (display-checkout-info): Likewise.
* guix/scripts/environment.scm (suggest-command-name): Likewise.
* guix/scripts/home.scm (process-command): Likewise.
* guix/scripts/home/edit.scm (service-type-not-found): Likewise.
* guix/scripts/import.scm (guix-import): Likewise.
* guix/scripts/package.scm (display-search-path-hint): Likewise.
* guix/scripts/pull.scm (build-and-install): Likewise.
* guix/scripts/shell.scm (auto-detect-manifest): Likewise.
* guix/scripts/system.scm (check-file-system-availability): Likewise.
(guix-system): Likewise.
* guix/scripts/system/edit.scm (service-type-not-found): Likewise.
* guix/status.scm (print-build-event): Likewise.
2023-02-27 23:40:43 +01:00
Maxim Cournoyer
dd31263eb4
services: gnome-desktop-service-type: Extend setuid-program-service-type.
* gnu/services/desktop.scm (gnome-setuid-programs): New variable.
(gnome-desktop-service-type): Extend setuid-program-service-type with it.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-02-25 14:46:55 -05:00
Maxim Cournoyer
abadd0f81f
services: desktop: Extract a new gnome-package procedure.
* gnu/services/desktop.scm (<gnome-desktop-configuration>): Rename gnome
package accessor to gnome-desktop-configuration-gnome, to avoid name conflict.
(gnome-packages): Change first argument from a config object to a the gnome
package used.  Rename second argument from package to name.  Extract core
logic into...
(gnome-package): ... this.
(gnome-udev-rules, gnome-polkit-settings): Adjust accordingly.
(gnome-desktop-service-type): Likewise.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-02-25 14:46:54 -05:00
Maxim Cournoyer
acbb112c1b
services: gnome-polkit-settings: Add spice-gtk.
* gnu/services/desktop.scm (gnome-polkit-settings): Add spice-gtk to the GNOME
packages providing polkit rules.
(package-direct-input-selector): Allow passing a list corresponding to the
dependency tree, so that non-propagated transitive inputs can be specified.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-02-25 14:46:54 -05:00
Ludovic Courtès
d00c2e9c2b
services: console-font, kmscon: Refer to native 'font-gnu-unifont' builds.
Fixes a regression introduce in 01334a61c7
that would prevent system cross-compilation (with "guix system image
--target=...") due to 'font-gnu-unifont' depending on 'perl-gd', which
currently cannot be cross-compiled.

* gnu/services/base.scm (%default-console-font, kmscon-service-type):
Refer to 'font-gnu-unifont' with 'ungexp-native'.
2023-02-25 00:00:33 +01:00
Ludovic Courtès
35e64a8793
services: hosts: Do not export '%host'.
This was not meant to be exported.

* gnu/services/base.scm (%host): Do not export.
* doc/guix.texi (Base Services): Remove mention.
2023-02-23 16:31:36 +01:00
Julien Lepiller
01334a61c7
gnu: Use unifont by default in TTYs.
It has even better language support than LatGrkCyr-8x16 and can show
fancy progress bars.

* gnu/services/base.scm (%default-console-font): Use unifont.
2023-02-19 10:09:10 +01:00
Jelle Licht
06e3f239b9
services: greetd: Fix configuration serialization.
* gnu/services/base.scm (make-greetd-terminal-configuration-file): Add missing
'general' section to configuration file.
2023-02-09 15:33:29 +01:00
Bruno Victal
8a2c2eaa90
services: lightdm: Sync documentation with source.
Table entry @item nodes cannot span multiple lines.

* gnu/services/lightdm.scm
(lightdm-gtk-greeter-configuration): Fix cursor-theme-size description.
* doc/guix.texi (lightdm-service-type): Sync with source.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-02-08 22:40:40 -05:00
Bruno Victal
a5f473db6f
services: configuration: Format a list of packages by their names.
* gnu/services/configuration.scm
(generate-documentation): Format a list of packages by their names.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-02-08 22:40:39 -05:00
Bruno Victal
b0e18601db
services: Add block-facebook-hosts-service-type.
Deprecates %facebook-host-aliases in favour of using
hosts-service-type service extensions.

* gnu/services/networking.scm
(block-facebook-hosts-service-type): New variable.
(%facebook-host-aliases): Deprecate variable.
* doc/guix.texi: Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-02-09 01:07:54 +01:00
Bruno Victal
22dd558c70
services: Add hosts-service-type.
* gnu/services/base.scm (<host>): New record type.
(host): New procedure.
(hosts-service-type): New variable.
* doc/guix.texi (Service Reference): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-02-09 01:07:39 +01:00
Maxim Cournoyer
aef75942fc
gnu: libjami: Move jamid daemon to a "bin" output.
* gnu/packages/jami.scm (libjami) [outputs]: Add a "bin" output.
[arguments]: Add a move-jamid phase.
* gnu/services/telephony.scm
(jami-configuration->command-line-arguments): Refer to the "bin" output of
libjami.
(jami-shepherd-services): Likewise.
2023-02-08 09:36:26 -05:00
Bruno Victal
4b9e1e8458
services: mpd: Fix serialization procedure for list-of-string.
This is a followup to commit 5c5f0fc113

* gnu/services/audio.scm (mpd-serialize-list-of-string): Fix serialization procedure.

Signed-off-by: Leo Famulari <leo@famulari.name>
2023-02-05 18:25:10 +01:00
Bruno Victal
139c9a53cb
services: Add mympd-service-type.
* gnu/services/audio.scm (mympd-service-type): New variable.
* gnu/tests/audio.scm (%test-mympd): New variable.
* doc/guix.texi: Document it.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-02-05 06:56:44 +01:00
Bruno Victal
637a9c3b26
services: mpd: Do not hardcode environment variables.
Services should not expect for XDG_RUNTIME_DIR to be set.
Inferring from the past comment, this seemed to resolve an issue when
the service was launched with an _interactive_ user-account,
which tends to have this variable set by the login-manager.

This is not the case for system accounts and setting this variable
results in PulseAudio (launched by the same system user) failing to start
since it attempts to use a nonexistent directory.

Ideally, this service should have a home-service counterpart but the old
behavior can be emulated by setting the environment-variables field to:

(environment-variables
  (list
    (string-append "XDG_RUNTIME_DIR=/run/user/"
                   (number->string (passwd:uid (getpwnam "myuser"))))))

* gnu/services/audio.scm
(mpd-configuration)[environment-variables]: New field.
(mpd-shepherd-service)[start]: Use new field.
* doc/guix.texi (Audio Services)[Music Player Daemon]: Document it.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-02-05 06:56:43 +01:00
Bruno Victal
5c5f0fc113
services: mpd: Refactor MPD service.
Refactor mpd-service-type to support additional mpd.conf directives
and move activation-service-extension into service constructor.

* gnu/services/audio.scm (mpd-plugin, mpd-partition): New records.

(mpd-serialize-boolean): Alias to and integrate logic into...
(mpd-serialize-field): ... this.
(mpd-serialize-list-of-string): New variable.

(mpd-plugin?, mpd-partition?, list-of-string?, list-of-symbol?)
(list-of-mpd-plugin?, list-of-mpd-partition?)
(list-of-mpd-plugin-or-output?, port?): New variables.

(mpd-file-name, mpd-service-activation): Remove variables.

(mpd-configuration)
[package, group, shepherd-requirement, log-file, log-level, music-directory]
[playlist-directory, endpoints, database, partitions, neighbors, inputs]
[archive-plugins, input-cache-size, decoders, resampler, filters]
[playlist-plugins, extra-options]: New fields.
[music-dir, playlist-dir, address]: Deprecate shorthand fields.
[db-file, state-file, sticker-file, port, outputs]: Change admissible type.

(mpd-shepherd-service)
[actions]: New shepherd actions: 'reopen' and 'configuration'.
[requirement]: Splice with 'shepherd-requirement' field.
[start]: Use 'package' field. Remove #:log-file parameter.
Move activation-service extension into constructor.

(mpd-accounts): Honor user and group names from configuration.
(mpd-log-rotation): New procedure.
(mpd-service-type)[extensions]: Add rottlog-service-type extension.
Remove activation-service-type extension.

(mpd-output-name, mpd-output-type, mpd-output-enabled?, mpd-output-format)
(mpd-output-tags?, mpd-output-always-on?, mpd-output-mixer-type)
(mpd-output-replay-gain-handler, mpd-output-extra-options)
(mpd-plugin-plugin, mpd-plugin-name, mpd-plugin-enabled?)
(mpd-plugin-extra-options)
(mpd-partition-name, mpd-partition-extra-options)
(mpd-configuration-package, mpd-configuration-user)
(mpd-configuration-group, mpd-configuration-shepherd-requirement)
(mpd-configuration-log-file, mpd-configuration-log-level)
(mpd-configuration-music-directory, mpd-configuration-music-dir)
(mpd-configuration-playlist-directory, mpd-configuration-playlist-dir)
(mpd-configuration-db-file, mpd-configuration-state-file)
(mpd-configuration-sticker-file, mpd-configuration-default-port)
(mpd-configuration-endpoints, mpd-configuration-address)
(mpd-configuration-database, mpd-configuration-partitions)
(mpd-configuration-neighbors, mpd-configuration-inputs)
(mpd-configuration-archive-plugins, mpd-configuration-input-cache-size)
(mpd-configuration-decoders, mpd-configuration-resampler)
(mpd-configuration-filters, mpd-configuration-outputs)
(mpd-configuration-playlist-plugins, mpd-configuration-extra-options): Export accessors.

* doc/guix.texi (Audio Services)[Music Player Daemon]: Update documentation.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-02-05 06:56:43 +01:00
Bruno Victal
d7fd9ec209
services: mpd: Rewrite using 'define-configuration'.
* gnu/services/audio.scm
(mpd-configuration, mpd-output): Rewrite using define-configuration.
(uglify-field-name, mpd-serialize-field, mpd-serialize-alist)
(mpd-serialize-number, mpd-serialize-boolean, mpd-serialize-list-of-mpd-output)
(mpd-serialize-configuration): New procedure.
(list-of-mpd-output?): New predicate.
(mpd-config->file, mpd-output->string): Remove procedure.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-02-05 06:56:43 +01:00
Christopher Baines
9a5533c653
services: nar-herder: Add cached compression support.
* gnu/services/guix.scm (<nar-herder-cached-compression-configuration>): New
record type.
(nar-herder-configuration-cached-compressions,
nar-herder-configuration-cached-compression-min-uses,
nar-herder-configuration-cached-compression-workers,
nar-herder-configuration-cached-compression-nar-source,
nar-herder-cached-compression-configuration,
nar-herder-cached-compression-configuration?,
nar-herder-cached-compression-configuration-type,
nar-herder-cached-compression-configuration-level,
nar-herder-cached-compression-configuration-directory,
nar-herder-cached-compression-configuration-directory-max-size): New
procedures.
* doc/guix.texi (Guix Services): Document this.
2023-02-03 15:18:44 +01:00
Ludovic Courtès
6ffeef92e6
services: hpcguix-web: Provide default values.
* gnu/services/web.scm (<hpcguix-web-configuration>)[specs]: Default to #f.
(hpcguix-web-shepherd-service): Do not pass '--config' when SPECS is #f.
(hpcguix-web-service-type)[default-value]: New field.
* doc/guix.texi (Web Services): Adjust accordingly.
2023-01-22 18:12:09 +01:00
Declan Tsien
0f20fc4dd9
services: connman: Add iwd backend support.
* gnu/services/networking.scm (connman-configuration)[iwd?]: New field.
(connman-shepherd-service): Add iwd? logic, remove wpa-supplicant requirement.
* doc/guix.texi: Add information about connman-configuration iwd? option.

Co-authored-by: Andrew Tropin <andrew@trop.in>
Signed-off-by: Andrew Tropin <andrew@trop.in>
2023-01-16 20:59:30 +04:00
Zhu Zihao
daa471a738
gnu: services: Export polkit-configuration.
Export for user customization.

* gnu/services/dbus.scm (polkit-configuration): Export.
(polkit-configuration?): Export.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2023-01-16 15:08:22 +08:00