Commit graph

1381 commits

Author SHA1 Message Date
Julien Lepiller
86e9e5cb23
services: nginx: Re-introduce server-names-hash-bucket-size.
This was unintentionally removed in
00014f7692.

* gnu/services/web.scm (default-nginx-config): Re-introduce processing
of server-names-hash-bucket-size option.
2020-11-09 22:53:50 +01:00
Julien Lepiller
acb9f7849f
services: nginx: Re-introduce server-names-hash-bucket-size.
This was unintentionally removed in
00014f7692.

* gnu/services/web.scm (default-nginx-config): Re-introduce processing
of server-names-hash-bucket-size option.
2020-11-09 22:48:02 +01:00
Christopher Baines
f9000450b5
services: guix: Fix Guix Build Coordinator substitute urls bug.
* gnu/services/guix.scm (guix-build-coordinator-agent-shepherd-services): Pass
the correct value as the --non-derivation-substitute-urls.
2020-11-07 20:52:33 +00:00
Christopher Baines
18bb73c695
services: guix: Remove the Guix Build Coordinator agent pid file.
As it doesn't use one.

* gnu/services/guix.scm (guix-build-coordinator-agent-shepherd-services):
Remove #:pid-file.
(guix-build-coordinator-agent-activation): Don't create the /var/run
directory.
2020-11-07 20:50:22 +00:00
Christopher Baines
b6ece1c206
services: guix: Add guix-build-coordinator-agent cache directory.
As this is needed when substituting derivations.

* gnu/services/guix.scm (guix-build-coordinator-agent-shepherd-services): Set
XDG_CACHE_HOME.
(guix-build-coordinator-agent-activation): Create
/var/cache/guix-build-coordinator-agent.
2020-11-07 20:09:44 +00:00
Ludovic Courtès
bb124f6e9c
services: mpd: Fix daemon startup.
Until now it would wait for a PID file that'd never come.

* gnu/services/audio.scm (mpd-shepherd-service): Add 'requirement'.
Remove #:pid-file from 'start'.
(mpd-service-activation): Create the ".mpd" directory since that's what
the daemon expects.
2020-11-06 23:10:18 +01:00
Ludovic Courtès
7209d7cbc3
services: mpd: Always create the "mpd" user account.
* gnu/services/audio.scm (%mpd-accounts): New variable.
(mpd-service-type)[extensions]: Add ACCOUNT-SERVICE-TYPE extension.
2020-11-06 22:59:19 +01:00
Maxim Cournoyer
0c5d0c57d3
services: mpd: Do not eagerly look for a user.
Running 'guix system search mpd' would throw a backtrace because the
mpd-shepherd-service service start Gexp contained an unquoted call to
'getpwnam', which would look for a missing 'mpd' user and fail.

* gnu/services/audio.scm (mpd-shepherd-service): gexp-unquote only the
relevant variable rather than the whole expression.
2020-11-06 08:54:27 -05:00
raingloom
fe1cd098d2
services: Add yggdrasil-service-type.
* gnu/services/networking.scm (yggdrasil-configuration)
(yggdrasil-configuration?, yggdrasil-configuration-package)
(yggdrasil-configuration-auto-conf, yggdrasil-configuration-log-level)
(yggdrasil-configuration-log-to): New procedures.
(yggdrasil-service-type): New variable.
* doc/guix.texi: Document it.
* gnu/system/examples/yggdrasil.tmpl: Provide example.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2020-11-05 18:45:40 +01:00
Ludovic Courtès
a4e7749e91
services: Remove imports of (ice-9 …) modules.
* gnu/services/monitoring.scm (zabbix-server-activation): Remove (ice-9
rdelim) from the imported modules.
(zabbix-agent-activation): Likewise.
* gnu/tests/mail.scm (run-exim-test)[test]: Remove (ice-9 ftw) from the
imported modules.
2020-11-05 16:13:50 +01:00
Ludovic Courtès
f7d0a63dda
services: guix: Do not embed the host (guix config).
Fixes a bug whereby different users would get different derivations for
the same service.

* gnu/services/base.scm (guix-shepherd-service): In 'start' method, do
not embed (guix config).
2020-11-05 00:07:45 +01:00
Ludovic Courtès
2b2ab7796a
services: guix-publish: Add 'cache-bypass-threshold' field.
This is a followup to ecaa102a58.

* gnu/services/base.scm (<guix-publish-configuration>)[cache-bypass-threshold]:
New field.
(guix-publish-shepherd-service): Honor it.
2020-10-30 12:31:18 +01:00
Ludovic Courtès
81c3dd9cad
services: swap: Allow for UUIDs and file system labels.
* gnu/services/base.scm (swap-service-type)[device-lookup, device-name]:
New variables.
Add 'modules' field to 'shepherd-service'.  In 'start' and 'stop', use
'device-lookup' to resolve UUIDs and labels.
* doc/guix.texi (operating-system Reference): Adjust accordingly.
2020-10-30 01:14:21 +01:00
Vagrant Cascadian
7db4dc6004
gnu: ganeti-luxid-service-type: Fix typo.
* gnu/services/ganeti (ganeti-luxid-service-type)[description]: Fix spelling
  of "authoritative".
2020-10-28 21:10:54 -07:00
Simon South
5ede259526
services: knot-resolver: Replace deprecated command-line option.
This silences a warning from the service at startup.

* gnu/services/dns.scm (knot-resolver-shepherd-services)[start]: Use the "-n"
command-line option to kresd in place of the deprecated "-f 1".

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-10-27 18:42:39 -04:00
Alexandru-Sergiu Marton
2ade5bdeb8
services: Add gmnisrv web service.
* gnu/services/web.scm (<gmnisrv-configuration>): New record type.
(%default-gmnisrv-config-file): New variable.
(%gmnisrv-accounts, %gmnisrv-activation): New variables.
(gmnisrv-shepherd-service): New procedure.
(gmnisrv-service-type): New variable.
* doc/guix.texi (Web Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-10-27 18:00:28 +01:00
Ludovic Courtès
e86c2f058a
services: hpcguix-web: Set 'XDG_CACHE_HOME' to a writable directory.
* gnu/services/web.scm (hpcguix-web-shepherd-service): Change
XDG_CACHE_HOME to /var/cache/guix/web.  Previously, the authentication
code would try to write to /var/cache/guix/authentication, which would
fail.
2020-10-27 18:00:28 +01:00
Ludovic Courtès
3b6e4e5fd0
services: guix: Make /etc/guix/acl really declarative by default.
Fixes <https://bugs.gnu.org/39819>.
Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.

* gnu/services/base.scm (substitute-key-authorization): Symlink
DEFAULT-ACL to /etc/guix/acl unconditionally.  Add code to optionally
back up /etc/guix/acl if it was possibly modified by hand.
* doc/guix.texi (Base Services): Clarify the effect of setting
'authorize-keys?' to true.  Mention the backup.  Give an example showing
how to authorize substitutes from another server.
2020-10-25 01:06:10 +02:00
Christopher Baines
b0d6098f03
gnu: guix-build-coordinator: Propagate the guile inputs.
This means the package is usable as a library, which is useful when using the
procedures to send requests to the Guix Build Coordinator.

* gnu/packages/package-management.scm (guix-build-coordinator)[inputs]: Move
guile inputs to propagated inputs.
[propagated-inputs]: Receive some inputs.
* gnu/services/guix.scm (make-guix-build-coordinator-start-script): Adjust the
start script to include propagated inputs.
2020-10-23 15:40:10 +01:00
Christopher Baines
4b8acf715d
services: guix: Fix the guix-build-coordinator metrics namespace.
The underscore is now handled in the guile prometheus library.

* gnu/services/guix.scm (make-guix-build-coordinator-start-script): Remove the
underscore from the end of the metrics namespace.
2020-10-23 15:40:10 +01:00
Christopher Baines
bdaaa6b3e4
services: guix-build-coordinator: Configure output buffering.
Otherwise the logging is garbled.

* gnu/services/guix.scm (make-guix-build-coordinator-start-script): Configure
line output buffering for stdout and stderr.
2020-10-23 15:40:10 +01:00
Christopher Baines
ced9da901f
services: guix-build-coordinator: Include the system profile in PATH.
As this allows hooks to use the system profile, if that's desired.

* gnu/services/guix.scm (guix-build-coordinator-shepherd-services): Set PATH
to include the system profile.
2020-10-23 15:40:09 +01:00
Christopher Baines
b9f8ce17e4
services: guix-build-coordinator: Output the start script name.
As this can be useful for debugging purposes.

* gnu/services/guix.scm (make-guix-build-coordinator-start-script): Output the
current filename.
2020-10-23 15:40:09 +01:00
Christopher Baines
b34ac307e3
services: guix: Fix hooks gexp issue for the Guix Build Coordinator.
* gnu/services/guix.scm (make-guix-build-coordinator-start-script): Fix
handling the name within the hook gexp.
2020-10-23 15:40:09 +01:00
Christopher Baines
bdcf4d88d5
services: databases: Don't specify a default postgresql version.
Currently, if the postgresql package major version changes, this is going to
break the service upon upgrade, because PostgreSQL will reject the data files
from the differing major version of the service.

Because it's important to either keep running a particular major version, or
intentionally upgrade, I think the configuration would be better with no
default. I think this is also going to be helpful when trying to assist users
upgrading PostgreSQL.

* gnu/services/databases.scm (<postgresql-configuration>): Remove default for
postgresql.
(postgresql-service-type): Remove the default value.
* gnu/tests/databases.scm (%postgresql-os): Update accordingly.
* gnu/tests/guix.scm (%guix-data-service-os): Update accordingly.
* gnu/tests/monitoring.scm (%zabbix-os): Update accordingly.
* gnu/tests/web.scm (patchwork-os): Update accordingly.
* doc/guix.texi (PostgreSQL): Update accordingly.
2020-10-20 22:39:43 +01:00
Christopher Baines
a698df72d3
services: databases: Deprecate the postgresql-service procedure.
Using the service type directly is a better approach, making it easier to
configure the service.

* gnu/services/databases.scm (postgresql-service): Deprecate this procedure.
* doc/guix.texi (PostgreSQL): Update the documentation for the use of (service
postgresql-service-type).
2020-10-20 22:39:43 +01:00
Mathieu Othacehe
922a50993e
services: guix: Fix coordinator agent.
* gnu/services/guix.scm (guix-build-coordinator-agent-activation): Define
%user variable.
2020-10-20 09:18:04 +02:00
Oleg Pykhalov
61e6d3ca11
services: lxqt-desktop: Delete unbound lxqt-desktop-service.
This commit follows 764d896668.

* gnu/services/desktop.scm:
Delete unbound "lxqt-desktop-service" exported variable.
2020-10-20 00:27:30 +03:00
Reza Alizadeh Majd
764d896668
services: Add LXQt desktop service.
* gnu/services/desktop.scm (lxqt-desktop-service-type): New variable.
(<lxqt-desktop-configuration>): New record type.
(lxqt-desktop-configuration?): New procedure.
* doc/guix.texi (Desktop Services): Document this.

Co-authored-by: Oleg Pykhalov <go.wigust@gmail.com>
2020-10-20 00:21:45 +03:00
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
nikita
3c986a7dc2
mailmap: Update entries for Nikita.
* .mailmap: change email and name for Nikita.
* Makefile.am, doc/guix.texi, etc/completion/fish/guix.fish,
gnu/packages/accessibility.scm, gnu/packages/admin.scm,
gnu/packages/audio.scm, gnu/packages/autotools.scm, gnu/packages/cdrom.scm,
gnu/packages/check.scm, gnu/packages/cinnamon.scm,
gnu/packages/compression.scm, gnu/packages/crypto.scm,
gnu/packages/databases.scm, gnu/packages/django.scm, gnu/packages/dns.scm,
gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/emacs.scm,
gnu/packages/enlightenment.scm, gnu/packages/erlang.scm,
gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/forth.scm,
gnu/packages/fvwm.scm, gnu/packages/games.scm, gnu/packages/gl.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile-xyz.scm,
gnu/packages/haskell-apps.scm, gnu/packages/haskell-check.scm,
gnu/packages/haskell-crypto.scm, gnu/packages/haskell-xyz.scm,
gnu/packages/haskell.scm, gnu/packages/image-viewers.scm,
gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/language.scm,
gnu/packages/libcanberra.scm, gnu/packages/linux.scm,
gnu/packages/lisp-xyz.scm, gnu/packages/lisp.scm, gnu/packages/lolcode.scm,
gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/mail.scm,
gnu/packages/markup.scm, gnu/packages/mate.scm, gnu/packages/maths.scm,
gnu/packages/mc.scm, gnu/packages/messaging.scm, gnu/packages/music.scm,
gnu/packages/ncurses.scm, gnu/packages/networking.scm,
gnu/packages/nickle.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm,
gnu/packages/perl-check.scm, gnu/packages/perl.scm,
gnu/packages/python-compression.scm, gnu/packages/python-crypto.scm,
gnu/packages/python-web.scm, gnu/packages/python-xyz.scm,
gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm,
gnu/packages/rust.scm, gnu/packages/scheme.scm,
gnu/packages/serialization.scm, gnu/packages/shells.scm,
gnu/packages/ssh.scm, gnu/packages/suckless.scm, gnu/packages/tbb.scm,
gnu/packages/telephony.scm, gnu/packages/text-editors.scm,
gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm,
gnu/packages/tor.scm, gnu/packages/version-control.scm,
gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/web.scm,
gnu/packages/wm.scm, gnu/packages/xdisorg.scm, gnu/packages/xfce.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/services/certbot.scm,
gnu/services/desktop.scm, gnu/services/version-control.scm,
gnu/services/web.scm, guix/import/hackage.scm, guix/licenses.scm: Likewise.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2020-05-13 09:30:26 +03:00
Marius Bakke
4bdf4182fe
Merge branch 'core-updates' 2020-05-08 21:40:51 +02:00
Ludovic Courtès
dd0804c67e
services: Add descriptions.
* gnu/services/dbus.scm (polkit-service-type)[description]: New field.
* gnu/services/dict.scm (dicod-service-type)[description]: New field.
* gnu/services/dns.scm (knot-service-type)[description]: New field.
* gnu/services/networking.scm (dhcpd-service-type)[description]: New field.
* gnu/services/shepherd.scm (shepherd-root-service-type)[description]:
New field.
* gnu/services/xorg.scm (slim-service-type)[description]: New field.
(screen-locker-service-type)[description]: New field.
* gnu/system/pam.scm (pam-root-service-type)[description]: New field.
* gnu/system/shadow.scm (account-service-type)[description]: New field.
2020-05-08 16:30:50 +02:00
Ludovic Courtès
5aa4d2dcf2
Revert "services: syslog: Simplify 'start' method."
This reverts commit 4c0cc7bed3.
Fixes <https://bugs.gnu.org/41116>.
Reported by Alex Sassmannshausen <alex@komputilo.eu>.

The problem is that reconfiguring on a system running Shepherd < 0.8.0
would lead to an error, due to #:file-creation-mask not being supported.
The error is rather harmless: it prevents service upgrade but the system
itself is upgraded.

We can reinstate that commit eventually, once #:file-creation-mask has
become widespread.
2020-05-07 12:55:15 +02:00
Marius Bakke
c263cfdcde
Merge branch 'master' into core-updates 2020-05-06 23:37:40 +02:00
Marius Bakke
3ed94ed8c2
services: Do not use symbolic links in PulseAudio variables.
This addresses <https://bugs.gnu.org/40837> by making these configuration
files more easily accessible within the WebKitGTK sandbox.

* gnu/services/sound.scm (pulseaudio-environment): Move below
PULSEAUDIO-CONF-ENTRY.  Instantiate PULSE_CONFIG and PULSE_CLIENTCONFIG
entries directly instead of referring to /etc/pulse.
(pulseaudio-etc): Do not create /etc/pulse/client.conf and /etc/pulse/daemon.conf.
2020-05-06 22:49:55 +02:00
Brice Waegeneire
ab034adfe8
services: rottlog: Append '.gz' to rotated file.
Fixes <https://issues.guix.info/issue/40945>.

* gnu/services/admin.scm (%default-rotations): Add option 'storefile'.
2020-05-06 11:03:39 +02:00
Marius Bakke
87a40d7203
Merge branch 'master' into core-updates 2020-05-05 20:43:21 +02:00
Giacomo Leidi
ec4fea69df
services: For "sddm" pam service, include "limits.conf".
* gnu/services/base.scm (pam-limits-service-type): For "sddm" pam
service, include "limits.conf".

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-05-05 20:09:39 +02:00
pinoaffe
051f3254cd
gnu: Add AutoSSH service.
* gnu/services/ssh.scm (<autossh-configuration>): New record type.
(autossh-service-type): New variable.
(autossh-service-activation, autossh-file-name): New procedures.
* doc/guix.texi (Networking Services): Document this.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2020-05-05 15:32:40 +03:00
Marius Bakke
50e6c1bf2e
Merge branch 'master' into core-updates 2020-05-02 17:31:28 +02:00
Diego Nicola Barbato
4c0cc7bed3
services: syslog: Simplify 'start' method.
This is a followup to d7113bb655 and
e3358a831e.

* gnu/services/base.scm (syslog-service-type): Change 'start' method to set
  umask using the #:file-creation-mask parameter of
  'make-forkexec-constructor' introduced in version 0.8.0 of the Shepherd.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-05-02 16:49:29 +02:00
Pierre Langlois
5a0b78e62b
services: dnsmasq: Support the --address flag.
Introduce a new `addresses' field that translates to passing `--address='
multiple times to dnsmasq.

* gnu/services/dns.scm (<dnsmasq-configuration>): Add an addresses field.
(dnsmasq-shepherd-service): Match the addresses field and translate it to
multiple '--address=' flags.
* doc/guix.texi (DNS Services): Document it.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-05-02 13:00:24 +08:00
Marius Bakke
8bf8cd9b85
Merge branch 'master' into core-updates
Conflicts:
	gnu/local.mk
	gnu/packages/backup.scm
	gnu/packages/emacs-xyz.scm
	gnu/packages/guile.scm
	gnu/packages/lisp.scm
	gnu/packages/openldap.scm
	gnu/packages/package-management.scm
	gnu/packages/web.scm
	gnu/packages/xorg.scm
2020-04-30 23:47:49 +02:00
Jakub Kądziołka
2ef4d273d1
file-systems: mount the PID cgroup filesystem.
* gnu/system/file-systems.scm (%control-groups): Add "pids".
* gnu/services/docker.scm (docker-shepherd-service): Resolve a TODO.

This has allowed me to make a specific configuration of nsjail work.
2020-04-27 14:14:47 +02:00
Jan (janneke) Nieuwenhuizen
d2fc76462e
services: shepherd: Cross-compilation fix.
Fixes <https://bugs.gnu.org/40839>.
Reported by Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
Fix suggested by Mathieu Othacehe <m.othacehe@gmail.com>

However, <https://bugs.gnu.org/29296> still applies; %current-target-system
may not be bound.

* gnu/services/shepherd.scm (scm->go): Use `with-target' when cross-compiling.
2020-04-25 19:34:15 +02:00
Marius Bakke
030f6f489f
Merge branch 'master' into core-updates
Conflicts:
	etc/news.scm
	gnu/local.mk
	gnu/packages/bootloaders.scm
	gnu/packages/linphone.scm
	gnu/packages/linux.scm
	gnu/packages/tls.scm
	gnu/system.scm
2020-04-23 13:33:09 +02:00
Brice Waegeneire
2b0c0d9301
services: Add udev-rules-service helper.
* doc/guix.texi (Base services): Add documentation for
'udev-rules-service'. Replace examples of 'udev-service-type' extension
with 'udev-rules-service'.
* gnu/services/base.scm (udev-rules-service): New procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-04-22 19:23:58 +02:00
Ludovic Courtès
e3358a831e
gnu: shepherd: Update to 0.8.0.
* gnu/packages/admin.scm (shepherd): Update to 0.8.0.
* gnu/services/shepherd.scm (shepherd-configuration-file): Use
'default-pid-file-timeout' instead of fiddling with '%pid-file-timeout'.
2020-04-21 16:33:21 +02:00
Ludovic Courtès
b25ecfa2e0
services: dovecot: 'stop' method returns #f upon success.
* gnu/services/mail.scm (dovecot-shepherd-service)[stop]: Use 'invoke'
instead of 'make-forkexec-constructor'.  Previously, the 'stop' method
would return the PID of the "dovecot stop" process, which would be
interpreted as a failure to stop the service.
2020-04-21 00:06:40 +02:00
Ludovic Courtès
7d903d2ff7
services: Don't use the deprecated 'make-forkexec-constructor' call.
Passing 'make-forkexec-constructor' a string or several string arguments
has been deprecated since dmd 0.1.

* gnu/services/base.scm (rngd-service-type): In 'start' method, pass a
list as the first argument to 'make-forkexec-constructor'.
* gnu/services/desktop.scm (bluetooth-shepherd-service): Likewise.
* gnu/services/spice.scm (spice-vdagent-shepherd-service): Likewise.
2020-04-21 00:06:40 +02:00
Ludovic Courtès
5e7076f2a5
services: Add 'simulated-wifi-service-type'.
* gnu/services/networking.scm (simulated-wifi-shepherd-services): New
procedure.
(simulated-wifi-service-type): New variable.
* doc/guix.texi (Networking Services): Document it.
2020-04-19 23:50:17 +02:00
Ludovic Courtès
a03943ec00
services: Add 'hostapd-service-type'.
* gnu/services/networking.scm (<hostapd-configuration>): New record
type.
(hostapd-configuration-file, hostapd-shepherd-services): New
procedures.
(hostapd-service-type): New variable.
* doc/guix.texi (Networking Services): Document it.
2020-04-19 23:50:17 +02:00
Marius Bakke
7abe35febe
Merge branch 'master' into core-updates 2020-04-19 16:53:01 +02:00
Efraim Flashner
fafe2343c2
services: sddm: Have sddm provision xorg-server.
* gnu/services/sddm.scm (sddm-shepherd-service)[shepherd-service]: Have
sddm provision 'xorg-server like the other display managers.
2020-04-19 09:06:20 +03:00
Ludovic Courtès
10c413685f
services: Move 'user-processes' to (gnu services shepherd).
* gnu/services/base.scm (%do-not-kill-file)
(user-processes-shepherd-service, user-processes-service-type): Move
to...
* gnu/services/shepherd.scm: ... here.
2020-04-17 23:18:32 +02:00
Marius Bakke
bd21acf6c3
Merge branch 'master' into core-updates 2020-04-15 19:26:55 +02:00
Ludovic Courtès
b4440de133
Merge branch 'version-1.1.0' 2020-04-15 16:09:18 +02:00
Ludovic Courtès
8aa752ba22
services: shepherd: Increase the PID file timeout to 30s.
When running the installation image off a DVD, early I/O operations are
extremely slow, to the point that something like dbus-daemon would need
~20s to start.  This change works around the issue.

Fixes <https://bugs.gnu.org/40572>.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.

* gnu/services/shepherd.scm (shepherd-configuration-file): Set
%pid-file-timeout to 30.
2020-04-15 00:02:23 +02:00
Marius Bakke
fc58cb5bd2
Merge branch 'master' into core-updates 2020-04-13 20:26:21 +02:00
Vagrant Cascadian
4a0dda74fc
services: libvirt-configuration: Fix grammar of "allows to select" to "allows
selecting".

* gnu/services/virtualization (libvirt-configuration): Fix grammar.
2020-04-12 13:04:34 -07:00
Florian Pelz
8e4d1493f1
services: kernel-module-loader: Clean up.
Suggested by Efraim Flashner <efraim@flashner.co.il>.
See <https://lists.gnu.org/archive/html/bug-guix/2020-04/msg00237.html>.

* gnu/services/linux.scm (kernel-module-loader-shepherd-service):
Remove unneeded 'respawn?' field.
2020-04-12 18:24:27 +00:00
Marius Bakke
bdb90df764
Merge branch 'master' into core-updates 2020-04-11 00:10:23 +02:00
Tobias Geerinckx-Rice
325707fabe
services: gnome: Fix ‘gnome’ field name.
To match its own documentation & other similar services.

* gnu/services/desktop.scm (gnome-desktop-configuration)[gnome-package]:
Rename to…
[gnome]: …this.
2020-04-10 16:05:25 +02:00
Tobias Geerinckx-Rice
8764064c05
services: gnome: Fix ‘gnome’ field name.
To match its own documentation & other similar services.

* gnu/services/desktop.scm (gnome-desktop-configuration)[gnome-package]:
Rename to…
[gnome]: …this.
2020-04-10 01:52:36 +02:00
Florian Pelz
543516ed00
services/web: Fix ordering of default-nginx-config.
Fixes an error message '"load_module" directive is specified too late'.

* gnu/services/web.scm (default-nginx-config): Emit load_module before
global directives.
2020-04-08 23:12:32 +00:00
Marius Bakke
2778302399
Merge branch 'master' into core-updates
Conflicts:
	etc/news.scm
	gnu/local.mk
	gnu/packages/check.scm
	gnu/packages/cross-base.scm
	gnu/packages/gimp.scm
	gnu/packages/java.scm
	gnu/packages/mail.scm
	gnu/packages/sdl.scm
	gnu/packages/texinfo.scm
	gnu/packages/tls.scm
	gnu/packages/version-control.scm
2020-04-08 13:00:50 +02:00
Ludovic Courtès
3302e03ba0
services: guix: Add 'set-http-proxy' action.
Fixes <https://bugs.gnu.org/25569>.
Reported by Divan Santana <divan@santanas.co.za>.

* gnu/services/base.scm (shepherd-set-http-proxy-action): New procedure.
(guix-shepherd-service): Add 'actions' field.  Change 'start' to a
lambda; check the value of the "http_proxy" environment variable and
add "http_proxy" and "https_proxy" to #:environment-variables as a
function of that.
* gnu/tests/base.scm (run-basic-test)["guix-daemon set-http-proxy
action", "guix-daemon set-http-proxy action, clear"]: New tests.
* doc/guix.texi (Base Services): Document it.
2020-04-07 12:31:36 +02:00
Ludovic Courtès
d7113bb655
services: syslog: Create log files as non-world-readable.
Partly fixes <https://bugs.gnu.org/40405>.
Reported by Diego Nicola Barbato <dnbarbato@posteo.de>.

* gnu/services/base.scm (syslog-service-type): Change 'start' method to
set umask to #o137 before spawning syslogd.
* gnu/tests/base.scm (run-basic-test)["/var/log/messages is not
world-readable"]: New test.
2020-04-06 23:56:24 +02:00
Ludovic Courtès
0468455e7d
services: Add 'rottlog-service-type' to '%base-services'.
* gnu/services/base.scm (%base-services): Add an instance of
ROTTLOG-SERVICE-TYPE.
* doc/guix.texi (Log Rotation): Mention that it's part of
%BASE-SERVICES and change example.
2020-04-06 12:07:49 +02:00
Ricardo Wurmus
0e8564f8f0
services/web: Add missing ungexp for mumi shepherd services.
This is a follow-up to commit f00f52a1fb.

* gnu/services/web.scm (mumi-shepherd-services): Ungexp variables.
2020-04-06 09:44:04 +02:00
Ricardo Wurmus
6ef1fc8da3
services/web: Add default values to all mumi-configuration fields.
This is a follow-up to commit f00f52a1fb.

* gnu/services/web.scm (<mumi-configuration>)[sender,smtp]: Add default
values.
2020-04-06 08:55:13 +02:00
Ricardo Wurmus
f00f52a1fb
gnu: mumi: Update to 0.0.0-12.bb2fe92.
* gnu/packages/mail.scm (mumi): Update to 0.0.0-12.bb2fe92.
[inputs]: Add guile-gcrypt, guile-redis, guile-webutils, mailutils.
* gnu/services/web.scm (<mumi-configuration>): New record type.
(mumi-configuration, mumi-configuration?, mumi-configuration-mumi,
mumi-configuration-mailer?, mumi-configuration-sender,
mumi-configuration-smtp): New procedures.
(mumi-shepherd-services): Accept configuration; adjust start commands; add
Shepherd service for mumi mailer.
(mumi-service-type): Pass default configuration.
* doc/guix.texi (Web Services): Update documentation.
2020-04-06 08:40:50 +02:00
Brice Waegeneire
044d1478c9
gnu: Add kernel-module-loader-service.
* doc/guix.texi (Linux Services): Add a new subsection and document the
new service and its configuration.
* gnu/services/linux.scm (kernel-module-loader-service-type): New type.
(kernel-module-loader-shepherd-service): New procedure.
* gnu/tests/linux-modules.scm (module-loader-program): Procedure
removed.
(modules-loaded?-program): New procedure.
(run-loadable-kernel-modules-test): 'module-loader-program' procedure
replaced by the new one.
[os]: Use 'kernel-module-loader-service'.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-04-05 13:07:13 +02:00
Simon Mages
83670e02bc
services: murmur: Add missing newline in murmur-configuration.
* gnu/services/telephony.scm (default-murmur-config): Add newline after
"max-user-bandwidth".

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-04-02 20:55:15 +02:00
Ludovic Courtès
9bdb0fee01
services: mate: Provide all the polkit actions.
* gnu/services/desktop.scm (mate-polkit-extension): New procedure.
(mate-desktop-service-type): Use it when extending POLKIT-SERVICE-TYPE.
2020-04-02 16:07:12 +02:00
Marius Bakke
ae0badf5bb
Merge branch 'master' into core-updates
Conflicts:
	gnu/packages/admin.scm
	gnu/packages/commencement.scm
	gnu/packages/guile.scm
	gnu/packages/linux.scm
	gnu/packages/package-management.scm
	gnu/packages/pulseaudio.scm
	gnu/packages/web.scm
2020-03-30 12:17:33 +02:00
Ludovic Courtès
0e833ac5f4
services: shepherd: Mark '.go' derivations as non-substitutable.
* gnu/services/shepherd.scm (scm->go): Pass #:options to 'computed-file'.
2020-03-29 15:32:18 +02:00
Florian Pelz
acb41a4024
services: gdm: Add gdm user to 'video' supplementary group.
This makes it possible to use gdm with the 'uvesafb' kernel module.
See <https://lists.gnu.org/archive/html/guix-devel/2020-03/msg00389.html>.

* gnu/services/xorg.scm (%gdm-accounts): Set supplementary groups.
2020-03-29 10:12:08 +00:00
Ricardo Wurmus
bc3fda5d2b
services/nfs: Replace nfs-version with nfs-versions.
Instead of accepting a string for just one protocol version accept a list of
supported versions.

* gnu/services/nfs.scm (<nfs-configuration>)[nfs-version]: Remove field and
replace...
[nfs-versions]: ...with this new field.
(nfs-shepherd-services): Pass as many "--nfs-version" options as there are
supported versions.
* doc/guix.texi (Network File System): Document nfs-versions.
2020-03-27 15:30:44 +01:00
Marius Bakke
18af687037
Merge branch 'master' into core-updates
Conflicts:
	gnu/packages/icu4c.scm
	gnu/packages/man.scm
	gnu/packages/python-xyz.scm
	guix/scripts/environment.scm
	guix/scripts/pack.scm
	guix/scripts/package.scm
	guix/scripts/pull.scm
	guix/store.scm
2020-03-27 00:12:15 +01:00
Ricardo Wurmus
b3c083b985
services/nfs: Mount nfsd pseudo file system.
* gnu/services/nfs.scm (nfs-shepherd-services): Add shepherd-service providing
/proc/fs/nfsd and make other shepherd services require it.
2020-03-25 14:17:24 +01:00
Ludovic Courtès
ae5c4a9292
services: console-font: Fix docstring.
* gnu/services/base.scm (console-font-service-type): Use quasiquote and
unquote appropriately in docstring.
2020-03-23 00:06:58 +01:00
Efraim Flashner
405c0c947c
services: Add fontconfig-file-system-service.
* gnu/services/desktop.scm (%fontconfig-file-system,
fontconfig-file-system-service): New variables.
(%desktop-services): Add fontconfig-file-system-service.
2020-03-22 09:08:11 +02:00
Marius Bakke
c4d769d359
Merge branch 'master' into core-updates 2020-03-18 19:41:08 +01:00
Marius Bakke
d594963856
gnu: eudev: Remove bugfix variant.
* gnu/packages/linux.scm (eudev/btrfs-fix): Remove variable.
(eudev)[arguments]: Add phase patch-bindir-in-btrfs-rules.
* gnu/services/base.scm (<udev-configuration>, udev-service): Refer to EUDEV
instead of EUDEV/BTRFS-FIX.
2020-03-14 13:19:06 +01:00
Marius Bakke
961d2ee269
Merge branch 'master' into core-updates 2020-03-14 13:13:40 +01:00
Ludovic Courtès
70526bdbe0
services: nfs: Remove unnecessary "mount" invocation.
* gnu/services/nfs.scm (%nfs-activation): Remove unnecessary "mount"
invocation (/proc/fs/nfsd is automatically mounted, somehow).  Remove
unnecessary 'mkdir-p' call.
2020-03-16 22:58:37 +01:00
Ludovic Courtès
e28770df71
services: nfs: Move activation snippet out of line.
* gnu/services/nfs.scm (%nfs-activation): New variable.
(nfs-service-type)[extensions]: Refer to %NFS-ACTIVATION.
2020-03-16 22:58:37 +01:00
Ludovic Courtès
a37e03d60e
tests: opensmtpd: Check /var/spool/mail instead of /var/mail.
The test had been failing since the upgrade to 6.6.3p1 in commit
2dbfd8eec4.

* gnu/services/mail.scm (opensmtpd-activation): Create /var/spool/mail.
* gnu/tests/mail.scm (run-opensmtpd-test): Check /var/spool/mail instead
of /var/mail.
2020-03-16 14:05:52 +01:00
Ludovic Courtès
0f13dd2b7f
services: dhcpd: Use 'invoke/quiet' when validating the config file.
This avoids the lengthy copyright/config message from dhcpd.

* gnu/services/networking.scm (dhcpd-activation): Use 'invoke/quiet'
instead of 'invoke'.
2020-03-16 14:05:52 +01:00
Ricardo Wurmus
85f0958693
services/web: Export nginx-configuration-global-directives.
This is a follow-up to commit b420e6deb9.

* gnu/services/web.scm (nginx-configuration-global-directives): Export
procedure.
2020-03-16 12:22:16 +01:00
Tobias Geerinckx-Rice
2ec4607863
services: nginx: Fix broken default configuration.
* gnu/services/web.scm (nginx-configuration): Emit an empty events{}
block by default.
* doc/guix.texi (Web Services): Document it.
2020-03-16 03:19:55 +01:00
Ricardo Wurmus
b420e6deb9
services/web: nginx-configuration: Add support for global directives.
* gnu/services/web.scm (<nginx-configuration>)[global-directives]: Add field.
(emit-global-directive): New procedure.
(default-nginx-config): Use it.
* doc/guix.texi (Web Services): Document it.
2020-03-15 12:05:32 +01:00
Ricardo Wurmus
995b391013
services/web: Remove empty events directive from default-nginx-config.
* gnu/services/web.scm (default-nginx-config): Remove empty events directive.
2020-03-15 12:05:32 +01:00
Ricardo Wurmus
a595399230
services: mumi-service-type: Update to latest version of mumi.
* gnu/services/web.scm (%mumi-activation): Create /var/mumi/db.
(mumi-shepherd-services): Add service for mumi worker.
2020-03-12 12:47:45 +01:00
Marius Bakke
50b99c90c8
Merge branch 'master' into core-updates 2020-03-10 20:50:02 +01:00
Christopher Baines
af96c1e0e4
services: cuirass: Allow passing extra command line options.
This is so that the options supported by the service configuration don't have
to always be changed. Generally though all options should be explicitly
supported and documented, so this is mostly to facilitate experimentation.

* gnu/services/cuirass.scm (<cuirass-configuration>): Add an extra-options
field.
(cuirass-shepherd-service): Pass the extra options to the shepherd servvices.
* doc/guix.texi (Continuous Integration): Document it.
2020-03-08 23:46:11 +00:00
Christopher Baines
d8ab68b929
services: guix-data-service: Allow passing extra options.
This is so that the options supported by the service configuration don't have
to always be changed. Generally though all options should be explicitly
supported and documented, so this is mostly to facilitate experimentation.

* gnu/services/guix.scm (<guix-data-service-configuration>): Add extra-options
and extra-process-jobs-options to the record type.
(guix-data-service-shepherd-services): Handle these new configuration record
fields.
* doc/guix.texi (Guix Data Service): Document these new options.
2020-03-08 23:35:03 +00:00
Jack Hill
f6713b55a1
services: certbot: Add server option.
* gnu/services/certbot.scm (certbot-configuration): Add server option.
(certbot-command): Use server option.
(certbot-actication): Use server option.
(certbot-nginx-server-configurations): Use server option.
* doc/guix.texi (Certificate Services): Document server option.

Co-authored-by: Tobias Geerinckx-Rice <me@tobias.gr>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-03-08 21:21:57 +01:00
Maxim Cournoyer
5fdc5b2d57
services: nfs: Run rpc.mountd in foreground.
Fixes <https://bugs.gnu.org/39708>.

Shepherd doesn't keep track of processes that fork themselves and would
disable the process after restarting it a couple times.

* gnu/services/nfs.scm (nfs-shepherd-services): Invoke rpc.mountd with the
'--foreground' option.
2020-03-08 00:26:02 -05:00
Ludovic Courtès
24a4a635fd
gnu: eudev: Add variant with corrected Btrfs rules.
Discussed at <https://bugs.gnu.org/39926>.

* gnu/packages/linux.scm (eudev/btrfs-fix): New variable.
* gnu/services/base.scm (<udev-configuration>)[udev]: Default to it.
(udev-service): Likewise for #:udev.
2020-03-07 22:30:00 +01:00
Marius Bakke
ebb7cf9e21
Merge branch 'master' into core-updates 2020-03-04 23:16:17 +01:00
Mathieu Othacehe
8f5a0a97b1
services: herd: Add restart-service.
* gnu/services/herd.scm (restart-service): New exported procedure.
2020-03-03 15:00:32 +01:00
Jakub Kądziołka
50be0da7bf
services: set-xorg-configuration: handle slim and sddm
* gnu/services/xorg.scm (handle-xorg-configuration): New syntax.
  (gdm-service-type, slim-service-type): Use handle-xorg-configuration.
* gnu/services/sddm.scm (sddm-service-type): Likewise.
2020-03-01 14:13:27 +01:00
Florian Pelz
00500449b0
services: udev: Do not rely on shepherd inheriting environment variables.
Fixes <https://bugs.gnu.org/39671>.

* gnu/services/base.scm (udev-shepherd-service)[start] Move or copy
environment variables to 'fork+exec-command' instead of 'setenv'.
2020-02-20 22:34:06 +00:00
Julien Lepiller
c6c447701c
gnu: services: Add openvpn options.
* gnu/services/vpn.scm (openvpn-client-configuration)
(openvpn-server-configuration): Add fast-io? and auth-user-pass options.
2020-02-19 04:08:55 +01:00
Julien Lepiller
0372dd1a1e
gnu: services: Fix openvpn boolean fields.
* gnu/services/vpn.scm (serialize-boolean): Do not print #t to the file.
2020-02-19 04:08:40 +01:00
Ludovic Courtès
8b9cad01e9
services: shepherd: Spawn services with nothing but the PATH variable.
Previously, services spawned with 'make-forkexec-constructor' &
co. would all inherit the environment variables of PID 1, which includes
things like 'BOOT_IMAGE'.  This change resets it to the bare minimum.

* gnu/services/shepherd.scm (shepherd-configuration-file): Add call to
'default-environment-variables'.  Remove 'setenv' call.
2020-02-16 23:31:08 +01:00
Efraim Flashner
3c6aca4232
doc: Fix typo.
* doc/guix.texi (X Window)[sddm-service-type]: SSDM -> SDDM typo fix.
[sddm-configuration]: Also list 'maya' theme.
* gnu/services/sddm.scm (sddm-service): Fix typo in doc string.
(sddm-configuration): Also list 'maya' theme.
2020-02-16 09:25:00 +02:00
shtwzrd
779d96c9b0
services: xorg: Filter modules based on system
Fixes <https://bugs.gnu.org/39402>.
Reported by shtwzrd <shtwzrd@protonmail.com>.

* gnu/services/xorg.scm (xorg-configuration):
  Apply a filter over %default-xorg-modules packages, excluding
  those for which the %current-system is not among the package's
  supported-systems.

This patch makes it possible to use xorg-configuration on systems
other than x86_64 and i686, as without it, xf86-video-intel would
be pulled in on the unsupported architecture and fail.

Signed-off-by: Jakub Kądziołka <kuba@kadziolka.net>
2020-02-16 00:02:10 +01:00
Marius Bakke
7edafc884c
Merge branch 'master' into core-updates 2020-02-14 19:05:45 +01:00
Mathieu Othacehe
dfc8ccbf5d
system: Stop using canonical-package.
Usage of canonical-package outside of thunked fields breaks cross-compilation,
see: https://lists.gnu.org/archive/html/guix-devel/2019-12/msg00410.html.

* gnu/installer.scm (installer-program): Remove canonical-package.
* gnu/services/base.scm (<nscd-cache>): Ditto,
(%base-services): ditto.
* gnu/services/xorg.scm: Remove useless canonical-package import.
* gnu/system.scm (%base-packages): Remove canonical-package.
* gnu/system/install.scm (%installation-services): Ditto,
(installation-os): ditto.
* gnu/system/locale.scm (single-locale-directory): Ditto.
2020-02-11 13:54:45 +01:00
Christopher Baines
f325a33e16
services: web: Use the Patchwork default-from-email.
Previously this wasn't used, but it should have been.

* gnu/services/web.scm (patchwork-settings-module-compiler): Use the
default-from-email.
2020-02-09 11:17:13 +00:00
Tim Gesthuizen
daec54f062
services: inputattach: Fix broken baud rate option.
* gnu/services/desktop.scm (inputattach-shepherd-service): Use "--baud" for
setting the baud-rate.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-02-07 11:51:02 +08:00
Nicolas Goaziou
8a890f3c40
gnu: tlp: Update to 1.3.0.
* gnu/packages/linux.scm (tlp): Update to 1.3.0.
[source]: Hard-code name in origin URI.
[native-inputs]: Add "shellcheck".
[arguments]: Activate some tests.  Update environment variables.  Ignore
tlp-rdw man pages.
* gnu/services/pm.scm (tlp-activation): Update configuration file name.
2020-02-02 10:42:16 +01:00
Vagrant Cascadian
3d0c79186c
services: virtualization: Add riscv32 and riscv64 to qemu platforms.
* gnu/services/virtualization (%riscv32): New variable.
  (%riscv64): New variable.
  (%qemu-platforms): Add riscv32 and riscv64.
2020-02-01 16:40:41 -08:00
Maxim Cournoyer
d3e439e355
gnu: Add earlyoom-service-type.
* gnu/services/linux.scm: New file.
* tests/services/linux.scm: Add test.
* Makefile.am (SCM_TESTS): Register test.
* doc/guix.texi (Linux Services): Add a new section and document the new
service and its configuration.
2020-01-31 23:37:13 -05:00
Tobias Geerinckx-Rice
c3f146e79a
gnu: Update opensmtpd configuration grammar.
This follows up on commit 0d48690908.

* gnu/services/mail.scm (%default-opensmtpd-config-file): Adapt to ‘new’
≥6.4 grammar.
* gnu/tests/mail.scm (%opensmtpd-os): Likewise.
2020-01-31 00:42:48 +01:00
Vagrant Cascadian
9ea68dd7be
services: getmail: Fix spelling of "address".
* gnu/services/getmail (getmail-retriever-configuration): Fix typo.
2020-01-30 15:27:31 -08:00
Leo Prikler
9111f97500
services: gdm: Disable initial system setup in GDM.
* gnu/services/xorg.scm (gdm-configuration-file): Disable gnome-initial-setup.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-01-28 21:06:24 +01:00
Damien Cassou
9a5edd0240
services: Fix typo in spice-vdagent-service.
* gnu/services/spice.scm (spice-vdagent-service): Fix typo.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-01-26 18:45:09 +01:00
宋文武
244db6bbc8
services: knot-resolver: Manage a root TA at /var/cache/knot-resolver.
* gnu/services/dns.scm (%kresd.conf): Add /var/cache/knot-resolver/root.keys
as the root TA.
2020-01-22 20:18:56 +08:00
Ludovic Courtès
b2f948be9f
services: sane: Create the "scanner" account.
* gnu/services/desktop.scm (%sane-accounts, sane-service-type): New
variables.
(%desktop-services): Use SANE-SERVICE-TYPE instead of 'simple-service'.
* doc/guix.texi (Desktop Services): Document 'sane-service-type'.
2020-01-21 15:01:46 +01:00
Christopher Baines
c8defb2b2a
services: getmail: Adjust a couple of default configuration values.
Change the message-log-syslog and message-log-verbose configuration values to
match the Getmail defaults.

* gnu/services/getmail.scm (getmail-options-configuration): Change defaults
for message-log-syslog and message-log-verbose
* doc/guix.texi (Mail Services): Update the Getmail documentation accordingly.
2020-01-20 19:13:16 +00:00
Christopher Baines
2e1a314871
services: getmail: Fix some configuration documentation strings.
* gnu/services/getmail.scm (getmail-retriever-configuration): Specify proper
documentation strings for some of the fields.
* doc/guix.texi (Mail Services): Update the documentation accordingly.
2020-01-20 19:09:00 +00:00
Christopher Baines
147a7f1fd2
services: getmail: Fix stopping the shepherd service.
* gnu/services/getmail.scm (getmail-shepherd-services): Add a stop component
to the shepherd services.
2020-01-20 19:01:23 +00:00
Danny Milosavljevic
19b310901c
services: Add "sane" service.
* gnu/services/desktop.scm (%desktop-services): Add "sane" service.
2020-01-20 18:46:07 +01:00
Tobias Geerinckx-Rice
f460f8da68
gnu: Use HTTPS for avahi.org everywhere.
* gnu/packages/avahi.scm (avahi)[home-page]: Use HTTPS.
* gnu/services/avahi.scm (avahi-service): Likewise in docstring.
2020-01-19 06:09:01 +01:00
Alex Sassmannshausen
33ed8296c0
gnu: services: Allow extra content in mysql configuration.
* gnu/services/databases.scm (<mysql-configuration>): New field.
  (mysql-configuration-file): Use it.
2020-01-17 11:28:40 +01:00
Julien Lepiller
5c3d77c3b1
gnu: services: Fix mysql service activation.
This change is necessary after the split of mariadb outputs.

* gnu/services/databases.scm (%mysql-activation): Use mysql:lib in
mariadb-specific part.
2020-01-14 00:43:00 +01:00
Leo Prikler
71e33e32fc
services: Add pulseaudio to %desktop-services.
Fixes <https://bugs.gnu.org/38172>.
Reported by raingloom <raingloom@riseup.net>.

* gnu/services/desktop.scm (%desktop-services): Add pulseaudio service.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-01-11 18:18:51 +01:00
Leo Prikler
f1022fbf2f
services: Split ladspa-service-type from pulseaudio-service-type.
* gnu/services/sound.scm (ladspa-configuration): New record.
(ladspa-environment): New procedure.
(ladspa-service-type): New service type.
(pulseaudio-environment): Remove LADSPA_PATH.
* doc/guix.texi: Adjust documentation.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-01-11 18:18:51 +01:00
Leo Prikler
f6f9181130
services: pulseaudio-configuration: Set flat-volumes to no.
* gnu/services/sound (pulseaudio-configuration) [daemon-conf]: Disable
flat-volumes, which causes unpleasant experiences to users when applications
inadvertently max out the system volume (e.g. as in #38172).

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-01-11 18:18:51 +01:00
Leo Prikler
f547426200
services: Add pulseaudio-configuration.
* gnu/services/sound (<pulseaudio-configuration>): New record.
(pulseaudio-etc): New procedure.
(pulseaudio-environment): Add PULSE_CONFIG and PULSE_CLIENTCONFIG.
(pulseaudio-service-type): Update accordingly.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-01-11 18:18:50 +01:00
Ricardo Wurmus
907eeac2e7
services: nfs: Add nfs-service-type.
* gnu/services/nfs.scm (<nfs-configuration>): New record.
(nfs-configuration, nfs-configuration?, nfs-configuration-nfs-utils,
nfs-configuration-nfs-version, nfs-configuration-exports,
nfs-configuration-rpcmountd-port, nfs-configuration-rpcstatd-port,
nfs-configuration-rpcbind, nfs-configuration-idmap-domain,
nfs-configuration-nfsd-port, nfs-configuration-nfsd-threads,
nfs-configuration-pipefs-directory, nfs-configuration-debug,
nfs-shepherd-services): New procedures.
(nfs-service-type): New variable.
* doc/guix.texi (Network File System): Document it.
* gnu/tests/nfs.scm (%test-nfs-server): New variable.
(%base-os): Use default value of rpcbind-service-type.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus
a6bdca6b9b
services: nfs: Allow gss-service-type to be extended.
* gnu/services/nfs.scm (gss-service-type): Rewrite using SERVICE-TYPE to add
ability to extend the service.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus
2a23942e3f
services: nfs: Add verbosity control to idmap-service-type.
* gnu/services/nfs.scm (<idmap-configuration>)[verbosity]: New field.
(idmap-configuration-verbosity): New procedure.
(idmap-service-type): Use it.
* doc/guix.texi (Network File System): Document it.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus
af32ea3583
services: nfs: Allow idmap-service-type to be extended.
* gnu/services/nfs.scm (idmap-service-type): Rewrite using SERVICE-TYPE to add
ability to extend the service.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus
5d4ba49891
services: nfs: Fix indentation and typo.
* gnu/services/nfs.scm (<gss-configuration>, <idmap-configuration>): Fix
indentation.
(<idmap-configuration>): Rename accessor for NFS-UTILS field to
IDMAP-CONFIGURATION-NFS-UTILS.
(idmap-service-type): Use IDMAP-CONFIGURATION-NFS-UTILS.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus
25c8c8cd4f
services: nfs: Allow pipefs-service-type to be extended.
* gnu/services/nfs.scm (pipefs-service-type): Rewrite using SERVICE-TYPE to
add ability to extend the service.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus
ba1808d5e7
services: nfs: Allow rpcbind-service-type to be extended.
* gnu/services/nfs.scm (rpcbind-service-type): Rewrite using SERVICE-TYPE to
add ability to extend the service.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus
981ce38937
services: nfs: Fix name of package variable.
* gnu/services/nfs.scm (rpcbind-service-type): Correct name from nfs-utils to
rpcbind.
2020-01-08 23:56:11 +01:00
Oleg Pykhalov
a66ee82a05
services: Add pulseaudio service.
* gnu/services/sound.scm (pulseaudio-environment): New procedure.
(pulseaudio-service-type): New variable.
* doc/guix.texi (Sound Services): Document it.
2020-01-08 10:21:45 +03:00
Ludovic Courtès
6a7c4636d4
Adjust module autoloads.
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.
2020-01-06 16:31:54 +01:00
Efraim Flashner
71fc086ae9
services: host-name: Make service one-shot.
* gnu/services/base.scm (host-name-service-type): Remove 'respawn?'
keyword from shepherd-service-type, add 'one-shot?'.
2020-01-05 20:28:29 +02:00
Jan Nieuwenhuizen
022ad24c41
services: console-font: Update example with HDPI font suggestion.
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.
2019-12-30 23:40:12 +01:00
Brice Waegeneire
747b7246a6
services: dhcp-client: Ignore interfaces that cannot be activated.
Fixes <https://bugs.gnu.org/38524>.

* gnu/services/networking.scm (dhcp-client-service-type): Filter interfaces
that cannot be activated.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-29 18:24:55 +01:00
Ludovic Courtès
6ee87461e0
services: Add Mumi service.
* 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.
2019-12-21 23:55:25 +01:00
Robert Vollmert
e7d45693d9
services: mcron: Add description.
* gnu/services/mcron.scm (mcron-service-type): Add description.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-08 00:47:26 +01:00
Leo Prikler
fe7b59c6b1
services: Add GNOME Keyring service.
* 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>
2019-12-04 18:16:08 +01:00