1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 21:20:33 +02:00

1181 Commits

Author SHA1 Message Date
Marius Bakke
0a47ff9f9f services: base: Re-export %default-substitute-urls from (guix store).
* gnu/services/base.scm: Export %DEFAULT-SUBSTITUTE-URLS.
2020-11-18 22:37:17 +01:00
Marius Bakke
0ae9bbe4f5 services: SDDM: Wait for elogind before starting.
Fixes <https://bugs.gnu.org/44669>.

* gnu/services/sddm.scm (sddm-shepherd-service)[requirement]: Add elogind.
2020-11-18 22:31:32 +01:00
Ludovic Courtès
37b98e8cca services: shepherd: Map all the invalid store characters to dash.
Fixes a regression introduced in
977eb5d023 whereby file system services
would now have a different name.

* gnu/services/base.scm (file-system->shepherd-service-name): Revert
changes introduced in 977eb5d023.
* gnu/services/shepherd.scm (%store-characters): New variable
(shepherd-service-file-name): Map all the characters outside
%STORE-CHARACTERS to #\-.
2020-11-18 11:13:49 +01:00
Marius Bakke
6cad3f6966 services: mingetty: Export configuration accessors.
* gnu/services/base: Export configuration accessors for mingetty.
2020-11-16 19:08:36 +01:00
Ludovic Courtès
977eb5d023 Properly deal with build directories containing '~'.
Fixes <https://bugs.gnu.org/44626>.
Reported by Vagrant Cascadian <vagrant@debian.org>.

* tests/build-utils.scm ("wrap-script, simple case"): Pass
SCRIPT-CONTENTS to 'display' rather than 'format'.
* gnu/services/base.scm (file-system->shepherd-service-name)
[valid-characters, mount-point]: New variables.
Filter out invalid store file name characters from the mount point of
FILE-SYSTEM.
2020-11-16 11:21:42 +01:00
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
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
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