aboutsummaryrefslogtreecommitdiff
path: root/gnu/services
Commit message (Collapse)AuthorAge
* services: Add Varnish service.Marius Bakke2018-09-26
| | | | | | | | | * gnu/services/web.scm (<varnish-configuration>): New record type. (%varnish-accounts, %varnish-service-type): New variables. (varnish-shepherd-service): New procedure. * gnu/tests/web.scm (%varnish-vcl, %varnish-os): New variables. (%test-varnish): New test. * doc/guix.texi (Web Services): Document it.
* gnu: services: Add iptables service.Arun Isaac2018-09-20
| | | | | | | | * gnu/services/networking.scm (<iptables-configuration>): New record type. (iptables-service-type): New variable. * gnu/tests/networking.scm (run-iptables-test): New procedure. (%test-iptables): New variable. * doc/guix.texi (Networking Services): Document it.
* services: networking: Remove unbound variable reference in 'stop'.Ludovic Courtès2018-09-19
| | | | | | * gnu/services/base.scm (static-networking-shepherd-service): Remove spurious ":" in 'stop' method inadvertently introduced in commit c9436025a90b86047ba2203d58bbf238f8f9b2f9.
* services: udev: Simplify 'start' method.Ludovic Courtès2018-09-19
| | | | | | * gnu/services/base.scm (udev-shepherd-service)[start](find): Remove. (udev): Hardwire the eudev file name. Use 'fork+exec-command' instead of 'primitive-fork' and 'exec-command'.
* services: hpcguix-web: Produce a log file and rotate it.Ludovic Courtès2018-09-10
| | | | | | | * gnu/services/web.scm (%hpcguix-web-log-file) (%hpcguix-web-log-rotations): New variables. (hpcguix-web-shepherd-service): Pass #:log-file. (hpcguix-web-service-type): Extend ROTTLOG-SERVICE-TYPE.
* services: tailon: Move to (gnu services web).Ludovic Courtès2018-09-10
| | | | | | | | | | | | | | | This allows (gnu services admin) to remain deeper in the module graph and to be used by (gnu services web). * gnu/services/admin.scm (<tailon-configuration-file>) (tailon-configuration-files-string) (tailon-configuration-file-compiler, <tailon-configuration>) (tailon-shepherd-service, %tailon-accounts) (tailon-service-type): Move to... * gnu/services/web.scm: ... here. * gnu/tests/admin.scm: Remove. Move test to... * gnu/tests/web.scm (%tailon-os) (run-tailon-test, %test-tailon): ... here.
* services: nginx: 'stop' returns #f.Ludovic Courtès2018-09-08
| | | | | | | | Previously we'd return #t, which the Shepherd would consider a failure to stop the service. * gnu/services/web.scm (nginx-shepherd-service): In 'nginx-action', return #f when stopping the service.
* services: nginx: Don't read PID file when passed a custom config file.Ludovic Courtès2018-09-08
| | | | | | | | Fixes <https://bugs.gnu.org/32665>. * gnu/services/web.scm (nginx-shepherd-service): Check whether FILE is true and don't read the PID file if it is; use 'read-pid-file' instead of a potentially endless loop.
* services: hpcguix-web: Set SSL_CERT_DIR.Ludovic Courtès2018-09-06
| | | | | | | | | | | Previously Git pulls over HTTPS would fail with: guix/git.scm:132:7: In procedure update-cached-checkout: Throw to key `git-error' with args `(#<<git-error> code: -17 message: "the SSL certificate is invalid" class: 16>)'. * gnu/services/web.scm (hpcguix-web-shepherd-service): Pass "SSL_CERT_DIR=/etc/ssl/certs". * doc/guix.texi (Web Services): Mention certificates.
* services: nginx: Get the Shepherd to respawn NGINX.Clément Lassieur2018-08-31
| | | | | | | * gnu/services/web.scm (nginx-shepherd-service): Change 'start' (that is, all actions that don't send a signal to the master process) to return the PID. Wait until the PID file is created and contains an integer because it might be created after the parent process exits.
* services: Add ddclient service.Oleg Pykhalov2018-08-30
| | | | | | | | | | * gnu/services/dns.scm (ddclient-configuration, ddclient-service-type): New variables. (uglify-field-name, serialize-field, serialize-boolean, serialize-integer, serialize-string, serialize-list, serialize-extra-options, ddclient-activation, ddclient-shepherd-service, generate-ddclient-documentation): New procedures. * doc/guix.texi (DNS Services): Document it.
* services: openssh: Add 'log-level' field.Ludovic Courtès2018-08-28
| | | | | | * gnu/services/ssh.scm (<openssh-configuration>)[log-level]: New field. (openssh-config-file): Honor it. * doc/guix.texi (Networking Services): Document it.
* services: tor: Make it easier to use UNIX sockets.Chris Marusich2018-08-28
| | | | | | | | | | | | * doc/guix.texi (Networking Services): Document it, and mention that tor-service is deprecated. * gnu/services/networking.scm (<tor-configuration>) <socks-socket-type>: New field. (tor-configuration->torrc): When socks-socket-type is 'unix, set SocksPort to UNIX domain socket /var/run/tor/socks-sock and set UnixSocksGroupWritable to 1. * gnu/tests/networking.scm (%tor-os/unix-socks-socket): Instead of using a custom config file, just set socks-socket-type to 'unix.
* services: tor: Rename activation procedure.Chris Marusich2018-08-28
| | | | | * gnu/services/networking.scm: Rename the procedure tor-hidden-service-activation to tor-activation.
* services: tor: Add a system test.Chris Marusich2018-08-28
| | | | | | | | | | | | | * gnu/services/networking.scm (tor-configuration->torrc): Set PidFile to /var/run/tor/tor.pid in the base torrc configuration. (tor-shepherd-service) <start>: Call make-forkexec-constructor/container with a new #:pid-file argument to tell Shepherd where to find the PID file. Add a a new <file-system-mapping> to its existing #:mappings argument to share /var/run/tor with the the container. (tor-hidden-services-activation): Update docstring. Create /var/run/tor and set its permissions so only the tor user can access it. * gnu/tests/networking.scm (%test-tor, %tor-os): New variables. (run-tor-test): New procedure.
* gnu: services: Fix pcscd activation bug.Chris Marusich2018-08-20
| | | | | | | Fixes: <https://bugs.gnu.org/32478>. * gnu/services/security-token.scm (pcscd-activation): Idempotently create the /var/lib/pcsc symlink so that it does not fail when it already exists.
* services: cuirass: Put data in /var/lib to avoid removal at boot.Clément Lassieur2018-08-16
| | | | | | | | | Fixes <https://bugs.gnu.org/32330>. * gnu/services/cuirass.scm (<cuirass-configuration>)[database]: Change default from /var/run/cuirass/cuirass.db to /var/lib/cuirass/cuirass.db. (cuirass-account): Change home directory from /var/run/<user> to /var/lib/<user>.
* gnu: services: Add pcscd service.Arun Isaac2018-08-16
| | | | | | | * gnu/services/security-token.scm: New file. * gnu/tests/security-token.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Register new files. * doc/guix.texi (Miscellaneous Services): Document the service.
* services: nginx: Use 'invoke' rather than 'system*'.Clément Lassieur2018-08-13
| | | | * gnu/services/web.scm (nginx-shepherd-service): Replace SYSTEM* with INVOKE.
* services: postgresql: Get the Shepherd to respawn PostgreSQL.Clément Lassieur2018-08-13
| | | | | * gnu/services/databases.scm (postgresql-shepherd-service): Change 'start' to return the PID.
* services: prosody: Get the Shepherd to respawn Prosody.Clément Lassieur2018-08-13
| | | | | * gnu/services/messaging.scm (prosody-shepherd-service): Return the PID when the action is "start".
* services: prosody: Use 'invoke' rather than 'system*'.Clément Lassieur2018-08-13
| | | | | * gnu/services/messaging.scm (prosody-shepherd-service): Replace SYSTEM* with INVOKE.
* services: cgit: Disable repo booleans having a global counterpart.Clément Lassieur2018-08-13
| | | | | | | | | | | Otherwise the global counterpart is never taken into account. * doc/guix.texi (Version Control Services): Update accordingly. * gnu/services/cgit.scm (repo-boolean?, serialize-repo-boolean): Use the DEFINE-MAYBE macro to allow for the 'disabled value. (repository-cgit-configuration)[enable-commit-graph?, enable-log-filecount?, enable-log-linecount?, enable-remote-branches?, enable-subject-links?, enable-html-serving?]: Change default value to 'disabled.
* services: file-system-shepherd-service: Require "udev" service.Danny Milosavljevic2018-08-02
| | | | | | | Fixes <https://bugs.gnu.org/32313>. Reported by Brendan Tildesley <brendan.tildesley@openmailbox.org> * gnu/services/base.scm (file-system-shepherd-service): Require "udev" service.
* services: openssh: Add forwarding options.Eric Brown2018-07-29
| | | | | | | | | * gnu/services/ssh.scm (<openssh-configuration>)[allow-agent-forwarding?] [allow-tcp-forwarding?, gateway-ports?]: New fields. (openssh-config-file): Handle them. * doc/guix.texi (Networking Services): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu: services: Fix openssh service start error.Julien Lepiller2018-07-18
| | | | * gnu/services/ssh.scm (openssh-shepherd-service): Require loopback.
* services: cuirass: Remove the LOAD-PATH option.Clément Lassieur2018-07-16
| | | | | * gnu/services/cuirass.scm (<cuirass-configuration>, cuirass-shepherd-service): Remove the LOAD-PATH option.
* gnu: services: Export virtlog-configuration.Julien Lepiller2018-07-14
| | | | * gnu/services/virtualization.scm (virtlog-configuration): Export.
* services: mcron: Add 'schedule' action.Ludovic Courtès2018-07-13
| | | | | | | | | | Inspired by <https://lists.gnu.org/archive/html/help-guix/2018-07/msg00035.html>. * gnu/services/mcron.scm (shepherd-schedule-action): New procedure. (mcron-shepherd-services): Add 'actions' field. * gnu/tests/base.scm (run-mcron-test)["schedule action"]: New test. * doc/guix.texi (Scheduled Job Execution): Mention 'herd schedule'.
* services: shepherd: Support custom actions.Ludovic Courtès2018-07-13
| | | | | | | * gnu/services/shepherd.scm (<shepherd-service>)[actions]: New field. (<shepherd-action>): New record type. (shepherd-service-file): Pass #:actions to 'make'. * doc/guix.texi (Shepherd Services): Document custom actions.
* services: Add prometheus-node-exporter-service-type.Gábor Boskovits2018-07-09
| | | | | | | | | | * gnu/services/monitoring.scm (prometheus-node-exporter-service-type): New variable. (<prometheus-node-exporter-configuration>): New record type. (prometheus-node-exporter-shepherd-service): New procedure. * gnu/doc/guix.texi (Monitoring Services): Document it. * gnu/tests/monitoring.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add test module.
* services: mingetty: Use '--nohangup'.Ludovic Courtès2018-07-05
| | | | | | | | See the discussion at <https://lists.gnu.org/archive/html/guix-devel/2018-07/msg00049.html>. * gnu/services/base.scm (mingetty-shepherd-service): Pass "--nohangup" to mingetty.
* services: alsa-service-type: Fix the loading of 'pulse' plugin.Oleg Pykhalov2018-06-25
| | | | | | | | | | | Fixes <https://bugs.gnu.org/31591>. * gnu/services/sound.scm (<alsa-configuration>)[alsa-plugins]: New field. (alsa-config-file): Use 'pcm_type.pulse' and 'ctl_type.pulse' to specify file paths to the 'pulse' plugin. * doc/guix.texi (Sound Services): Document this. Co-authored-by: 宋文武 <iyzsong@member.fsf.org>
* services: Fix "authentication" service name.Danny Milosavljevic2018-06-23
| | | | | | Follow-up to 7f93bbd5aadf0427190769fba8f478c29e37b4f4. * gnu/services/authentication.scm: Fix module name.
* services: Add fingerprint identification service.Danny Milosavljevic2018-06-23
| | | | | | * gnu/services/authentication.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Miscellaneous Services): Document it.
* services: cuirass: Add description.Ricardo Wurmus2018-06-22
| | | | * gnu/services/cuirass.scm (cuirass-service-type): Add description.
* services: cups: Add description.Ricardo Wurmus2018-06-22
| | | | * gnu/services/cups.scm (cups-service-type): Add description.
* services: boot: Take gexps instead of monadic gexps.Ludovic Courtès2018-06-20
| | | | | | | | | | | | | | | * gnu/services.scm (compute-boot-script): Rename 'mexps' to 'gexps' and remove 'mlet' form. (boot-service-type): Update comment. (cleanup-gexp): Remove 'with-monad' and 'return'. (activation-script): Rewrite in non-monadic style: use 'scheme-file' instead of 'gexp->file'. (gexps->activation-gexp): Remove 'mlet', return a gexp. * gnu/services/shepherd.scm (shepherd-boot-gexp): Remove 'with-monad' and 'return'. * gnu/system.scm (operating-system-boot-script): Remove outdated comment. * gnu/tests/base.scm (%cleanup-os): For 'dirty-service', remove 'with-monad' and 'return'.
* services: Fix GPLv3 header in cuirass and pm modules.Nils Gillmann2018-06-20
| | | | | | | * gnu/services/cuirass.scm, gnu/services/pm.scm: Adjust to canonical GPLv3 header used throughout Guix. Signed-off-by: Leo Famulari <leo@famulari.name>
* store-copy: 'read-reference-graph' returns a list of records.Ludovic Courtès2018-06-14
| | | | | | | | | | | | | | The previous implementation of 'read-reference-graph' was good enough for many use cases, but it discarded the graph structure, which is useful information in some cases. * guix/build/store-copy.scm (<store-info>): New record type. (read-reference-graph): Rewrite to return a list of <store-info>. (closure-size, populate-store): Adjust accordingly. * gnu/services/base.scm (references-file): Adjust accordingly. * gnu/system/vm.scm (system-docker-image): Likewise. * guix/scripts/pack.scm (squashfs-image, docker-image): Likewise. * tests/gexp.scm ("gexp->derivation #:references-graphs"): Likewise.
* services: tor: Mark end of auto-generated configuration block.Tobias Geerinckx-Rice2018-06-14
| | | | | * gnu/services/networking.scm (tor-configuration->torrc): Clearly demarcate auto-generated lines.
* services: nginx: Support extra content in the http block.Christopher Baines2018-06-12
| | | | | | | | | | | This helpful when adding content to the nginx configuration file, which isn't supported by the record type used for the configuration. For example, like adding proxy_cache_path configuration. * gnu/packages/web.scm (<nginx-configuration>): Add new extra-content field. (nginx-configuration-extra-content): New field accessor. (default-nginx-config): Add support for the extra-content field. * doc/guix.texi (NGINX): Document the new extra-content field.
* services: dnsmasq-service-type: Add default configuration and description.宋文武2018-06-08
| | | | | * gnu/services/dns.scm (dnsmasq-service-type) [default-value, description]: New fields.
* services: dnsmasq: Use 'negative-cache?' instead of 'no-negcache?'.宋文武2018-06-08
| | | | | | | | | | The 'no-negcache?' option is mapped to the '--no-negcache' command-line argument directly, but we're in the scheme world, where the general guideline is to avoid double-negations in identifiers. * gnu/services/dns.scm <dnsmasq-configuration>: Replace the 'no-negcache?' field with 'negative-cache?'. * doc/guix.texi (DNS Services)[Dnsmasq Service]: Adjust accordingly.
* services: Add dnsmasq-service-type.宋文武2018-06-05
| | | | | | | * gnu/services/dns.scm (dnsmasq-service-type): New variable. (<dnsmasq-configuration>): New record type. (dnsmasq-shepherd-service): New procedure. * doc/guix.texi (DNS Services): Document it.
* services: Add hpcguix-web.Rouby Pierre-Antoine2018-06-01
| | | | | | | | | | | | * gnu/service/web.scm (<hpcguix-web-configuration>): New record-type. (%hpcguix-web-accounts): New variable. (%hpcguix-web-activation,hpcguix-web-shepherd-service, hpcguix-web-service-type): New procedures. * gnu/tests/web.scm (run-hpcguix-web-server-test): New procedure. (%hpcguix-web-specs, %hpcguix-web-os, %test-hpcguix-web): New variable. * doc/guix.texi (Web Services): Add 'hpcguix-web'. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* services: fstab: Properly handle file system labels.Ludovic Courtès2018-05-29
| | | | | | | | | | Fixes a regression introduced in a5acc17a3c10a3779b5b8b1a2565ef130be77e51. Reported by Tobias Geerinckx-Rice <me@tobias.gr>. * gnu/services/base.scm (file-system->fstab-entry): Pass LABEL, not FILE-SYSTEM, to 'file-system-label->string'.
* file-systems: Remove 'title' field and add <file-system-label>.Ludovic Courtès2018-05-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'title' field was easily overlooked and was an endless source of confusion. Now, the value of the 'device' field is self-contained. * gnu/system/file-systems.scm (<file-system>): Change constructor name to '%file-system'. [title]: Remove. (<file-system-label>): New record type with printer. (report-deprecation, device-expression) (process-file-system-declaration, file-system): New macros. (file-system-title): New procedure. (file-system->spec, spec->file-system): Adjust to handle <file-system-label>. * gnu/system.scm (bootable-kernel-arguments): Add case for 'file-system-label?'. (read-boot-parameters): Likewise. (mapped-device-user): Avoid 'file-system-title'. (fs->boot-device): Remove. (operating-system-boot-parameters): Use 'file-system-device' instead of 'fs->boot-device'. (device->sexp): Add case for 'file-system-label?'. * gnu/bootloader/grub.scm (grub-root-search): Add case for 'file-system-label?'. * gnu/system/examples/bare-bones.tmpl, gnu/system/examples/beaglebone-black.tmpl, gnu/system/examples/lightweight-desktop.tmpl, gnu/system/examples/vm-image.tmpl: Remove uses of 'title'. * gnu/system/vm.scm (virtualized-operating-system): Remove uses of 'file-system-title'. * guix/scripts/system.scm (check-file-system-availability): Likewise, and adjust fix-it hint. (check-initrd-modules)[file-system-/dev]: Likewise. * gnu/build/file-systems.scm (canonicalize-device-spec): Remove 'title' parameter. [canonical-title]: Remove. Match on SPEC's type rather than on CANONICAL-TITLE. (mount-file-system): Adjust caller. * gnu/build/linux-boot.scm (boot-system): Interpret ROOT here. * gnu/services/base.scm (file-system->fstab-entry): Remove use of 'file-system-title'. * doc/guix.texi (File Systems): Remove documentation of the 'title' field. Rewrite documentation of 'device' and document 'file-system-label'.
* gnu: mate-desktop-service-type: Add description.Ricardo Wurmus2018-05-24
| | | | * gnu/services/desktop.scm (mate-desktop-service-type): Add description.
* gnu: gnome-desktop-service-type: Add description.Ricardo Wurmus2018-05-24
| | | | * gnu/services/desktop.scm (gnome-desktop-service-type): Add description.