1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-07 13:40:36 +02:00
Commit Graph

649 Commits

Author SHA1 Message Date
Danny Milosavljevic
c106d03b88 services: file-system-shepherd-service: Require "udev" service.
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.
2018-08-02 15:21:33 +02:00
Eric Brown
5b68239072 services: openssh: Add forwarding options.
* 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>
2018-07-29 18:50:28 +02:00
Julien Lepiller
363c946b36 gnu: services: Fix openssh service start error.
* gnu/services/ssh.scm (openssh-shepherd-service): Require loopback.
2018-07-18 21:17:15 +02:00
Clément Lassieur
cd62e5d368 services: cuirass: Remove the LOAD-PATH option.
* gnu/services/cuirass.scm (<cuirass-configuration>,
cuirass-shepherd-service): Remove the LOAD-PATH option.
2018-07-16 22:08:58 +02:00
Julien Lepiller
daf823ad27 gnu: services: Export virtlog-configuration.
* gnu/services/virtualization.scm (virtlog-configuration): Export.
2018-07-14 13:19:37 +02:00
Ludovic Courtès
147c5aa5d4 services: mcron: Add 'schedule' action.
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'.
2018-07-13 00:08:55 +02:00
Ludovic Courtès
701383081a services: shepherd: Support custom actions.
* 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.
2018-07-13 00:08:54 +02:00
Gábor Boskovits
a33652ee33 services: Add prometheus-node-exporter-service-type.
* 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.
2018-07-09 10:39:06 +02:00
Ludovic Courtès
a043b5b81a services: mingetty: Use '--nohangup'.
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.
2018-07-05 00:14:01 +02:00
Oleg Pykhalov
1e3861eb00 services: alsa-service-type: Fix the loading of 'pulse' plugin.
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>
2018-06-25 23:29:46 +08:00
Danny Milosavljevic
812f6bd82d services: Fix "authentication" service name.
Follow-up to 7f93bbd5aa.

* gnu/services/authentication.scm: Fix module name.
2018-06-23 00:21:23 +02:00
Danny Milosavljevic
7f93bbd5aa services: Add fingerprint identification service.
* gnu/services/authentication.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Miscellaneous Services): Document it.
2018-06-23 00:14:27 +02:00
Ricardo Wurmus
a64160d246 services: cuirass: Add description.
* gnu/services/cuirass.scm (cuirass-service-type): Add description.
2018-06-22 12:37:58 +02:00
Ricardo Wurmus
86cd3f9723 services: cups: Add description.
* gnu/services/cups.scm (cups-service-type): Add description.
2018-06-22 12:37:19 +02:00
Ludovic Courtès
378daa8cb6 services: boot: Take gexps instead of monadic gexps.
* 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'.
2018-06-20 23:47:08 +02:00
Nils Gillmann
6a18183f4b services: Fix GPLv3 header in cuirass and pm modules.
* gnu/services/cuirass.scm, gnu/services/pm.scm: Adjust to canonical GPLv3
header used throughout Guix.

Signed-off-by: Leo Famulari <leo@famulari.name>
2018-06-20 12:16:11 -04:00
Ludovic Courtès
6892f0a247 store-copy: 'read-reference-graph' returns a list of records.
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.
2018-06-14 11:16:58 +02:00
Tobias Geerinckx-Rice
0975ca3fd4 services: tor: Mark end of auto-generated configuration block.
* gnu/services/networking.scm (tor-configuration->torrc): Clearly
demarcate auto-generated lines.
2018-06-14 05:21:35 +02:00
Christopher Baines
25e071ead9 services: nginx: Support extra content in the http block.
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.
2018-06-12 21:18:10 +01:00
宋文武
0d4c2d35af services: dnsmasq-service-type: Add default configuration and description.
* gnu/services/dns.scm (dnsmasq-service-type)
[default-value, description]: New fields.
2018-06-08 23:32:49 +08:00
宋文武
c061eb587c services: dnsmasq: Use 'negative-cache?' instead of 'no-negcache?'.
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.
2018-06-08 23:32:49 +08:00
宋文武
97f6e9133a services: Add dnsmasq-service-type.
* 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.
2018-06-05 20:05:31 +08:00
Rouby Pierre-Antoine
93b83eb31e services: Add hpcguix-web.
* 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>
2018-06-01 13:50:26 +02:00
Ludovic Courtès
0d56d9c714 services: fstab: Properly handle file system labels.
Fixes a regression introduced in
a5acc17a3c.

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'.
2018-05-29 15:09:44 +02:00
Ludovic Courtès
a5acc17a3c file-systems: Remove 'title' field and add <file-system-label>.
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'.
2018-05-28 13:24:11 +02:00
Ricardo Wurmus
a31d7334c2 gnu: mate-desktop-service-type: Add description.
* gnu/services/desktop.scm (mate-desktop-service-type): Add description.
2018-05-24 10:15:51 +02:00
Ricardo Wurmus
d1ae687967 gnu: gnome-desktop-service-type: Add description.
* gnu/services/desktop.scm (gnome-desktop-service-type): Add description.
2018-05-24 10:15:27 +02:00
Efraim Flashner
d8ac798701 services: connman: Add polkit hooks for connman.
* gnu/services/networking.scm (connman-service-type): Extend the
polkit-service-type with actions from connman.
2018-05-20 21:42:34 +03:00
Efraim Flashner
19f20f4ffe services: openntpd: Add openntpd to the system profile.
* gnu/services/networking.scm (openntpd-service-type): Extend the
profile-service-type and add openntpd to the system profile.
2018-05-20 21:42:33 +03:00
Efraim Flashner
6a2b906565 services: dbus: Search more directories for '.service' files.
* gnu/services/dbus.scm (system-service-directory): Remove one level of
directories when searching for '.service' files.
2018-05-20 21:42:33 +03:00
Efraim Flashner
9b0e51461d services: connman: Add default configuration to the connman-service-type.
* gnu/services/networking.scm (connman-service-type)[default-value]: New
field.
2018-05-20 21:42:32 +03:00
Efraim Flashner
e9d271ed9a services: Add Enlightenment desktop service.
* gnu/services/desktop.scm (<enlightenment-desktop-configuration>,
enlightenment-desktop-service-type): New variables.
* doc/guix.texi (Desktop Services): Document the service.
* NEWS: Mention it.
2018-05-20 21:42:32 +03:00
Christopher Baines
6ee3f3dec7 services: cgit: Make project-list permit a file-object.
Instead of having the service manage the list, it's useful to be able to point
this at an existing file, for example, when using cgit together with gitolite.

* gnu/services/cgit.scm (project-list?): New procedure.
(serialize-project-list): Handle file-object values.
(<cgit-configuration>): Change the predicate for project-list to allow lists
and file-objects.
2018-05-18 17:24:39 +01:00
Christopher Baines
c3343d62f6 services: cgit: Improve handling of extra-options.
* gnu/services/cgit.scm (serialize-cgit-configuration): Add the extra options,
one per line, before the scan-path, as this makes it possible to use the
extra-options to affect the global behaviour for repositories.
(serialize-extra-options): New procedure.
2018-05-18 17:24:39 +01:00
Arun Isaac
f93c7a8979 gnu: services: Fix wesnothd-configuration? symbol export.
* gnu/services/games.scm: Export wesnothd-configuration?, not the
non-existent wesnoth-configuration?.
2018-05-14 20:15:28 +05:30
Oleg Pykhalov
ef6a484475 services: desktop: Add alsa-service-type.
* gnu/services/desktop.scm (%desktop-services): Add 'alsa-service-type'.
2018-05-11 12:15:42 +03:00
Pierre-Antoine Rouby
36d619e85d services: bitlbee: Add plugins.
* doc/guix.texi (Bitlbee Service): Add plugins.
* gnu/services/messaging.scm (<bitlbee-configuration>): Add plugins argument.
  (bitlbee-shepherd-service): Update config file.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-05-11 00:15:59 +02:00
Oleg Pykhalov
8cd1e8e849 gnu: Add sound service.
* gnu/services/sound.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add this.
* doc/guix.texi (Sound Services): New chapter.
2018-05-02 15:11:13 +03:00
Clément Lassieur
cb7c80f67d services: prosody: Add a default value to the prosody-service-type.
* gnu/services/messaging.scm (prosody-service-type)[default-value]: New field.
2018-05-01 00:25:31 +02:00
Clément Lassieur
9c6a461cf0 services: prosody: Add a description to the prosody-service-type.
* gnu/services/messaging.scm (prosody-service-type)[description]: New field.
2018-05-01 00:25:26 +02:00
Ludovic Courtès
5986e94118 services: gpm: Provide a default value and document 'gpm-service-type'.
* gnu/services/base.scm (%default-gpm-options): New variable.
(<gpm-configuration>)[gpm, options]: Add default values.
(gpm-service-type)[default-value]: New field.
(gpm-service): Use %DEFAULT-GPM-OPTIONS and mark as deprecated.
* doc/guix.texi (Base Services): Document 'gpm-service-type' and
'gpm-configuration'.  Remove 'gpm-service'.
2018-04-30 14:22:43 +02:00
Danny Milosavljevic
70ab130a49 services: Re-export static-networking-service, static-networking-service-type.
* gnu/services/networking.scm: Re-export static-networking-service,
static-networking-service-type.
2018-04-30 10:43:03 +02:00
Danny Milosavljevic
d94e81dbfc services: Add modem-manager-service-type.
* gnu/services/networking.scm (modem-manager-service-type): New variable.
(<modem-manager-configuration>): New variable.
(modem-manager-configuration): New procedure.
(modem-manager-configuration?): New procedure.
* doc/guix.texi (Networking Services): Document it.
* gnu/tests/networking.scm: Import (gnu services base).
2018-04-30 03:47:16 +02:00
Danny Milosavljevic
c9436025a9 services: Move static-networking to (gnu services base).
* gnu/services/networking.scm (static-networking, static-networking?,
static-networking-interface, static-networking-ip, static-networking-netmask,
static-networking-gateway, static-networking-requirement,
static-networking-service, static-networking-service-type): Move to...
* gnu/services/base.scm: ...here.
2018-04-30 03:47:14 +02:00
Chris Marusich
a654d3debd services: Set default <dhcpd-configuration> version to "4".
* gnu/services/networking.scm (<dhcpd-configuration>) <version>: Set the
default to "4" instead of "6"; both our manual and upstream says the default
should be "4".
2018-04-27 01:39:28 -07:00
Chris Marusich
f1104d9009 services: Add dhcpd-service-type and <dhcpd-configuration>.
* doc/guix.texi (Networking Services): Document it.
* gnu/services/networking.scm (dhcpd-service-type): Add it.
(dhcpd-configuration, dhcpd-configuration?): Add it.
(dhcpd-configuration-package): Add it.
(dhcpd-configuration-config-file): Add it.
(dhcpd-configuration-version): Add it.
(dhcpd-configuration-run-directory): Add it.
(dhcpd-configuration-lease-file): Add it.
(dhcpd-configuration-pid-file): Add it.
(dhcpd-configuration-interfaces): Add it.
* gnu/tests/networking.scm (minimal-dhcpd-v4-config-file)
(dhcpd-v4-configuration, %dhcpd-os, run-dhcpd-test, %test-dhcpd): New
variables.
2018-04-21 23:46:30 -07:00
Clément Lassieur
e5fe544eaa services: cgit: Add support for project-list.
* doc/guix.texi (Version Control Services): Update accordingly.
* gnu/services/cgit.scm (cgit-configuration)[project-list]: New field.
(serialize-project-list): New procedure that uses PLAIN-FILE to generate a
file from the string list given by the user as input.
(serialize-cgit-configuration): Make sure to serialize 'project-list' before
'repostory-directory'.
2018-04-11 21:23:59 +02:00
Clément Lassieur
80b76b9350 services: cgit: Enforce serialization order.
* gnu/services/cgit.scm (serialize-cgit-configuration): New procedure that
serializes fields with a precise order.
(cgit-activation): Replace the generic SERIALIZE-CONFIGURATION with
SERIALIZE-CGIT-CONFIGURATION.
2018-04-11 21:23:59 +02:00
Clément Lassieur
ad05e96e14 services: cgit: Add support for file-like objects.
* doc/guix.texi (Version Control Services): Update accordingly.
* gnu/services/cgit.scm (serialize-field, serialize-string, serialize-boolean,
serialize-integer, serialize-repository-cgit-configuration-list,
serialize-nginx-server-configuration-list, serialize-repo-field,
serialize-repo-boolean, serialize-repo-integer, serialize-module-link-path,
serialize-repository-directory, serialize-mimetype-alist): Return strings or
string-valued gexps and stop printing.
(repository-cgit-configuration)[source-filter, about-filter, commit-filter,
logo, owner-filter], (cgit-configuration)[auth-filter, commit-filter, css,
email-filter, favicon, include, logo, owner-filter, mimetype-file, readme,
source-filter]: Replace STRING with FILE-OBJECT.
(file-object?, serialize-file-object, repo-file-object?,
serialize-repo-file-object): New procedures.
(cgit-activation): Use SERIALIZE-CONFIGURATION's return value with
MIXED-TEXT-FILE instead of using its output with PLAIN-FILE.
2018-04-11 21:23:59 +02:00
Clément Lassieur
36027f05e9 services: cgit: Simplify 'serialize-module-link-path'.
* gnu/services/cgit.scm (serialize-module-link-path): Remove STRING-DROP-RIGHT
and UGLIFY-FIELD-NAME.
2018-04-11 21:23:59 +02:00