summary refs log tree commit diff
path: root/gnu/services
AgeCommit message (Collapse)Author
2021-01-30services: shepherd: Allow custom 'shepherd' package.Maxime Devos
* gnu/services/shepherd.scm (<shepherd-configuration>): New record. (shepherd-boot-gexp, shepherd-root-service-type): Use it. (scm->go, shepherd-configuration-file): Allow passing custom shepherd package. * gnu/system.scm (operating-system-shepherd-service-names): Use the new record. * guix/scripts/system.scm (export-shepherd-graph): Adjust accordingly. * doc/guix.texi (Shepherd Services). Document it. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2021-01-28services: cuirass: Create remote-server cache directory.Mathieu Othacehe
* gnu/services/cuirass.scm (cuirass-activation): Create remote-server cache directory if needed. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28services: cuirass: Fix syntax error.Mathieu Othacehe
This is a follow-up of 189e62fa69049538884077155cc70cac43260118. * gnu/services/cuirass.scm (<cuirass-remote-server-configuration>): Fix syntax. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28services: cuirass: Add log-file support.Mathieu Othacehe
* gnu/services/cuirass.scm (cuirass-remote-worker-shepherd-service): Add log-file support. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28services: cuirass: Fix workers argument.Mathieu Othacehe
* gnu/services/cuirass.scm (cuirass-remote-worker-shepherd-service): Fix workers arguments. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28services: cuirass: Add systems argument.Mathieu Othacehe
* gnu/services/cuirass.scm (<cuirass-remote-worker-configuration>)[systems]: New field. (cuirass-remote-worker-shepherd-service): Honor it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28services: cuirass: Add remote build support.Mathieu Othacehe
2021-01-28service: cuirass: Update it.Mathieu Othacehe
2021-01-28services: postgresql: Add postgresql-role-service-type.Mathieu Othacehe
* gnu/services/databases.scm (postgresql-role, postgresql-role?, postgresql-role-name, postgresql-role-permissions, postgresql-role-create-database?, postgresql-role-configuration, postgresql-role-configuration?, postgresql-role-configuration-host, postgresql-role-configuration-roles, postgresql-role-service-type): New procedures. * gnu/tests/databases.scm: Test it. * doc/guix.texi: Document it.
2021-01-28services: postgresql: Wrap long lines.Mathieu Othacehe
* gnu/services/databases.scm: Wrap long lines, no functional change.
2021-01-28services: postgresql: Add log directory support.Mathieu Othacehe
* gnu/services/databases.scm (postgresql-configuration-log-directory): New procedure. (<postgresql-configuration>)[log-directory]: New field. (postgresql-activation): Create the log directory. (postgresql-shepherd-service): Honor it. * gnu/tests/databases.scm (%postgresql-log-directory): New variable. (log-file): New test case. * doc/guix.texi (Database Services): Document it.
2021-01-28services: postgresql: Add socket directory support.Mathieu Othacehe
* gnu/services/databases.scm (postgresql-config-file-socket-directory): New procedure. (<postgresql-config-file>)[socket-directory]: New field. (postgresql-config-file-compiler): Honor it. (postgresql-activation): Create the socket directory if needed. * doc/guix.texi (Database Services): Document it. * gnu/tests/guix.scm (%guix-data-service-os): Adapt it. * gnu/tests/monitoring.scm (%zabbix-os): Ditto. * gnu/tests/web.scm (patchwork-os): Ditto. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28services: postgresql: Use Guile datatypes.Mathieu Othacehe
* gnu/services/databases.scm (postgresql-config-file-compiler): Support Guile datatypes in the "extra-config" field. * gnu/tests/databases.scm (%postgresql-os): Test it. * doc/guix.texi (Database Services): Document it.
2021-01-17gnu: php-fpm: Ensure no duplicate group.Julien Lepiller
* gnu/services/web.scm (php-fpm-accounts): Ensure `php-fpm` group is not duplicated. Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
2021-01-17services: cups: reuse lp from %base-groups.Leo Prikler
* gnu/services/cups.scm (%cups-accounts): Try to reuse lp from %base-groups.
2021-01-16services: openntpd: Remove support for deprecated "-s" option.Simon South
* gnu/services/networking.scm (openntpd-configuration): Remove "allow-large-adjustment?" field. (openntpd-shepherd-service): Remove use of "allow-large-adjustment?" configuration field and "-s" daemon option. * tests/networking.scm (%openntpd-conf-sample): Remove "allow-large-adjustment?" field. * doc/guix.texi (Networking Services)[openntpd-service-type]: Remove "allow-large-adjustment?" field from sample configuration. [openntpd-configuration]: Remove description of "allow-large-adjustment?" field. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-01-16services: qemu-binfmt: 'guix-support?' defaults to #t.Stefan
* gnu/services/virtualization.scm (qemu-binfmt-service-type)[guix-support?]: Change the default from #f to #t. * doc/guix.texi (Transparent Emulation with QEMU): Change the default of ‘guix-support?’ from #f to #t. Describe the implication of setting it to #f. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2021-01-14services: hurd-vm: Respect hurd-vm-configuration's disk-size.Jan (janneke) Nieuwenhuizen
This is a follow-up to commit 859b362f81598830d7ff276b96a8724aee3c4db7. * gnu/services/virtualization.scm (hurd-vm-disk-image): Use diks-size from config to set image's size.
2021-01-13services: shepherd: 'shepherd-service-type' requires documentation.Ludovic Courtès
* gnu/services/shepherd.scm (shepherd-service-type): Require a 'description' form. * gnu/services/base.scm (root-file-system-service-type) (rngd-service-type, host-name-service-type): (virtual-terminal-service-type, console-keymap-service-type) (syslog-service-type, swap-service-type) (kmscon-service-type): Add description. * gnu/services/networking.scm (dhcp-client-service-type): Likewise. * gnu/system/install.scm (cow-store-service-type): Likewise. * gnu/system/linux-container.scm (dummy-networking-service-type): Likewise. * gnu/system/mapped-devices.scm (device-mapping-service-type): Likewise. * tests/guix-system.sh: Likewise.
2021-01-12services: Add keepalived service.Oleg Pykhalov
* gnu/services/networking.scm (<keepalived-configuration>): New record. (keepalived-shepherd-service): New procedure. (keepalived-service-type): New variable. * doc/guix.texi (Networking Services): Document this.
2021-01-12services: Add syncthing service.Oleg Pykhalov
* gnu/services/syncthing.scm: New file. * gnu/local.mk: Add this. * doc/guix.texi: Document this.
2021-01-10services: cups: Add brlaser extension by default.Tobias Geerinckx-Rice
* gnu/services/cups.scm (cups-configuration): Add brlaser to the default extensions. * doc/guix.texi (Printing Services): Document it.
2021-01-06services: kernel-module-loader: Return a single 'shepherd-service'.Brice Waegeneire
* gnu/services/linux.scm (kernel-module-loader-shepherd-service): Return a 'shepherd-service' instead of a list of it. (kernel-module-loader-service-type): Adjust it. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-12-27services: Add radicale-service-type.Jonathan Brielmaier
* gnu/services/mail.scm (radicale-configuration) (radicale-configuration?): New procedures. (%default-radicale-config-file) (radicale-service-type): New variables. * doc/guix.texi: Document it.
2020-12-15services: 'references-file' depends on Guile-Gcrypt.Ludovic Courtès
Regression introduced in 6a060ff27ff68384d7c90076baa36c349fff689d. Reported by clone11 on #guix. * gnu/services/base.scm (references-file): Wrap gexp in 'with-extensions'.
2020-12-13gnu: htop: Update to 3.0.3.Tobias Geerinckx-Rice
* gnu/packages/admin.scm (htop): Update to 3.0.3.
2020-12-12services: pcscd-shepherd-service: Fix PID file location.Tobias Geerinckx-Rice
Fixes <http://issues.guix.gnu.org/45202>. * gnu/services/security-token.scm (pcscd-shepherd-service): Look for pcscd.pid in /run instead of /var/run. Reported by Raffael Stocker <r.stocker@mnet-mail.de>.
2020-12-11Revert "services: openssh: Warn about 'password-authentication?' default."Ludovic Courtès
This reverts commit aecd2a13cbd8301d0fdeafcacbf69e12cc3f6138 for two reasons: 1. The warning would fire every time (gnu services ssh) is loaded; 2. There's still no clear consensus on the approach to follow as discussed in <https://issues.guix.gnu.org/44808>.
2020-12-09services: guix-publish: Depend on 'avahi-daemon' when needed.Ludovic Courtès
* gnu/services/base.scm (guix-publish-shepherd-service): Add 'user-processes' to 'requirement'. When ADVERTISE? is true, also add 'avahi-daemon'.
2020-12-09services: avahi: Depend on 'user-processes'.Ludovic Courtès
* gnu/services/avahi.scm (avahi-shepherd-service): Add 'user-processes' to 'requirement'.
2020-12-09services: science.scm: Add missing copyright headers.Efraim Flashner
This module was always supposed to have the GPL3 header in place. Follow-up to 8f19e63f760fe02f9969225da2f3f3c36801218f. * gnu/services/science.scm: Add Copyright headers.
2020-12-08services: cuirass: Add queue-size option.Mathieu Othacehe
* gnu/services/cuirass.scm (<cuirass-configuration>): Add "queue-size" field. (cuirass-shepherd-service): Honor it. * doc/guix.texi (Continuous Integration): Document it.
2020-12-07services: openssh: Warn about 'password-authentication?' default.Ludovic Courtès
Fixes <https://bugs.gnu.org/44808>. Reported by Christopher Lemmer Webber <cwebber@dustycloud.org>. * gnu/services/ssh.scm (true-but-soon-false): New procedure. (<openssh-configuration>)[password-authentication?]: Change default to 'true-but-soon-false'. * gnu/installer/services.scm (%system-services): Explicitly set 'password-authentication?' to #f.
2020-12-07services: hurd-vm: Avoid circular dependency with (gnu system images hurd).Ludovic Courtès
* gnu/services/virtualization.scm (hurd-vm-disk-image): Use 'lookup-image-type-by-name' instead of referring to 'hurd-disk-image' from (gnu system images hurd).
2020-12-07service: Add shepherd discover action.Mathieu Othacehe
* gnu/services/base.scm (shepherd-discover-action): New procedure, (guix-shepherd-service)[<actions>]: add it, [<start>]: honor it. * doc/guix.texi (Invoking guix-daemon): Document it.
2020-12-07prometheus-node-exporter: Support extra options.Christopher Baines
There are plenty of options supported that the Guix configuration record doesn't help you with, so add this field to allow users to do their own thing. * gnu/services/monitoring.scm (<prometheus-node-exporter-configuration>): Add extra-options field. (prometheus-node-exporter-shepherd-service): Handle the extra options. * doc/guix.texi (Prometheus Node Exporter Service): Document this.
2020-12-07prometheus-node-exporter: Enable the textfile collector.Christopher Baines
* gnu/services/monitoring.scm (<prometheus-node-exporter-configuration>): Add textfile-directory. (prometheus-node-exporter-textfile-directory, prometheus-node-exporter-activation): New procedures. (prometheus-node-exporter-shepherd-service): Pass --collector.textfile.directoryto the service. (prometheus-node-exporter-service-type): Extend the activation service type. * doc/guix.texi (Prometheus Node Exporter Service): Document.
2020-12-07services: prometheus-node-exporter: Use a log file.Christopher Baines
This makes the logs easier to find and read. * gnu/services/monitoring.scm (prometheus-node-exporter-shepherd-service): Pass #:log-file to make-forkexec-constructor.
2020-12-07prometheus-node-exporter: Add user and group.Christopher Baines
So it doesn't run as root, and because this will help with the textfile exporter. * gnu/services/monitoring.scm (%prometheus-node-exporter-accounts): New variable. (prometheus-node-exporter-shepherd-service): Use the relevant user and group. (prometheus-node-exporter-service-type): Extend the account service type.
2020-12-07services: prometheus-node-exporter: Neaten up.Christopher Baines
Add relevant exports, as well as a comment to better indicate where the relevant code starts. * gnu/services/monitoring.scm (prometheus-node-exporter-service-type): Capitalise Prometheus.
2020-12-06services: mpd: Make /var/run/mpd/USER user-owned.Ludovic Courtès
Fixes <https://bugs.gnu.org/44820>. Reported by Simon <lists@netpanic.org>. This is a followup to bb124f6e9c0af0a23736f233c2ea2c9c9b4a40a6. * gnu/services/audio.scm (mpd-service-activation): Chown the parent of DIRECTORY as well.
2020-12-06services: nix: Move nix.conf generation to etc-service-type.Zhu Zihao
/etc/nix/nix.conf is a static file doesn't need rebuild on every boot. * gnu/services/nix.scm (nix-activation): Don't create /etc/nix/nix.conf. (nix-service-etc): New function. (nix-service-type): New service-extension "nix-service-etc" to etc-service-type. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-01services: MySQL: Fix indentation.Marius Bakke
* gnu/services/databases.scm (mysql-upgrade-wrapper): Adjust indentation.
2020-12-01services: databases: Do not export record type descriptors.Marius Bakke
* gnu/services/databases.scm (<postgresql-config-file>, <postgresql-configuration>, <memcached-configuration>, <mongodb-configuration>): Remove exports.
2020-11-29Use substitute servers on the local network.Mathieu Othacehe
* guix/scripts/discover.scm: New file. * Makefile.am (MODULES): Add it. * nix/nix-daemon/guix-daemon.cc (options): Add "discover" option, (parse-opt): parse it, (main): start "guix discover" process when the option is set. * guix/scripts/substitute.scm (%local-substitute-urls): New variable, (substitute-urls): add it. * gnu/services/base.scm (<guix-configuration>): Add "discover?" field, (guix-shepherd-service): honor it. * doc/guix.texi (Invoking guix-daemon): Document "discover" option, (Base Services): ditto.
2020-11-29publish: Add advertising support.Mathieu Othacehe
* guix/scripts/publish.scm (%options): Add "--advertise" option. (show-help): Document it. (service-name): New procedure, (publish-service-type): new variable. (run-publish-server): Add "advertise?" and "port" parameters. Use them to publish the server using Avahi. (guix-publish): Pass the "advertise?" option to "run-publish-server". * gnu/services/base.scm (<guix-publish-configuration>): Add "advertise?" field. (guix-publish-shepherd-service): Honor it.
2020-11-29services: zabbix-agent: Delete not mandatory hostname configuration.Oleg Pykhalov
* gnu/services/monitoring.scm (zabbix-agent-configuration)[hostname]: Set to empty string.
2020-11-28services: MySQL: Upgrade database schemas automatically.Marius Bakke
* gnu/services/databases.scm (<mysql-configuration>): Add AUTO-UPGRADE? field. (mysql-upgrade-wrapper, mysql-upgrade-shepherd-service, mysql-shepherd-services): New variables. (mysql-service-type): Use MYSQL-SHEPHERD-SERVICES instead of MYSQL-SHEPHERD-SERVICE. * doc/guix.texi (Database Services): Document the AUTO-UPGRADE? field of MYSQL-SERVICE-TYPE. * gnu/tests/databases.scm (run-mysql-test): Test that mysql_upgrade has run.
2020-11-28services: MySQL: Make the socket configurable.Marius Bakke
* gnu/services/databases.scm (<mysql-configuration>): Add SOCKET field. (mysql-configuration-file): Adjust accordingly. * doc/guix.texi (Database Services): Likewise.
2020-11-28services: MySQL: Bind to localhost only by default.Marius Bakke
* gnu/services/databases.scm (<mysql-configuration>): Add BIND-ADDRESS field. (mysql-configuration-file): Adjust accordingly. * doc/guix.texi (Database Services): Document it.