* gnu/services/sound.scm (pulseaudio-environment): New procedure.
(pulseaudio-service-type): New variable.
* doc/guix.texi (Sound Services): Document it.
In Guile < 2.9.7, autoloading a module would give you access to all its
bindings. In future versions, autoloading a module gives access only to
the listed bindings, as per #:select (see <https://bugs.gnu.org/38895>).
This commit adjusts autoloads to the new semantics, allowing Guix to be
built with Guile 2.9.7/2.9.8.
* guix/build/download.scm <top level>: Remove call to 'module-autoload!'.
(load-gnutls): New procedure.
(tls-wrap): Call it.
* guix/git.scm <top level>: Remove call to 'module-autoload!'.
(load-git-submodules): New procedure.
(update-submodules): Call it instead of 'resolve-interface'.
* gnu/bootloader/grub.scm: Replace #:autoload with #:use-module.
* gnu/packages.scm: Likewise.
* gnu/packages/ssh.scm: Likewise.
* gnu/packages/tex.scm: Likewise.
* gnu/services/cuirass.scm: Likewise.
* gnu/services/mcron.scm: Likewise.
* guix/lint.scm: Augment list of bindings in #:autoload.
* guix/scripts/build.scm: Likewise.
* guix/scripts/gc.scm: Likewise.
* guix/scripts/pack.scm: Likewise.
* guix/scripts/publish.scm: Likewise.
* guix/scripts/pull.scm: Likewise.
* guix/utils.scm: Remove unnecessary #:autoload clauses; replace one
of them with #:use-module.
This solution was kindly provided by Bernard M. Wiedemann.
* gnu/services/base.scm (console-font-service-type): Add ter132n (terminus 132
nomal) font example, for HDPI displays.
* doc/guix.texi (Invoking guix system): Update to `guix system search console'
example output.
* gnu/services/web.scm (%mumi-activation, %mumi-accounts): New variables.
(mumi-shepherd-services): New procedure.
(mumi-service-type): New variable.
* doc/guix.texi (Web Services): Document it.
* gnu/services/desktop.scm: (<gnome-keyring-configuration>): New record type.
(pam-gnome-keyring): New procedure.
(gnome-keyring-service-type): New variable.
* doc/guix.texi (Desktop Services): Document it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/services/pam-mount.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (PAM Mount Service): New subsection.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/services/sysctl.scm (sysctl-shepherd-service): Adjust shepherd
service to use the 'one-shot?' keyword. Remove 'stop' command. Remove
'respawn' option.
* gnu/services/networking.scm (pagekite-service-type): New service type.
(<pagekite-configuration>): New record type.
(pagekite-shepherd-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
* gnu/services/dns.scm (<knot-resolver-configuration>): New record type.
(knot-resolver-activation, knot-resolver-shpherd-services): New procedures.
(%knot-resolver-accounts, %kresd.conf, knot-resolver-service-type): New
variables.
* doc/guix.texi (DNS Services): Document it.
* gnu/services/web.scm (<nginx-configuration>): Add modules field.
(nginx-configuration-modules): New field accessor.
(emit-load-module): New procedure.
(default-nginx-config): Add support for the modules field.
* doc/guix.texi (NGINX): Document it.
* gnu/services/virtualization.scm (libvirt-shepherd-service): Add sbin to
the PATH variable, as ip binary is installed there.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This typically halves the number of entries in
/etc/dbus-1/system-local.conf.
* gnu/services/dbus.scm (dbus-configuration-directory)[build](directives):
New macro.
(services->sxml): Use it.
Fixes <https://bugs.gnu.org/37911>.
Reported by Jack Hill <jackhill@jackhill.us>.
Sometime between 1.1.8 and 1.4.3, 'colord' moved had its
'org.freedesktop.ColorManager.conf' file moved from
"etc/dbus-1/system.d" to "share/dbus-1/system.d". Adjust to this
change.
* gnu/services/dbus.scm (dbus-configuration-directory): Add an
'includedir' directive for DIR/share/dbus-1/system.d.
Fixes issue #37504 (see: https://bugs.gnu.org/37504).
The bug was caused by the fact that destructuring an <ntp-configuration>
record using match would bind the 'servers' field without using the
compatibility accessor.
* gnu/services/networking.scm (ntp-shepherd-service): Replace `match-lambda'
by distinct `lambda' and `match' calls, so that the 'servers' field can be
generated by applying the `ntp-configuration-servers' procedure to the
configuration object.
* gnu/services/networking.scm (ntp-server->string): Use the textual
representation of the values as printed by 'display' rather than 'write', to
avoid inserting double quotes in the generated config.
* tests/networking.scm (%ntp-server-sample): Add a comment and make one of the
options a string, to exercise the fix.
("ntp-server->string"): Move the expected value to the first argument.
("ntp configuration servers deprecated form"): Likewise.
("openntpd generated config string ends with a newline"): Likewise.
* gnu/services/audio.scm (<mpd-output>): New record type.
(<mpd-configuration>)[outputs]: New field.
(mpd-output, mpd-output?, mpd-output->string): New procedures.
(mpd-config->file): Use mpd-output->string.
* doc/guix.texi (Audio Services): Document mpd-output fields.
This is a followup to commit 62c2217570.
* gnu/services/base.scm (agetty-shepherd-service)[start]: Wrap un
'with-imported-modules'. This fixes a build error when TTY is true
("no code for module (gnu build linux-boot)").
Unlike gdm-service-type, sddm-service-type cannot be configured in an
operating-system configuration by simply adding (service
sddm-service-type). This adds the default SDDM configuration just like
GDM does..
* gnu/services/sddm.scm (sddm-service-type)[default-value]: New field.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/services/desktop.scm (xfce-desktop-service-type): Add
xfce4-power-manager to polkit-service-type service extension via
new procedure 'xfce-polkit-settings'.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
Previously, on startup, we'd see:
dbus: Unknown username nm-openconnect in message bus configuration file
This fixes it.
* gnu/services/networking.scm (network-manager-accounts): New procedure.
(network-manager-service-type): Extend 'account-service-type'.
* gnu/packages/gnome.scm (network-manager-openconnect)[properties]: Add
'user-accounts'.
This reduces resident memory for PID 1 from 29.8MiB to 28.7MiB right
after boot on a bare-bones system (x86_64-linux).
* gnu/services/shepherd.scm (scm->go): New procedure.
(shepherd-configuration-file)[config]: Call it and use 'load-compiled'
instead of 'primitive-load'.
Partly fixes <https://bugs.gnu.org/37501>.
Reported by Marius Bakke <mbakke@fastmail.com>.
* gnu/services/base.scm (urandom-seed-shepherd-service): In 'start'
method, add calls to 'add-to-entropy-count'.