Commit graph

440 commits

Author SHA1 Message Date
Ludovic Courtès
d782de172c
services: cuirass: Extend rottlog with log rotations.
* gnu/services/cuirass.scm (cuirass-log-rotations): New procedure.
(cuirass-service-type): Use it to extend ROTTLOG-SERVICE-TYPE.
2017-06-12 23:34:14 +02:00
Ludovic Courtès
254ea3f945
services: rottlog: Make extensible.
* gnu/services/admin.scm (rottlog-service-type)[compose, extend]: New
fields.
* doc/guix.texi (Log Rotation): Mention extension.
2017-06-12 23:34:14 +02:00
Ludovic Courtès
81fa2229ec
services: rottlog: Define <log-rotation> objects.
* gnu/services/admin.scm (<log-rotation>): New record type.
(syslog-rotation-config, simple-rotation-config): Remove.
(%default-rotations): Define as a list of <log-rotation> objects.
(log-rotation->config, log-rotations->/etc-entries): New procedures.
(<rottlog-configuration>)[periodic-rotations]: Remove.
[rotations]: New field.
(rottlog-etc): Use 'log-rotations->/etc-entries'.
* doc/guix.texi (Log Rotation): Update accordingly.
2017-06-12 23:34:13 +02:00
Ludovic Courtès
3bee4b6196
services: guix: Add 'max-silent-time' and 'timeout'.
* gnu/services/base.scm (<guix-configuration>)[max-silent-time]
[timeout]: New fields.
(guix-shepherd-service): Honor them.
* doc/guix.texi (Base Services): Document them.
2017-06-05 01:42:38 +02:00
Julien Lepiller
ba69e8f7ce
gnu: Add knot-service-type.
* gnu/services/dns.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (DNS Services): New subsubsection.
2017-05-27 10:40:24 +02:00
Marius Bakke
07bf68ed09
services: openssh: Don't depend on networking.
* gnu/services/ssh.scm (openssh-shepherd-service): Drop requirement.
2017-05-18 01:00:52 +02:00
Ludovic Courtès
c22c9fa589
services: guix: Authorize the key for bayfront.guixsd.org.
* gnu/services/base.scm (%default-authorized-guix-keys): Add
"bayfront.guixsd.org".
2017-05-15 23:55:10 +02:00
Christopher Allan Webber
d7fa39ccec
services: Add 'thermald-service-type'.
* gnu/services/pm.scm (<thermald-configuration>): New record type.
(thermald-shepherd-service, thermald-service-type): New variables.
* doc/guix.texi (Thermal Management): New section documenting thermald.
2017-05-14 18:56:32 -05:00
Ludovic Courtès
c298fb133a
services: nscd: Adjust activation snippet for /etc/resolv.conf symlinks.
Fixes <http://bugs.gnu.org/26809>.
Reported by Mark H Weaver <mhw@netris.org>.

* gnu/services/base.scm (nscd-activation): Use 'lstat' instead of
'file-exists?'.
2017-05-08 16:29:23 +02:00
Ludovic Courtès
69daee23af
ui: Rename '_' to 'G_'.
This avoids collisions with '_' when the latter is used as a 'match'
pattern for instance.  See
<https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00464.html>.

* guix/ui.scm: Rename '_' to 'G_'.
* po/guix/Makevars (XGETTEXT_OPTIONS): Adjust accordingly.
* build-aux/compile-all.scm (warnings): Remove 'format'.
* gnu/packages.scm,
gnu/services.scm,
gnu/services/shepherd.scm,
gnu/system.scm,
gnu/system/shadow.scm,
guix/gnupg.scm,
guix/http-client.scm,
guix/import/cpan.scm,
guix/import/elpa.scm,
guix/import/pypi.scm,
guix/nar.scm,
guix/scripts.scm,
guix/scripts/archive.scm,
guix/scripts/authenticate.scm,
guix/scripts/build.scm,
guix/scripts/challenge.scm,
guix/scripts/container.scm,
guix/scripts/container/exec.scm,
guix/scripts/copy.scm,
guix/scripts/download.scm,
guix/scripts/edit.scm,
guix/scripts/environment.scm,
guix/scripts/gc.scm,
guix/scripts/graph.scm,
guix/scripts/hash.scm,
guix/scripts/import.scm,
guix/scripts/import/cpan.scm,
guix/scripts/import/cran.scm,
guix/scripts/import/crate.scm,
guix/scripts/import/elpa.scm,
guix/scripts/import/gem.scm,
guix/scripts/import/gnu.scm,
guix/scripts/import/hackage.scm,
guix/scripts/import/nix.scm,
guix/scripts/import/pypi.scm,
guix/scripts/import/stackage.scm,
guix/scripts/lint.scm,
guix/scripts/offload.scm,
guix/scripts/pack.scm,
guix/scripts/package.scm,
guix/scripts/perform-download.scm,
guix/scripts/publish.scm,
guix/scripts/pull.scm,
guix/scripts/refresh.scm,
guix/scripts/size.scm,
guix/scripts/substitute.scm,
guix/scripts/system.scm,
guix/ssh.scm,
guix/upstream.scm: Use 'G_' instead of '_'.  Most of this change was
obtained by running: "sed -i -e's/(_ "/(G_ "/g' `find -name \*.scm`".
2017-05-03 16:16:17 +02:00
Mathieu Othacehe
5e03b122cf
services: herd: Make %shepherd-socket-file a parameter and export it.
* gnu/services/herd.scm (%shepherd-socket-file): Make it an exported
  parameter.
(open-connection): Adapt.
2017-05-03 11:35:25 +02:00
Ludovic Courtès
49f9d7f697
services: nscd: Create /etc/resolv.conf if it does not exist.
* gnu/services/base.scm (nscd-activation): Create /etc/resolv.conf if it
does not exist yet.
2017-05-02 12:32:52 +02:00
Julien Lepiller
fa936915ce
gnu: services: nginx: Fix key verification.
* gnu/services/web.scm (default-nginx-server-config): Fix wrong variable name.
2017-05-01 10:12:49 +02:00
Julien Lepiller
5a10cd4736
gnu: services: Create logs directory.
* gnu/services/web.scm (nginx-activation): Create logs directory so nginx can
log its startup messages before it loads its configuration.
2017-05-01 09:57:03 +02:00
Julien Lepiller
0f4740f4fa
gnu: services: nginx: Test certificate presence.
* gnu/services/web.scm (default-nginx-server-config): Test certificate
presence when https is requested at configure time.
2017-05-01 09:56:57 +02:00
Carlo Zancanaro
b065f78e94
services: Make exim-service-type use mail-aliases-service-type
* gnu/services/mail.scm (exim-configuration)[aliases]: Remove field.
(exim-activation, exim-shepherd-service): Remove alias from matches.
(exim-etc): Remove procedure.
(exim-service-type): Extend mail-aliases-service-type instead of
etc-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-04-19 23:43:50 +02:00
Carlo Zancanaro
8d17cf1c2f
services: Add mail-aliases-service-type.
* gnu/services/mail.scm (mail-aliases-etc): New procedure.
(mail-aliases-service-type): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-04-19 23:43:50 +02:00
Ludovic Courtès
a35136cb56
services: guix-publish: Add 'cache', 'workers', and 'ttl' config knobs.
* gnu/services/base.scm (<guix-publish-configuration>)[cache, workers,
ttl]: New fields.
(guix-publish-shepherd-service): Honor them.
(guix-publish-activation): New procedure.
(guix-publish-service-type): Extend ACTIVATION-SERVICE-TYPE.
* doc/guix.texi (Base Services): Document it.
2017-04-19 17:51:39 +02:00
Ludovic Courtès
f2767d3e89
services: guix-publish: Fix getter names.
Fixes a typo introduced in 697ddb8850.

* gnu/services/base.scm (<guix-publish-configuration>): Add missing
'configuration' word in getters for 'compression-level' and 'nar-path'.
2017-04-19 17:51:39 +02:00
Julien Lepiller
54412ebfeb
services: nginx: Use mime.types.
* gnu/service/web.scm (default-nginx-config): Add 'nginx' parameter
and honor it.  Adjust callers.
2017-04-18 23:15:52 +02:00
Ludovic Courtès
3d3c565008
services: Add a default value to various service types.
* gnu/services/admin.scm (rottlog-service-type)[default-value]: New
field.
* gnu/services/base.scm (guix-service-type)[default-value]: New field.
(guix-publish-service-type)[default-value]: New field.
* gnu/services/cups.scm (cups-service-type)[default-value]: New field.
* gnu/services/dict.scm (dicod-service-type)[default-value]: New field.
* gnu/services/mcron.scm (mcron-service-type)[default-value]: New field.
* gnu/services/networking.scm (<tor-configuration>)[config-file]: Add
default value.
(tor-service-type)[default-value]: New field.
(<bitlbee-configuration>)[interface, port, extra-settings]: Add default
values.
(bitlbee-service-type)[default-value]: New field.
(wpa-supplicant-service-type)[default-value]: New field.
(tlp-service-type)[default-value]: New field.
(openssh-service-type)[default-value]: New field.
* doc/guix.texi (Base Services, Log Rotation)
(Networking Services, Printing Services):
(Power management Services): Adjust examples accordingly.
2017-04-16 00:48:08 +02:00
Ludovic Courtès
ee295346ce
services: tor: Run in a container.
* gnu/services/networking.scm (tor-shepherd-service): Use (gnu build
shepherd) and use 'make-forkexec-constructor/container' instead of
'make-forkexec-constructor'.
2017-04-13 00:12:42 +02:00
Ludovic Courtès
f84011d04a
services: cuirass: Wait for networking.
* gnu/services/cuirass.scm (cuirass-shepherd-service): Add 'networking'
to 'requirements'.
2017-04-05 00:53:03 +02:00
Clément Lassieur
deb3618810
services: dovecot: Fix passwd and userdb 'args' types.
* gnu/services/mail.scm (passwd-configuration)[args]
(userdb-configuration)[args]: Change type from 'free-form-args' to
'space-separated-string-list'.
* doc/guix.texi (Mail Services): Document it.
2017-04-01 14:38:10 +02:00
Eric Bavier
9fc221b58c
doc: Fix typos.
* doc/guix.texi (Build Systems)[ocaml-build-system]: Fix typo.
(Log Rotation)[periodic-rotations]: ditto.
(Database Services)[redis-service-type]: ditto.
(OpenSMTPD Service)[opensmtpd-configuration]: ditto.
(VPN Services)[OpenVPN]: ditto.
(Power management Services)[tlp-configuration]: ditto.
(Git daemon service)[git-daemon-service]: ditto.
(Running GuixSD in a VM): ditto.
* gnu/services/pm.scm (tlp-configuration)[runtime-pm-blacklist]: Fix typo.
* gnu/services/vpn.scm (openvpn-client-configuration)[status]: ditto.
2017-03-31 20:55:05 -05:00
Huang Ying
9af7ecd959
services: dicod: Allow the configuration of "handlers".
* gnu/services/dict.scm (<dicod-configuration>)[handlers]: New field.
(<dicod-handler>): New record type.
(<dicod-database>): Add fields.
(dicod-configuration-file): Support convert handlers and enhanced databases.
configuration to config file.
* doc/guix.texi (Miscellaneous Services): Update accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-04-01 00:45:18 +02:00
Thomas Danckaert
9260b9d100
services: Add inetd-service-type.
* gnu/services/networking.scm (<inetd-configuration>, <inetd-entry>): New
record types.
(inetd-config-file, inetd-shepherd-service): New procedures.
(inetd-service-type): New variable.
* doc/guix.texi (Networking Services): Document it.
* gnu/tests/networking.scm: New file.
* gnu/local.mk: Add it.
2017-03-24 17:45:56 +01:00
Mathieu Othacehe
85ac401acf
services: openvpn: Fix a typo which was corrected in generated doc.
* gnu/services/vpn.scm (define-split-configuration): Fix typo.

Signed-off-by: Clément Lassieur <clement@lassieur.org>
2017-03-24 16:09:18 +01:00
Mathieu Othacehe
bfbf6e1e10
gnu: Add tlp service.
* gnu/services/pm.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add gnu/services/tlp.scm.
* doc/guix.texi (Power management Services): New section.

Signed-off-by: Clément Lassieur <clement@lassieur.org>
2017-03-24 16:09:17 +01:00
Mathieu Othacehe
d02c3c2234
services: configuration: Rewrite id procedure.
* gnu/services/configuration.scm (id): Replace it using the more concise
version found in messaging.scm.

Signed-off-by: Clément Lassieur <clement@lassieur.org>
2017-03-24 16:09:17 +01:00
Mathieu Othacehe
e7c797f348
services: Factorize define-maybe macro.
* gnu/services/configuration.scm (id): New procedure extracted from
define-configuration.
(define-maybe): New exported procedure, moved from messaging.scm.
* gnu/services/messaging.scm (define-maybe): Remove it.
(id): Move declaration inside define-all-configurations which is now
the only caller procedure.

Signed-off-by: Clément Lassieur <clement@lassieur.org>
2017-03-24 16:09:17 +01:00
Ludovic Courtès
697ddb8850
services: guix-publish: Add 'compression-level' and 'nar-path' fields.
* gnu/services/base.scm (<guix-publish-configuration>)[compression-level,
nar-path]: New fields.
(guix-publish-shepherd-service): Honor them.
* doc/guix.texi (Base Services): Document them.
2017-03-24 00:23:29 +01:00
Ludovic Courtès
f1e900a3b8
doc: Document 'guix-publish-service-type' instead of 'guix-publish-service'.
* doc/guix.texi (Base Services): Document 'guix-publish-service-type'
and 'guix-configuration'.  Remove 'guix-publish-service'.
(Invoking guix publish): Mention 'guix-publish-service-type'.
* gnu/services/base.scm (guix-publish-service): Mark as deprecated.
(<guix-configuration>): Export getters.
2017-03-24 00:23:29 +01:00
Ludovic Courtès
278d486b0c
file-systems: Do not use (gnu packages …).
Fixes a regression introduced in
7208995426 whereby (gnu system
file-systems) would pull in (gnu packages …) module, which in turn
breaks when importing things like (gnu build shepherd).

* gnu/system/file-systems.scm (file-system-type-predicate): Export.
(file-system-packages): Move to...
* gnu/system/linux-initrd.scm (file-system-packages): ... here.  Add
docstring.
* gnu/services/base.scm: Use it.
* tests/file-systems.scm ("does not pull (gnu packages …)"): New test.
2017-03-21 22:33:07 +01:00
Clément Lassieur
12723370e5
services: openssh: Add 'subsystems' option.
* gnu/services/ssh.scm (openssh-config-file): Add it.
(<openssh-configuration>)[subsystems]: Add it.
* doc/guix.texi (Networking Services): Document it.
2017-03-21 20:49:26 +01:00
Clément Lassieur
4ca3e9b7b6
services: openssh: Cosmetic changes.
* gnu/services/ssh.scm (<openssh-configuration>): Reformat to fit in 80
columns.
2017-03-21 20:49:26 +01:00
Danny Milosavljevic
9970ef6134
services: Remove Tab character from source code whitespace.
* gnu/services/base.scm (file-system-shepherd-service): Remove Tab character
from source code whitespace.
2017-03-19 21:36:55 +01:00
Danny Milosavljevic
26e34e1e12
services: file-system-shepherd-service: Make it find the fsck programs.
Fixes <https://bugs.gnu.org/25917>.

* gnu/services/base.scm (file-system-shepherd-service): Use
file-system-packages.
2017-03-19 18:49:30 +01:00
Mathieu Othacehe
34d60c49cb
services: connman: Rework service.
* gnu/services/networking.scm (connman-service): Remove.
(<connman-configuration>): New record specifying the package
to be used (connman) and whether vpn plugin shall be
disabled (disable-vpn?).
(connman-configuration): New exported variable.
(connman-configuration?): New exported variable.
(connman-service-type): Export it.

* doc/guix.texi (Networking Services): Adjust accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-03-16 22:50:14 +01:00
Clément Lassieur
720cb10c15
services: Move configuration functions that shouldn't be factorized.
* gnu/services/configuration.scm (serialize-field, serialize-string)
(serialize-space-separated-string-list, space-separated-string-list?)
(serialize-file-name, file-name?, serialize-boolean): Move these functions...
* gnu/services/cups.scm: ...to this file.
* gnu/services/kerberos.scm: ...to this file.

Configuration syntaxes are very specific to services.  Some services may have
the same configuration syntax, but none of them is common enough to be
abstracted in configuration.scm.

Signed-off-by: Clément Lassieur <clement@lassieur.org>
2017-03-12 19:09:32 +01:00
Clément Lassieur
56aef188a2
services: dovecot: Reimplement proper configuration functions.
* gnu/services/mail.scm (uglify-field-name, serialize-field, serialize-string)
(space-separated-string-list?, serialize-space-separated-string-list)
(file-name?, serialize-file-name, serialize-boolean): Add them.

These functions were inadvertently changed while being factorized in
gnu/service/configuration.scm.

Signed-off-by: Clément Lassieur <clement@lassieur.org>
2017-03-12 19:08:50 +01:00
Clément Lassieur
eba560765a
services: dovecot: Fix unix_listeners and fifo_listeners path types.
* gnu/services/mail.scm (unix-listener-configuration)[path]
(fifo-listener-configuration)[path]: Change type from 'file-name' to 'string'.
* doc/guix.texi (Mail Services): Document it.

Signed-off-by: Clément Lassieur <clement@lassieur.org>
2017-03-12 01:30:23 +01:00
Clément Lassieur
f895dce41b
services: openssh: Fix 'PrintLastLog' default behaviour.
* gnu/services/ssh.scm (openssh-config-file): Add 'print-last-log?' option.
(<openssh-configuration>)[print-last-log?]: Add it.
(openssh-activation): Touch /var/log/lastlog.
* doc/guix.texi (Networking Services): Document 'print-last-log?'.

Before that, the service did not work as expected because /var/log/lastlog did
not exist.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2017-03-10 19:23:45 +01:00
Clément Lassieur
1806a670f0
services: openssh: Remove deprecated options.
* gnu/services/ssh.scm (openssh-config-file): Remove them.
(<openssh-configuration>)[rsa-authentication?]: Remove it.
(<openssh-configuration>)[protocol-number]: Remove it.
* doc/guix.texi (Networking Services): Remove them.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2017-03-10 19:23:45 +01:00
Clément Lassieur
563c5d42c9
services: openssh: Enable PAM.
* gnu/services/ssh.scm: (openssh-pam-services): New procedure.
(openssh-service-type): Use it to extend PAM-ROOT-SERVICE-TYPE.
(<openssh-configuration>)[challenge-response-authentication?]: New field.
(<openssh-configuration>)[use-pam?]: New field.
(openssh-config-file): Add them.
* doc/guix.texi (Networking Services): Document them.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2017-03-10 19:23:43 +01:00
Carlo Zancanaro
82ccc499f7
services: Add exim-service-type.
* gnu/services/mail.scm (<exim-configuration>): New record type.
(exim-computed-config-file, exim-shepherd-service, exim-activation, exim-etc,
exim-profile): New procedures.
(exim-service-type, %exim-accounts): New variables.
* doc/guix.text (Mail Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-03-10 14:48:05 +01:00
Ludovic Courtès
1099988904
services: prosody: Use 'id' to introduce unhygienic top-level identifiers.
* gnu/services/messaging.scm (define-all-configurations): Use 'id' to
introduce raw/literal/unhygienic top-level identifiers.  Fixes
compilation with Guile 2.2.
2017-03-08 23:42:52 +01:00
Ludovic Courtès
5d1ee4d7bc
services: prosody: Make sure 'id' is available at expansion time.
* gnu/services/messaging.scm (id): Use 'define-syntax-rule' instead of
'define' to make sure 'id' is available at expansion time.
2017-03-08 23:42:52 +01:00
Leo Famulari
23f22ba8af
services: openssh: Parameterize the OpenSSH package used by the service.
* gnu/services/ssh.scm (<openssh-configuration>)[openssh]: New field.
(openssh-activation, openssh-shepherd-service): Use it.
2017-03-06 13:39:29 -05:00
Leo Famulari
9ee4c9ab6f
services: Add agetty service.
* gnu/services/base.scm (<agetty-configuration>): New record type.
(agetty-shepherd-service, agetty-service): New procedures.
(agetty-service-type): New variable.
* doc/guix.texi (Base Services): Document it.
[mingetty-configuration],[kmscon-configuration]: Specify the types of
supported consoles.
2017-03-05 03:41:32 -05:00