Commit graph

1202 commits

Author SHA1 Message Date
Oleg Pykhalov
6a5a477df4
services: docker: Fix missing containerd-shim binary.
This commit fixes error 'time="2020-10-16T…" level=error msg="Handler for POST
/v1.40/containers/…/start returned error: failed to start shim: exec:
\"containerd-shim\": executable file not found in $PATH: unknown"'.

* gnu/services/docker.scm
(containerd-shepherd-service): Add "containerd-shim" to PATH.
2020-10-17 00:43:24 +03:00
Oleg Pykhalov
00014f7692
services: nginx: Add lua module.
* gnu/services/web.scm (<nginx-configuration>)
[lua-package-path, lua-package-cpath]: New record types.
* gnu/services/web.scm (default-nginx-config): Use them.
* doc/guix.texi (Web Services): Document this.
* doc/guix-cookbook.texi (System Configuration): Document this.
2020-10-14 23:41:26 +03:00
Lulu
5436b673f5
services: nginx: Fix typo in exported symbol.
* gnu/services/web.scm: Fix typo in exported symbol.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2020-10-14 14:34:15 +02:00
Marius Bakke
d7fb4199c7
services: ganeti: Fix typo.
* gnu/services/ganeti.scm (ganeti-luxid-service-type)[description]: Fix typo.
2020-10-10 23:39:17 +02:00
Ludovic Courtès
cf197bff6a
services: hurd-vm: Add 'gdb-minimal' to the default OS.
* gnu/services/virtualization.scm (%hurd-vm-operating-system)[packages]:
New field.
2020-10-09 23:59:14 +02:00
Christopher Baines
65c9f07a16
services: guix: Don't use normalized codeset for Guix Data Service.
This matches up with changes in the Guix Data Service to not use the
normalized codeset.

* gnu/services/guix.scm (guix-data-service-shepherd-services): Change the
LC_ALL codeset to UTF-8.
2020-10-08 20:21:02 +01:00
Alex Griffin
d8258177fe
services: Fix gdm-autologin pam service.
* gnu/services/xorg.scm (gdm-pam-service): Mark pam_gdm.so optional.
2020-10-07 10:29:26 -05:00
Danny Milosavljevic
34d1c0a03b
services: dnsmasq: Add TFTP configuration fields.
* gnu/services/dns.scm (<dnsmasq-configuration>): Add TFTP configuration
fields.
(dnsmasq-shepherd-service): Use them.
* doc/guix.texi (DNS Services): Document them.
2020-10-06 08:13:39 +02:00
Julien Lepiller
4e3ed9bad9
services: gitolite: Install the rc file as gitolite's user.
* gnu/services/version-control.scm (gitolite-activation): Install the rc
file as gitolite's user.
2020-10-05 19:41:23 +02:00
Christopher Baines
c14714cbbf
services: guix: Add guix-build-coordinator-queue-builds-service-type.
* gnu/services/guix.scm (<guix-build-coordinator-queue-builds-configuration>):
New record type.
(guix-build-coordinator-queue-builds-configuration,
guix-build-coordinator-queue-builds-configuration?,
guix-build-coordinator-queue-builds-configuration-package,
guix-build-coordinator-queue-builds-configuration-user,
guix-build-coordinator-queue-builds-coordinator,
guix-build-coordinator-queue-builds-configuration-systems,
guix-build-coordinator-queue-builds-configuration-system-and-targets,
guix-build-coordinator-queue-builds-configuration-guix-data-service,
guix-build-coordinator-queue-builds-configuration-processed-commits-file,
guix-build-coordinator-queue-builds-shepherd-services,
guix-build-coordinator-queue-builds-activation,
guix-build-coordinator-queue-builds-account): New procedures.
(guix-build-coordinator-queue-builds-service-type): New variable.
* doc/guix.texi (Guix Services): Document it.
2020-10-05 18:10:48 +01:00
Christopher Baines
98ab323a24
services: guix: Add guix-build-coordinator-agent-service-type.
* gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): New
record type.
(guix-build-coordinator-agent-configuration,
guix-build-coordinator-agent-configuration?,
guix-build-coordinator-agent-configuration-package,
guix-build-coordinator-agent-configuration-user,
guix-build-coordinator-agent-configuration-coordinator,
guix-build-coordinator-agent-configuration-uuid),
guix-build-coordinator-agent-configuration-password,
guix-build-coordinator-agent-configuration-password-file,
guix-build-coordinator-agent-configuration-systems,
guix-build-coordinator-agent-configuration-max-parallel-builds,
guix-build-coordinator-agent-configuration-derivation-substitute-urls,
guix-build-coordinator-agent-configuration-non-derivation-substitute-urls,
guix-build-coordinator-agent-shepherd-services,
guix-build-coordinator-agent-activation,
guix-build-coordinator-agent-account): New procedures.
(guix-build-coordinator-agent-service-type): New variable.
* doc/guix.texi (Guix Services): Document it.
2020-10-05 18:10:48 +01:00
Christopher Baines
15955e9b54
services: guix: Add guix-build-coordinator-service-type.
* gnu/services/guix.scm (<guix-build-coordinator-configuration>): New record
type.
(guix-build-coordinator-configuration, guix-build-coordinator-configuration?,
guix-build-coordinator-configuration-package,
guix-build-coordinator-configuration-user,
guix-build-coordinator-configuration-group,
guix-build-coordinator-configuration-datastore-uri-string,
guix-build-coordinator-configuration-agent-communication-uri-string,
guix-build-coordinator-configuration-client-communication-uri-string,
guix-build-coordinator-configuration-allocation-strategy,
guix-build-coordinator-configuration-hooks,
guix-build-coordinator-configuration-guile,
make-guix-build-coordinator-start-script,
guix-build-coordinator-shepherd-services, guix-build-coordinator-activation,
guix-build-coordinator-account): New procedures.
(guix-build-coordinator-service-type): New variable.
* gnu/tests/guix.scm (%test-guix-build-coordinator): New variable.
* doc/guix.texi (Guix Services): Document it.
2020-10-05 18:10:48 +01:00
Mathieu Othacehe
d6a8f0a978
services: cuirass: Fix activation.
Fixes: <https://issues.guix.gnu.org/43760>.

* gnu/services/cuirass.scm (cuirass-activation): Do not create
queries-log-file and web-queries-log-file if the corresponding config file are
unset.
2020-10-02 14:58:01 +02:00
Maxim Cournoyer
d40c9f6c85
services: %desktop-services: Setuid root NTFS and NFS mount helpers.
Fixes <https://issues.guix.info/39670>.

Combined with commit def6e2ae46, this allows unprivileged users to mount file
systems marked with the "user" option.  It adds less than 4 MiB to the closure
of the lightweight-desktop.tmpl operating system template.

* gnu/services/desktop.scm (%desktop-services): Extend the
setuid-program-service-type service with the 'mount.nfs' and 'mount.nfs-3g'
programs.

Reported-by: Nathan Dehnel <ncdehnel@gmail.com>
2020-10-01 15:47:55 -04:00
Oleg Pykhalov
da6aec32cf
gnu: Add webssh service.
* gnu/services/ssh.scm:
(<webssh-configuration>): New record type.
(%webssh-configuration-nginx, webssh-service-type): New variables.
(webssh-account, webssh-activation, webssh-shepherd-service): New procedures.
* doc/guix.texi: Document this.
2020-10-01 10:15:29 +03:00
Jan (janneke) Nieuwenhuizen
04a459a069
services: hurd-vm: Add childhurd user to kvm group.
This is a follow-up to commit d692ebf980.

* gnu/services/virtualization.scm (%hurd-vm-accounts)[supplementary-groups]:
Add ’kvm’.
* gnu/services/virtualization.scm (hurd-vm-shepherd-service): Use #:group
"kvm"
2020-09-30 12:30:28 +02:00
Mathieu Othacehe
2f1f7b6667
services: virtualization: Use a compressed qcow2 hurd disk-image.
* gnu/services/virtualization.scm (hurd-vm-disk-image): Use 'compressed-qcow2
format.
2020-09-30 10:47:58 +02:00
Ludovic Courtès
59261a22f9
services: secret-service: Add initial client/server handshake.
This allows the client running on the host to know when it's actually
connect to the server running in the guest.  Failing that, the client
would connect right away to QEMU and send secrets even though the server
is not running yet in the guest, which is unreliable.

* gnu/build/secret-service.scm (secret-service-send-secrets): Add
 #:handshake-timeout.  Read from SOCK an initial message from the
server.  Return #f on error.
(secret-service-receive-secrets): Send 'secret-service-server' message
to the client.  Close SOCK upon timeout.
* gnu/services/virtualization.scm (hurd-vm-shepherd-service): 'start'
method returns #f when 'secret-service-send-secrets' returns #f.
2020-09-29 21:56:27 +02:00
Ludovic Courtès
e352706ad3
services: secret-service: Move instance last in the list of services.
* gnu/services/virtualization.scm (secret-service-operating-system): Add
the SECRET-SERVICE-TYPE instance to the end of the list.
2020-09-29 21:56:27 +02:00
Ludovic Courtès
1edb7c7eec
services: hurd-vm: Pass "-no-reboot" when spawning the Hurd VM.
* gnu/services/virtualization.scm (hurd-vm-shepherd-service)[vm-command]:
Add "--no-reboot".
2020-09-29 21:56:27 +02:00
Ludovic Courtès
37283f9f3e
services: hurd-vm: Initialize the guest's SSH/Guix keys at activation time.
* gnu/services/virtualization.scm (initialize-hurd-vm-substitutes)
(hurd-vm-activation): New procedures.
(hurd-vm-service-type)[extensions]: Add ACTIVATION-SERVICE-TYPE
extension.
* doc/guix.texi (Transparent Emulation with QEMU): Mention GNU/Hurd.
(The Hurd in a Virtual Machine): Explain which files are automatically
installed and mention offloading.
2020-09-29 21:56:27 +02:00
Ludovic Courtès
d367a7f3d0
services: guix: Generate key pair if needed during activation.
* gnu/services/base.scm (guix-activation): Invoke "guix archive
--generate-key".
* doc/guix.texi (Invoking guix archive)
(Invoking guix deploy): Mention that 'guix-service-type' takes care of
generating the key pair.
2020-09-29 21:56:27 +02:00
Ludovic Courtès
8ac318068b
services: hurd-vm: Check whether /dev/kvm exists at run time.
This change allows a childhurd to run within Guix System in a VM.

* gnu/services/virtualization.scm (hurd-vm-shepherd-service)[vm-command]:
Stage the 'file-exists?' call.
2020-09-29 21:56:26 +02:00
Ludovic Courtès
dabb00ffee
services: childhurd: Tweak description.
* gnu/services/virtualization.scm (hurd-vm-service-type)[description]:
Mention "childhurd".
2020-09-29 21:56:26 +02:00
Ludovic Courtès
d692ebf980
services: hurd-vm: Run QEMU as an unprivileged user.
Until qemu was running as "root", which is unnecessary.

* gnu/services/virtualization.scm (%hurd-vm-accounts): New variable.
(hurd-vm-service-type)[extensions]: Add ACCOUNT-SERVICE-TYPE extension.
2020-09-29 21:56:26 +02:00
Tobias Geerinckx-Rice
4c698cd512
services: Add elogind ‘handle-lid-switch-external-power’.
* gnu/services/desktop.scm <elogind-configuration>: Add an
handle-lid-switch-external-power field, mapping to the
HandleLidSwitchExternalPower logind.conf setting.
* doc/guix.texi (Desktop Services): ‘Document’ it.
2020-09-28 16:00:49 +02:00
Marius Bakke
d48b17adb9
services: WPA Supplicant: Conditionally depend on D-Bus.
Fixes <https://bugs.gnu.org/43567>.
Reported by calcium <calcium@disroot.org>.

* gnu/services/networking.scm (<wpa-supplicant-configuration>)[requirement]:
Remove 'dbus-system.
(wpa-supplicant-shepherd-service)[requirement]: Add 'dbus-system when DBUS? is true.
* doc/guix.texi (Networking Services)[wpa-supplicant-service-type]: Adjust
accordingly.
2020-09-24 20:18:20 +02:00
Mathieu Othacehe
a024eedb1c
services: cuirass: Create queries log files at activation.
* gnu/services/cuirass.scm (cuirass-activation)[queries-log-file]: Create and
set user permissions on "queries-log-file" and "web-queries-log-file".
2020-09-24 13:51:57 +02:00
Mathieu Othacehe
80e26d7429
services: cuirass: Add web SQL queries logging support.
* gnu/services/cuirass.scm (<cuirass-configuration>)[web-queries-log-file]:
New field.
(cuirass-shepherd-service): Honor it.
(cuirass-log-rotations): If defined, add the web queries log file to the log
rotation.
2020-09-24 11:28:59 +02:00
Mathieu Othacehe
92e507c963
services: cuirass: Add SQL queries logging support.
* gnu/services/cuirass.scm (<cuirass-configuration>)[queries-log-file]: New
field.
(cuirass-shepherd-service): Honor it.
(cuirass-log-rotations): If defined, add the queries log file to the log
rotation.
2020-09-24 10:47:22 +02:00
Oleg Pykhalov
cd4bb173e0
services: docker: Fix configuration.
This is a follow-up to e04b90607a.

* gnu/services/docker.scm
(docker-shepherd-service): Fix "enable-proxy?" configuration.
2020-09-23 23:40:29 +03:00
Tobias Geerinckx-Rice
97e98e2269
services: Allow (service bluetooth-service-type).
* gnu/services/desktop.scm (bluetooth-service-type)
[default-value]: Set to (bluetooth-configuration).
2020-09-23 19:07:55 +02:00
Efraim Flashner
e04b90607a
services: Docker: Fix typo in configuration.
This is a follow-up to f0a09310e6.

* gnu/services/docker.scm (docker-shepherd-service): Properly reference
variables in service definition.
2020-09-21 15:04:14 +03:00
Jesse Dowell
f0a09310e6
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>
2020-09-21 13:18:25 +03:00
Mathieu Othacehe
1a0da8b4f3
services: base: Improve container related comments.
* gnu/services/base.scm (guix-shepherd-service): Clarify the usage of a
container for guix-daemon.
2020-09-21 10:48:16 +02:00
Tobias Geerinckx-Rice
b864ddb690
services: dicod: Reduce irony.
* gnu/services/dict.scm (dicod-service): Fix docstring typo.
2020-09-21 00:31:15 +02:00
Ludovic Courtès
1b157bbef0
services: bitlbee: Support libpurple plugins.
* gnu/services/messaging.scm (bitlbee-shepherd-service): Pass
PURPLE_PLUGIN_PATH as #:environment-variables.
2020-09-15 14:40:20 +02:00
Oleg Pykhalov
f6dfe42129
services: docker: Fix service definition.
This commit follows a404716d41.

* 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.
2020-09-15 01:10:55 +03:00
Efraim Flashner
a404716d41
services: docker: Fix service definition.
This is a follow-up to 8422a67dc1.

* gnu/services/docker.scm (docker-service-type): Use a composed list for
packages in profile-service-type.
2020-09-14 23:22:34 +03:00
Efraim Flashner
8422a67dc1
services: docker: Make docker command available.
* gnu/services/docker.scm (docker-service-type): Extend the
profile-service-type and add the docker-cli package.
2020-09-14 17:21:16 +03:00
Timotej Lazar
11a962e653
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>
2020-09-13 23:34:23 +02:00
Tobias Geerinckx-Rice
71992a532d
services: Fix zram-device-service.
* gnu/services/linux.scm (<zram-device-configuration>): Fix typo.
2020-09-13 23:07:36 +02:00
Tobias Geerinckx-Rice
d9d88c2ff0
Revert "services: dovecot: Use modules via symlink to system profile."
This reverts commit bcfe0f0c1e for now.

It breaks most current use(r)s of the Dovecot service and needs to be
combined with an extra modules configuration field of some kind.

See <https://issues.guix.gnu.org/43347>.
2020-09-11 22:38:08 +02:00
Alexey Abramov
a16400919f
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>
2020-09-11 16:28:01 +02:00
Jelle Licht
bba0533115
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.
2020-09-10 09:46:03 +02:00
Alexey Abramov
22470c88af
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>
2020-09-09 20:37:07 +02:00
Alexey Abramov
bcfe0f0c1e
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>
2020-09-09 20:37:07 +02:00
Mathieu Othacehe
8ce6f4dc28
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.
2020-09-02 17:05:23 +02:00
Jan (janneke) Nieuwenhuizen
18a9c16b5e
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>
2020-09-02 07:24:15 +02:00
Jan (janneke) Nieuwenhuizen
01cefb7a57
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.
2020-09-01 16:06:38 +02:00
Jan (janneke) Nieuwenhuizen
ec32d4f291
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.
2020-09-01 16:06:38 +02:00
Arun Isaac
17881f944e
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.
2020-08-26 22:56:37 +05:30
Ludovic Courtès
ef5ddb0e17
services: mcron: Validate jobs even in the presence of #:user.
Fixes a bug in 949672c923 whereby jobs
specifying a #:user not available in the build environment would fail
validation.

Reported by Maxim Cournoyer.

* gnu/services/mcron.scm (job-files)[validated-file]: Add "prologue"
file and pass it to 'mcron --schedule'.
2020-08-26 15:30:04 +02:00
Ludovic Courtès
949672c923
services: mcron: Validate jobs at build time.
That way, run-time errors in the job specs are caught at build time.

* gnu/services/mcron.scm (job-file): Remove.
(job-files): New procedure.
(mcron-shepherd-services): Adjust accordingly.
2020-08-26 00:51:56 +02:00
Tobias Geerinckx-Rice
2e832d4b8a
services: ganeti-kvmd-service-type: Fix typo in description.
* gnu/services/ganeti.scm (ganeti-kvmd-service-type)[description]:
Fix typo.
2020-08-25 17:14:50 +02:00
Mathieu Othacehe
dac7dd1b0b
Remove "guile-zlib" extension when unused.
This is a follow-up of 755f365b02.

As (zlib) is autoloaded in (gnu build linux-modules), "guile-zlib" is needed
as an extension only when it is effectively used.

* gnu/installer.scm (installer-program): Remove "guile-zlib" from the extensions.
* gnu/machine/ssh.scm (machine-check-initrd-modules): Ditto.
* gnu/services.scm (activation-script): Ditto.
* gnu/services/base.scm (default-serial-port): Ditto,
(agetty-shepherd-service): ditto,
(udev-service-type): ditto.
* gnu/system/image.scm (gcrypt-sqlite3&co): Ditto.
* gnu/system/shadow.scm (account-shepherd-service): Ditto.
2020-08-25 12:39:11 +02:00
Mathieu Othacehe
755f365b02
linux-libre: Support module compression.
This commit adds support for GZIP compression for linux-libre kernel
modules. The initrd modules are kept uncompressed as the initrd is already
compressed as a whole.

The linux-libre kernel also supports XZ compression, but as Guix does not have
any available bindings for now, and the compression time is far more
significant, GZIP seems to be a better option.

* gnu/build/linux-modules.scm (modinfo-section-contents): Use
'call-with-gzip-input-port' to read from a module file using '.gz' extension,
(strip-extension): new procedure,
(dot-ko): adapt to support compression,
(ensure-dot-ko): ditto,
(file-name->module-name): ditto,
(find-module-file): ditto,
(load-linux-module*): ditto,
(module-name->file-name/guess): ditto,
(module-name-lookup): ditto,
(write-module-name-database): ditto,
(write-module-alias-database): ditto,
(write-module-device-database): ditto.
* gnu/installer.scm (installer-program): Add "guile-zlib" to the extensions.
* gnu/machine/ssh.scm (machine-check-initrd-modules): Ditto.
* gnu/services.scm (activation-script): Ditto.
* gnu/services/base.scm (default-serial-port): Ditto,
(agetty-shepherd-service): ditto,
(udev-service-type): ditto.
* gnu/system/image.scm (gcrypt-sqlite3&co): Ditto.
* gnu/system/linux-initrd.scm (flat-linux-module-directory): Add "guile-zlib"
to the extensions and make sure that the initrd only contains
uncompressed module files.
* gnu/system/shadow.scm (account-shepherd-service): Add "guile-zlib" to the
extensions.
* guix/profiles.scm (linux-module-database): Ditto.
2020-08-25 11:53:20 +02:00
Ludovic Courtès
fe42e5f39c
services: unattended-upgrade: Log output of the 'guix' commands.
Fixes <https://bugs.gnu.org/43011>.
Reported by Jesse Gibbons <jgibbons2357@gmail.com>.

Until now the stdout/stderr file descriptors were not redirected.

* gnu/services/admin.scm (unattended-upgrade-mcron-jobs)[code]: Remove
'with-logging' and use 'redirect-port' instead.
2020-08-24 23:23:57 +02:00
Ludovic Courtès
0d203eeaa6
services: unattended-upgrade: Add 'operating-system-file' field.
* gnu/services/admin.scm (<unattended-upgrade-configuration>)[operating-system-file]:
New field.
(unattended-upgrade-mcron-jobs): Honor it.
* doc/guix.texi (Unattended Upgrades): Document it.
2020-08-24 23:23:57 +02:00
Tobias Geerinckx-Rice
7f9018aaf6
services: Allow (service accountsservice-service-type).
* gnu/services/desktop.scm (accountsservice-service-type)
[default-value]: Set to accountsservice.
2020-08-19 20:44:18 +02:00
Efraim Flashner
0ba3a38bb2
services: connman-shepherd-service: Don't use short flags.
* gnu/services/networking.scm (connman-shepherd-service): Use the long
flag options for the start command.
2020-08-16 16:33:55 +03:00
Alexey Abramov
2b68a96422
services: docker: Add 'enable-iptables?' argument.
* gnu/services/docker.scm (docker-configuration): Define the argument.
* gnu/services/docker.scm (docker-shepherd-service): Use it.
* doc/guix.texi (Docker Service): Document it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2020-08-16 11:07:50 +02:00
Efraim Flashner
587e0d911d
services: Add zram-device-service.
* gnu/services/linux.scm (<zram-device-configuration>): New record.
(zram-device-service-type): New variable.
* doc/guix.texi (Linux Services): Document it.
* tests/services/linux.scm (zram-swap-device-test): New tests.
2020-08-02 15:54:37 +03:00
Pierre Neidhardt
3bf4761e39
services: postgresql: Provide postgresql commands.
* gnu/services/databases.scm (postgresql-service-type): Extend
profile-service-type to provide postgresql commands.
2020-08-01 11:54:41 +02:00
Robin Green
73cb3e103f
services: auditd: Provide default configuration directory.
* gnu/services/auditd.scm (auditd.conf)
(%default-auditd-configuration-directory): New variables.
(<auditd-configuration>): Switch to 'define-record-type*'.
[configuration-directory]: New field.
(auditd-shepherd-service): Honor 'configuration-directory'.  Pass #:pid-file.
(auditd-service-type)[description]: Tweak.
[default-value]: Provide 'configuration-directory'.
* doc/guix.texi (Miscellaneous Services): Update docs to reflect
changes.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-07-27 12:06:36 +02:00
Ludovic Courtès
79501f26ab
services: Add 'unattended-upgrade-service-type'.
* gnu/services/admin.scm (<unattended-upgrade-configuration>): New
record type.
(%unattended-upgrade-log-file): New variable.
(unattended-upgrade-mcron-jobs, unattended-upgrade-log-rotations): New
procedures.
(unattended-upgrade-service-type): New variable.
* doc/guix.texi (Service Reference): Add 'provenance-service-type' anchor.
(Unattended Upgrades): New section.
2020-07-27 12:06:36 +02:00
Oleg Pykhalov
64c6282e7f
services: nix: Add extra-options.
* gnu/services/nix.scm (<nix-configuration>)[extra-options]: New field.
(nix-shepherd-service): Add this.
(nix-activation): Add new line to the end of /etc/nix/nix.conf file.
* doc/guix.texi (Miscellaneous Services)[Nix service]: Document this.
2020-07-25 12:27:35 +03:00
Oleg Pykhalov
3601d802d5
services: nix: Fix typo.
* gnu/services/nix.scm (<nix-configuration>): Fix typo.
2020-07-25 12:27:35 +03:00
Peng Mei Yu
ee67d193b3
services: nix: Export nix-configuration.
* gnu/services/nix.scm (nix-configuration, nix-configuration?): Export.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2020-07-25 12:27:35 +03:00
Peng Mei Yu via Guix-patches via
db65d7447c
services: nix: Provide nix commands.
* gnu/services/nix.scm (nix-service-type): Extend profile-service-type to
provide nix commands.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2020-07-25 12:27:35 +03:00
Oleg Pykhalov
4656180d5d
services: nix: Fix sandbox.
* gnu/tests/package-management.scm: New file.
* gnu/local.mk: Add this.
* gnu/services/nix.scm (<nix-configuration>): New record.
(nix-activation): Generate Nix config file which fixes sandbox.
(nix-service-type): Add default value.
(nix-shepherd-service): Allow provide Nix package.
* doc/guix.texi (Miscellaneous Services)[Nix service]<nix-configuration>:
Document record.
2020-07-22 22:10:11 +03:00
Oleg Pykhalov
cc339cd98d
services: base: Export references-file.
* gnu/services/base.scm (references-file): Export procedure.
2020-07-22 22:10:10 +03:00
Marius Bakke
938f3190e7
services: ganeti: Fix erroneous gexp.
* gnu/services/ganeti.scm (ganeti-watcher-command): Add missing parens.
2020-07-21 23:54:44 +02:00
Marius Bakke
41daf12865
services: ganeti: Use TLS on the remote API by default.
* gnu/services/ganeti.scm (<ganeti-rapi-configuration>): Set SSL? to #t.
* gnu/tests/ganeti.scm (%ganeti-os): Set SSL? to #f.
* doc/guix.texi (Virtualization Services): Adjust accordingly.
2020-07-19 14:23:16 +02:00
Marius Bakke
9a62282755
services: Add ganeti.
* gnu/services/ganeti.scm, gnu/tests/ganeti.scm: New files.
* doc/guix.texi (Virtualization Services): Document the Ganeti services.
2020-07-16 21:51:44 +02:00
Ludovic Courtès
a143e92446
services: web: Do not export record type descriptors.
* gnu/services/web.scm (<httpd-configuration>, <httpd-virtualhost>)
(<httpd-config-file>, <httpd-module>, <nginx-configuration>)
(<nginx-server-configuration>, <nginx-upstream-configuration>)
(<nginx-location-configuration>, <nginx-named-location-configuration>)
(<php-fpm-configuration>, <php-fpm-dynamic-process-manager-configuration>)
(<php-fpm-static-process-manager-configuration>)
(<php-fpm-on-demand-process-manager-configuration>)
(<tailon-configuration-file>, <tailon-configuration>)
(<varnish-configuration>, <patchwork-database-configuration>)
(<patchwork-settings-module>, <patchwork-configuration>)
(<mumi-configuration>): Do not export.
2020-07-12 23:13:25 +02:00
Ludovic Courtès
060211853d
services: mumi: Run in a UTF-8 locale.
* gnu/services/web.scm (mumi-shepherd-services)[environment]: New
variable.
Pass it as #:environment-variables to each 'make-forkexec-constructor'
call.
2020-07-12 21:55:59 +02:00
Marius Bakke
d67826a810
services: Remove obsolete comment.
This TODO was resolved in ea4915a74b.

* gnu/services/base.scm (%default-authorized-guix-keys): Remove TODO comment.
2020-07-12 13:06:41 +02:00
Christopher Lemmer Webber
ea4915a74b
services: guix: Refer to 'berlin.guix.gnu.org.pub'.
Commit 6680880f9b pushes out a new guix
package with a new key location, so we need to update to the new key
in order for systems to build correctly.

* gnu/services/base.scm (%default-authorized-guix-keys): Refer to berlin.guix.gnu.org.pub.
2020-07-11 21:42:04 -04:00
Ludovic Courtès
ec4c404c05
services: guix: Refer to 'berlin.guixsd.org.pub'.
This partly reverts d283bb960f.

* gnu/services/base.scm (%default-authorized-guix-keys): Refer to berlin.guixsd.org.pub.
2020-07-10 11:48:05 +02:00
Ludovic Courtès
d283bb960f
maint: Remove traces of "berlin.guixsd.org".
The guixsd.org domain is no longer advertised since before in 1.0.0
release in May 2019.

* etc/substitutes/berlin.guixsd.org.pub: Rename to...
* etc/substitutes/berlin.guix.gnu.org.pub: ... this.
* etc/substitutes/ci.guix.gnu.org.pub,
etc/substitutes/ci.guix.info.pub: Adjust accordingly.
* gnu/services/base.scm (%default-authorized-guix-keys): Likewise.
* guix/build/download-nar.scm (urls-for-item): Likewise.
* guix/self.scm (miscellaneous-files): Likewise.
* Makefile.am (dist_pkgdata_DATA): Likewise.
2020-07-10 00:11:00 +02:00
Brice Waegeneire
ef20acae83
services: simulated-wifi: Use 'kernel-module-loader'.
* gnu/services/networking.scm (simulated-wifi-shepherd-services):
Change 'mac-simulation-module' service to use 'kernel-module-loader'.
2020-07-06 14:29:59 +02:00
Marius Bakke
4d06076714
services: wpa-supplicant: Support specifying additional service dependencies.
* gnu/services/networking.scm (<wpa-supplicant-configuration>)[requirement]:
New parameter.
(wpa-supplicant-shepherd-service): Use it instead of hard-coded list.
* doc/guix.texi (Networking Services): Document accordingly.
2020-07-02 23:20:51 +02:00
Marius Bakke
6f8f13e941
services: wpa-supplicant: Do not export the <wpa-supplicant-configuration> record.
* gnu/services/networking.scm: Remove <wpa-supplicant-configuration> from exports.
2020-07-02 23:20:50 +02:00
Jan (janneke) Nieuwenhuizen
e1f2f3df84
services: virtualization: Export hurd-vm-configuration accessors.
* gnu/services/virtualization.scm (hurd-vm-id, hurd-vm-options): Rename export
to ...
(hurd-vm-configuration-id, hurd-vm-configuration-options): ... these correct
accessor names.
(hurd-vm-configuration?, hurd-vm-configuration-os, hurd-vm-configuration-qemu,
hurd-vm-configuration-image, hurd-vm-configuration-disk-size,
hurd-vm-configuration-memory-size, hurd-vm-configuration-options,
hurd-vm-configuration-id, hurd-vm-configuration-net-options): Export record
predicate and accessors.
2020-06-28 23:05:35 +02:00
Efraim Flashner
8f19e63f76
services: Add rshiny service.
* gnu/services/science.scm: New file.
(<rshiny-configuration>): New record.
(rshiny-shepherd-service-type): New variable.
* doc/guix.texi (Miscellaneous Services): Document it.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
2020-06-28 14:03:03 +03:00
Ludovic Courtès
db170ee921
services: Add missing (ice-9 format) import.
These issues were reported by -Wformat, though they were harmless in
practice because importing (ice-9 format) changes the global 'format'
binding currently.

* gnu/services/nix.scm: Import (ice-9 format).
* gnu/services/web.scm: Likewise.
* gnu/system/mapped-devices.scm: Likewise.
2020-06-25 01:20:31 +02:00
Marius Bakke
e30cf11bb0
services: childhurd: Adjust for hurd-disk-image move.
This is a follow-up to commit b904b59ce5.

* gnu/services/virtualization.scm: Import (gnu system images hurd).
2020-06-25 00:13:31 +02:00
Jan (janneke) Nieuwenhuizen
b7249aa472
services: childhurd: Support more than one instance.
* gnu/services/virtualization.scm (<hurd-vm-configuration>)[options]: Remove
"--hda" option.
[id,net-options]: New fields.
(hurd-vm-net-options): New procedure.  Parameterize port forwarding with ID.
* gnu/services/virtualization.scm (hurd-vm-shepherd-service): Use them.
Parameterize provision with ID, if set.  Hardcode "--hda" option for image.
* doc/guix.texi (Virtualization Services): Document new fields.  Update for
hardcoding of "--hda".
2020-06-21 12:51:36 +02:00
Jan (janneke) Nieuwenhuizen
5e9cf93364
services: Add 'hurd-vm service-type'.
* gnu/services/virtualization.scm (hurd-vm-shepherd-service,
hurd-vm-disk-image): New procedures.
(%hurd-vm-operating-system, hurd-vm-service-type): New variables.
(<hurd-vm-configuration>): New record type.
* doc/guix.texi (Virtualization Services): Document it.
* gnu/services/shepherd.scm (scm->go): Use let-system, remove FIXME.  Fixes
fixes cross-building of shepherd modules for the Hurd image.
2020-06-14 18:38:44 +02:00
Jan (janneke) Nieuwenhuizen
7304cb0a23
services: hurd: Remove deprecated 'hurd-getty-service' wrapper.
* gnu/services/hurd.scm (hurd-getty-service): Remove.
2020-06-13 10:04:51 +02:00
Jan (janneke) Nieuwenhuizen
7ccd471c71
services: Add `hurd-getty-service-type'.
* gnu/services/hurd.scm (<hurd-gettty-configuration>): New record.
(hurd-ttys-shepherd-service): New procedure.
(hurd-getty-service-type): New variable.
* doc/guix.texi (Hurd Services): Document it.
2020-06-08 14:26:14 +02:00
Jan (janneke) Nieuwenhuizen
f9c04580bf
services: Add `hurd-console-service-type'.
* gnu/services/hurd.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Hurd Services): Document it.
2020-06-08 14:26:14 +02:00
Caleb Ristvedt
8b158e8b2c
xorg: honor xorg-configuration-server in xorg-configuration->file
Fixes <https://bugs.gnu.org/40806>.

Previously the xorg-server package specified in the configuration was ignored
entirely in xorg-configuration->file.  This had the effect that while the X
program of the configured package would be executed, the modules of the
configured package would be ignored in favor of the default xorg-server
package's modules.  This fixes that.

* gnu/services/xorg.scm (xorg-configuration->file): honor
  xorg-configuration-server.
2020-06-04 07:26:32 -05:00
Maxim Cournoyer
7c9be7b7cb
gnu: services: docker: Add a debug? parameter.
* gnu/services/docker.scm (docker-configuration): Add a debug? field.
(containerd-shepherd-service): Pass the "--log-level=debug" argument when
DEBUG? is true.
(docker-shepherd-service): Pass the "--debug" and "--log-level=debug"
arguments when DEBUG? is true.
* doc/guix.texi (Miscellaneous Services): Update doc.
2020-06-03 11:31:07 -04:00
Maxim Cournoyer
c08fac0f7d
services: nfs: Expose configuration options for TCP and UDP.
* gnu/services/nfs.scm (<nfs-configuration>)[nfsd-tcp?, nfsd-udp?]: New
fields.
(nfs-shepherd-services)[rpc.nfsd]: Populate the --{no-,}tcp and --{no-,}udp
command line options based on the values of the nfsd-tcp? and nfsd-upd?
fields.
* doc/guix.texi (Network File System): Add doc.
2020-05-29 21:48:58 -04:00
Danny Milosavljevic
6ac7526e48
services: Fix permissions of directory /var/spool/cups/tmp.
Fixes <https://bugs.gnu.org/41367>.

* gnu/services/cups.scm (%cups-activation): Fix permissions of directory
/var/spool/cups/tmp.
2020-05-26 16:03:56 +02:00
Efraim Flashner
2ae11cd0a4
gnu: enlightenment: Update to 0.24.0.
* gnu/packages/enlightenment.scm (enlightenment): Update to 0.24.0.
[arguments]: Change configure-flags to hardcode efl binary locations.
Remove custom 'fix-dot-desktop-creation phase. Update 'set-system-actions
phase.
* gnu/packages/patches/enlightenment-fix-setuid-path.patch: Update for
new upstream version.
* gnu/services/desktop.scm (enlightenment-setuid-programs): Same.
2020-05-24 23:12:50 +03:00
Ludovic Courtès
408ae72cd1
services: shepherd: Silence Guile warnings.
This avoids:

  WARNING: …: imported module (guix build utils) overrides core binding `delete'

* gnu/services/shepherd.scm (%default-modules): #:hide 'delete'
from (guix build utils).
(shepherd-configuration-file)[config]: Wrap calls to 'load-compiled' in
'parameterize'.
2020-05-16 00:34:41 +02:00
Ludovic Courtès
ad263045b9
services: Add missing import.
* gnu/services/audio.scm: Import (ice-9 format).
2020-05-13 23:35:57 +02:00