summaryrefslogtreecommitdiff
path: root/gnu/services
Commit message (Collapse)AuthorAgeFilesLines
...
* | services: guix: Remove the Guix Build Coordinator agent pid file.Christopher Baines2020-11-071-7/+0
| | | | | | | | | | | | | | | | | | 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.
* | services: guix: Add guix-build-coordinator-agent cache directory.Christopher Baines2020-11-071-0/+8
| | | | | | | | | | | | | | | | | | 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.
* | services: Add yggdrasil-service-type.raingloom2020-11-051-1/+116
|/ | | | | | | | | | | | * 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>
* services: Remove imports of (ice-9 …) modules.Ludovic Courtès2020-11-051-4/+3
| | | | | | | | * 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.
* services: guix: Do not embed the host (guix config).Ludovic Courtès2020-11-051-2/+4
| | | | | | | | 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).
* services: guix-publish: Add 'cache-bypass-threshold' field.Ludovic Courtès2020-10-301-2/+8
| | | | | | | | This is a followup to ecaa102a58ad3ab0b42e04a3d10d7c761c05ec98. * gnu/services/base.scm (<guix-publish-configuration>)[cache-bypass-threshold]: New field. (guix-publish-shepherd-service): Honor it.
* services: swap: Allow for UUIDs and file system labels.Ludovic Courtès2020-10-301-12/+42
| | | | | | | | * 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.
* gnu: ganeti-luxid-service-type: Fix typo.Vagrant Cascadian2020-10-281-1/+1
| | | | | * gnu/services/ganeti (ganeti-luxid-service-type)[description]: Fix spelling of "authoritative".
* services: knot-resolver: Replace deprecated command-line option.Simon South2020-10-271-1/+1
| | | | | | | | | 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>
* services: Add gmnisrv web service.Alexandru-Sergiu Marton2020-10-271-0/+73
| | | | | | | | | | | * 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>
* services: hpcguix-web: Set 'XDG_CACHE_HOME' to a writable directory.Ludovic Courtès2020-10-271-1/+1
| | | | | | | * 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.
* services: guix: Make /etc/guix/acl really declarative by default.Ludovic Courtès2020-10-252-5/+22
| | | | | | | | | | | | 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.
* gnu: guix-build-coordinator: Propagate the guile inputs.Christopher Baines2020-10-231-2/+5
| | | | | | | | | | | 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.
* services: guix: Fix the guix-build-coordinator metrics namespace.Christopher Baines2020-10-231-1/+1
| | | | | | | 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.
* services: guix-build-coordinator: Configure output buffering.Christopher Baines2020-10-231-0/+3
| | | | | | | Otherwise the logging is garbled. * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Configure line output buffering for stdout and stderr.
* services: guix-build-coordinator: Include the system profile in PATH.Christopher Baines2020-10-231-1/+2
| | | | | | | 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.
* services: guix-build-coordinator: Output the start script name.Christopher Baines2020-10-231-0/+2
| | | | | | | As this can be useful for debugging purposes. * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Output the current filename.
* services: guix: Fix hooks gexp issue for the Guix Build Coordinator.Christopher Baines2020-10-231-1/+1
| | | | | * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Fix handling the name within the hook gexp.
* services: databases: Don't specify a default postgresql version.Christopher Baines2020-10-201-4/+2
| | | | | | | | | | | | | | | | | | | | 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.
* services: databases: Deprecate the postgresql-service procedure.Christopher Baines2020-10-201-6/+8
| | | | | | | | | 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).
* services: guix: Fix coordinator agent.Mathieu Othacehe2020-10-201-0/+2
| | | | | * gnu/services/guix.scm (guix-build-coordinator-agent-activation): Define %user variable.
* services: lxqt-desktop: Delete unbound lxqt-desktop-service.Oleg Pykhalov2020-10-201-1/+0
| | | | | | | This commit follows 764d896668aa0f69514ef22de005fbf851949969. * gnu/services/desktop.scm: Delete unbound "lxqt-desktop-service" exported variable.
* services: Add LXQt desktop service.Reza Alizadeh Majd2020-10-201-0/+37
| | | | | | | | | * 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>
* services: docker: Fix missing containerd-shim binary.Oleg Pykhalov2020-10-171-1/+5
| | | | | | | | | 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.
* services: nginx: Add lua module.Oleg Pykhalov2020-10-141-5/+20
| | | | | | | | * 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.
* services: nginx: Fix typo in exported symbol.Lulu2020-10-141-1/+1
| | | | | | * gnu/services/web.scm: Fix typo in exported symbol. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
* services: ganeti: Fix typo.Marius Bakke2020-10-101-1/+1
| | | | * gnu/services/ganeti.scm (ganeti-luxid-service-type)[description]: Fix typo.
* services: hurd-vm: Add 'gdb-minimal' to the default OS.Ludovic Courtès2020-10-091-0/+4
| | | | | * gnu/services/virtualization.scm (%hurd-vm-operating-system)[packages]: New field.
* services: guix: Don't use normalized codeset for Guix Data Service.Christopher Baines2020-10-081-2/+2
| | | | | | | | 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.
* services: Fix gdm-autologin pam service.Alex Griffin2020-10-071-1/+2
| | | | * gnu/services/xorg.scm (gdm-pam-service): Mark pam_gdm.so optional.
* services: dnsmasq: Add TFTP configuration fields.Danny Milosavljevic2020-10-061-3/+67
| | | | | | | * gnu/services/dns.scm (<dnsmasq-configuration>): Add TFTP configuration fields. (dnsmasq-shepherd-service): Use them. * doc/guix.texi (DNS Services): Document them.
* services: gitolite: Install the rc file as gitolite's user.Julien Lepiller2020-10-051-2/+7
| | | | | * gnu/services/version-control.scm (gitolite-activation): Install the rc file as gitolite's user.
* services: guix: Add guix-build-coordinator-queue-builds-service-type.Christopher Baines2020-10-051-0/+112
| | | | | | | | | | | | | | | | | | | * 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.
* services: guix: Add guix-build-coordinator-agent-service-type.Christopher Baines2020-10-051-0/+121
| | | | | | | | | | | | | | | | | | | | | | * 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.
* services: guix: Add guix-build-coordinator-service-type.Christopher Baines2020-10-051-3/+197
| | | | | | | | | | | | | | | | | | | | | * 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.
* services: cuirass: Fix activation.Mathieu Othacehe2020-10-021-5/+9
| | | | | | | | 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.
* services: %desktop-services: Setuid root NTFS and NFS mount helpers.Maxim Cournoyer2020-10-011-1/+8
| | | | | | | | | | | | | | 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>
* gnu: Add webssh service.Oleg Pykhalov2020-10-011-1/+130
| | | | | | | | * 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.
* services: hurd-vm: Add childhurd user to kvm group.Jan (janneke) Nieuwenhuizen2020-09-301-1/+4
| | | | | | | | | 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"
* services: virtualization: Use a compressed qcow2 hurd disk-image.Mathieu Othacehe2020-09-301-0/+1
| | | | | * gnu/services/virtualization.scm (hurd-vm-disk-image): Use 'compressed-qcow2 format.
* services: secret-service: Add initial client/server handshake.Ludovic Courtès2020-09-291-2/+9
| | | | | | | | | | | | | | | 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.
* services: secret-service: Move instance last in the list of services.Ludovic Courtès2020-09-291-2/+6
| | | | | * gnu/services/virtualization.scm (secret-service-operating-system): Add the SECRET-SERVICE-TYPE instance to the end of the list.
* services: hurd-vm: Pass "-no-reboot" when spawning the Hurd VM.Ludovic Courtès2020-09-291-1/+6
| | | | | * gnu/services/virtualization.scm (hurd-vm-shepherd-service)[vm-command]: Add "--no-reboot".
* services: hurd-vm: Initialize the guest's SSH/Guix keys at activation time.Ludovic Courtès2020-09-291-1/+66
| | | | | | | | | | * 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.
* services: guix: Generate key pair if needed during activation.Ludovic Courtès2020-09-291-4/+9
| | | | | | | | * 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.
* services: hurd-vm: Check whether /dev/kvm exists at run time.Ludovic Courtès2020-09-291-7/+8
| | | | | | | 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.
* services: childhurd: Tweak description.Ludovic Courtès2020-09-291-1/+2
| | | | | * gnu/services/virtualization.scm (hurd-vm-service-type)[description]: Mention "childhurd".
* services: hurd-vm: Run QEMU as an unprivileged user.Ludovic Courtès2020-09-291-13/+30
| | | | | | | 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.
* services: Add elogind ‘handle-lid-switch-external-power’.Tobias Geerinckx-Rice2020-09-281-58/+61
| | | | | | | * 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.
* services: WPA Supplicant: Conditionally depend on D-Bus.Marius Bakke2020-09-241-2/+4
| | | | | | | | | | | 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.