summaryrefslogtreecommitdiff
path: root/gnu/services
AgeCommit message (Collapse)Author
2020-11-06services: mpd: Always create the "mpd" user account.Ludovic Courtès
* gnu/services/audio.scm (%mpd-accounts): New variable. (mpd-service-type)[extensions]: Add ACCOUNT-SERVICE-TYPE extension.
2020-11-06services: mpd: Do not eagerly look for a user.Maxim Cournoyer
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-05services: Add yggdrasil-service-type.raingloom
* 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-05services: Remove imports of (ice-9 …) modules.Ludovic Courtès
* 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-05services: guix: Do not embed the host (guix config).Ludovic Courtès
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-10-30services: guix-publish: Add 'cache-bypass-threshold' field.Ludovic Courtès
This is a followup to ecaa102a58ad3ab0b42e04a3d10d7c761c05ec98. * gnu/services/base.scm (<guix-publish-configuration>)[cache-bypass-threshold]: New field. (guix-publish-shepherd-service): Honor it.
2020-10-30services: swap: Allow for UUIDs and file system labels.Ludovic Courtès
* 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-28gnu: ganeti-luxid-service-type: Fix typo.Vagrant Cascadian
* gnu/services/ganeti (ganeti-luxid-service-type)[description]: Fix spelling of "authoritative".
2020-10-27services: knot-resolver: Replace deprecated command-line option.Simon South
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-27services: Add gmnisrv web service.Alexandru-Sergiu Marton
* 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-27services: hpcguix-web: Set 'XDG_CACHE_HOME' to a writable directory.Ludovic Courtès
* 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-25services: guix: Make /etc/guix/acl really declarative by default.Ludovic Courtès
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-23gnu: guix-build-coordinator: Propagate the guile inputs.Christopher Baines
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-23services: guix: Fix the guix-build-coordinator metrics namespace.Christopher Baines
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-23services: guix-build-coordinator: Configure output buffering.Christopher Baines
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-23services: guix-build-coordinator: Include the system profile in PATH.Christopher Baines
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-23services: guix-build-coordinator: Output the start script name.Christopher Baines
As this can be useful for debugging purposes. * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Output the current filename.
2020-10-23services: guix: Fix hooks gexp issue for the Guix Build Coordinator.Christopher Baines
* gnu/services/guix.scm (make-guix-build-coordinator-start-script): Fix handling the name within the hook gexp.
2020-10-20services: databases: Don't specify a default postgresql version.Christopher Baines
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-20services: databases: Deprecate the postgresql-service procedure.Christopher Baines
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-20services: guix: Fix coordinator agent.Mathieu Othacehe
* gnu/services/guix.scm (guix-build-coordinator-agent-activation): Define %user variable.
2020-10-20services: lxqt-desktop: Delete unbound lxqt-desktop-service.Oleg Pykhalov
This commit follows 764d896668aa0f69514ef22de005fbf851949969. * gnu/services/desktop.scm: Delete unbound "lxqt-desktop-service" exported variable.
2020-10-20services: Add LXQt desktop service.Reza Alizadeh Majd
* 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-17services: docker: Fix missing containerd-shim binary.Oleg Pykhalov
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-14services: nginx: Add lua module.Oleg Pykhalov
* 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-14services: nginx: Fix typo in exported symbol.Lulu
* gnu/services/web.scm: Fix typo in exported symbol. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2020-10-10services: ganeti: Fix typo.Marius Bakke
* gnu/services/ganeti.scm (ganeti-luxid-service-type)[description]: Fix typo.
2020-10-09services: hurd-vm: Add 'gdb-minimal' to the default OS.Ludovic Courtès
* gnu/services/virtualization.scm (%hurd-vm-operating-system)[packages]: New field.
2020-10-08services: guix: Don't use normalized codeset for Guix Data Service.Christopher Baines
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-07services: Fix gdm-autologin pam service.Alex Griffin
* gnu/services/xorg.scm (gdm-pam-service): Mark pam_gdm.so optional.
2020-10-06services: dnsmasq: Add TFTP configuration fields.Danny Milosavljevic
* gnu/services/dns.scm (<dnsmasq-configuration>): Add TFTP configuration fields. (dnsmasq-shepherd-service): Use them. * doc/guix.texi (DNS Services): Document them.
2020-10-05services: gitolite: Install the rc file as gitolite's user.Julien Lepiller
* gnu/services/version-control.scm (gitolite-activation): Install the rc file as gitolite's user.
2020-10-05services: guix: Add guix-build-coordinator-queue-builds-service-type.Christopher Baines
* 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-05services: guix: Add guix-build-coordinator-agent-service-type.Christopher Baines
* 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-05services: guix: Add guix-build-coordinator-service-type.Christopher Baines
* 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-02services: cuirass: Fix activation.Mathieu Othacehe
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-01services: %desktop-services: Setuid root NTFS and NFS mount helpers.Maxim Cournoyer
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-01gnu: Add webssh service.Oleg Pykhalov
* 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-09-30services: hurd-vm: Add childhurd user to kvm group.Jan (janneke) Nieuwenhuizen
This is a follow-up to commit d692ebf98077d6b651d426aba92bf2a38599c4dc. * gnu/services/virtualization.scm (%hurd-vm-accounts)[supplementary-groups]: Add ’kvm’. * gnu/services/virtualization.scm (hurd-vm-shepherd-service): Use #:group "kvm"
2020-09-30services: virtualization: Use a compressed qcow2 hurd disk-image.Mathieu Othacehe
* gnu/services/virtualization.scm (hurd-vm-disk-image): Use 'compressed-qcow2 format.
2020-09-29services: secret-service: Add initial client/server handshake.Ludovic Courtès
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-29services: secret-service: Move instance last in the list of services.Ludovic Courtès
* gnu/services/virtualization.scm (secret-service-operating-system): Add the SECRET-SERVICE-TYPE instance to the end of the list.
2020-09-29services: hurd-vm: Pass "-no-reboot" when spawning the Hurd VM.Ludovic Courtès
* gnu/services/virtualization.scm (hurd-vm-shepherd-service)[vm-command]: Add "--no-reboot".
2020-09-29services: hurd-vm: Initialize the guest's SSH/Guix keys at activation time.Ludovic Courtès
* 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-29services: guix: Generate key pair if needed during activation.Ludovic Courtès
* 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-29services: hurd-vm: Check whether /dev/kvm exists at run time.Ludovic Courtès
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-29services: childhurd: Tweak description.Ludovic Courtès
* gnu/services/virtualization.scm (hurd-vm-service-type)[description]: Mention "childhurd".
2020-09-29services: hurd-vm: Run QEMU as an unprivileged user.Ludovic Courtès
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-28services: Add elogind ‘handle-lid-switch-external-power’.Tobias Geerinckx-Rice
* 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-24services: WPA Supplicant: Conditionally depend on D-Bus.Marius Bakke
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.