services: Docker: Fix typo in configuration.
This is a follow-up to f0a09310e6ff2ed63770cb585c551ba94ce4a9d0.
* gnu/services/docker.scm (docker-shepherd-service): Properly reference
variables in service definition.
services: docker: Fix enable-proxy? option.
The userland proxy option does not properly disable the userland proxy when
set to false. Docker defaults to enabling the userland proxy if the option is
unset on the command line.
* gnu/services/docker.scm (docker-shepherd-service): Properly handle the
'enable-proxy?' option.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
services: base: Improve container related comments.
* gnu/services/base.scm (guix-shepherd-service): Clarify the usage of a
container for guix-daemon.
services: dicod: Reduce irony.
* gnu/services/dict.scm (dicod-service): Fix docstring typo.
services: bitlbee: Support libpurple plugins.
* gnu/services/messaging.scm (bitlbee-shepherd-service): Pass
PURPLE_PLUGIN_PATH as #:environment-variables.
services: docker: Fix service definition.
This commit follows a404716d411cf7cd49ff02e3100f0bbf6622d6d5.
* gnu/services/docker.scm
(docker-configuration)[docker-cli]: New record field.
(docker-service-type): Use this.
* doc/guix.texi (Miscellaneous Services)[Docker Service]: Document this.
services: docker: Fix service definition.
This is a follow-up to 8422a67dc16af4dd5eb82180463aa7a0b362d5b9.
* gnu/services/docker.scm (docker-service-type): Use a composed list for
packages in profile-service-type.
services: docker: Make docker command available.
* gnu/services/docker.scm (docker-service-type): Extend the
profile-service-type and add the docker-cli package.
services: certbot: Support registration without email.
* gnu/services/certbot.scm (certbot-configuration): Add default for the
email option.
(certbot-command): Pass email for registration only when specified.
* doc/guix.texi (Certificate Services): "mandatory"→"optional" email.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
services: Fix zram-device-service.
* gnu/services/linux.scm (<zram-device-configuration>): Fix typo.
services: dovecot: Only serialize settings with non-empty values.
* gnu/services/mail.scm (serialize-space-separated-string-list): Protocols
might have custom settings, which are not supported by other protocols. To
prevent dovecot/services from crashing, serialize settings that hold non-empty
values only.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
services: php-fpm: Add 'php-ini-file' configuration.
* gnu/services/web.scm: (<php-fpm-configuration>)[php-ini-file]: New record field.
(php-fpm-shepherd-service): Use it.
* doc/guix.texi (Web Services): Document it.
services: dovecot: Serialize global settings first.
* gnu/services/mail.scm (dovecot-configuration): To avoid dovecot warning
messages, move serialization of protocol settings below the global one.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
services: dovecot: Use modules via symlink to system profile.
* gnu/services/mail.scm (%dovecot-activation): Link the location with multiple
plugins (dovecot-pigeonhole, etc), to a place where dovecot can find them.
* gnu/services/mail.scm (dovecot-configuration): Use the symlink.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
installer: Run the installation inside a container.
When the store overlay is mounted, other processes such as kmscon, udev
and guix-daemon may open files from the store, preventing the
underlying install support from being umounted. See:
https://lists.gnu.org/archive/html/guix-devel/2018-12/msg00161.html.
To avoid this situation, mount the store overlay inside a container,
and run the installation from within that container.
* gnu/build/shepherd.scm (fork+exec-command/container): New procedure.
* gnu/services/base.scm (guix-shepherd-service): Support an optional PID
argument passed to the "start" method. If that argument is passed, ensure that
guix-daemon enters the given PID MNT namespace by using
fork+exec-command/container procedure.
* gnu/installer/final.scm (umount-cow-store): Remove it,
(install-system): run the installation from within a container.
* gnu/installer/newt/final.scm (run-install-shell): Remove the display hack.
services: childhurd: Always include the secret-service.
* gnu/services/virtualization.scm (secret-service-operating-system): New
procedure.
(hurd-vm-disk-image): Use it to ensure a Childhurd always includes the
secret-service.
(%hurd-vm-operating-system): Remove secret-service.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
services: childhurd: Support installing secrets from the host.
* gnu/services/virtualization.scm (%hurd-vm-operating-system): Add
secret-service.
(hurd-vm-shepherd-service): Use it to install secrets.
* doc/guix.texi (The Hurd in a Virtual Machine): Document it.
services: Add secret-service-type.
This adds a "secret-service" that can be added to a Childhurd VM to receive
out-of-band secrets (keys) sent from the host.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* gnu/services/virtualization.scm (secret-service-activation): New procedure.
(secret-service-type): New variable.
* gnu/build/secret-service.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
services: fcgiwrap: Create parent directory for unix socket.
* gnu/services/web.scm (fcgiwrap-activation): New function.
(fcgiwrap-service-type): Extend activation-service-type with
fcgiwrap-activation.