Commit Graph

1388 Commits

Author SHA1 Message Date
Jesse Gibbons
0bf7d34d77
services: For "gdm-password" pam service, include "limits.conf".
* gnu/services/base.scm (pam-limits-service-type): For "gdm-password" pam
service, include "limits.conf".

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-10-02 00:48:45 +02:00
Christopher Baines
dd2a83270b
services: Add the Guix Data Service.
* gnu/services/guix.scm: New file.
* gnu/tests/guix.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add both new files.
* doc/guix.texi (Guix Services): New section documenting the Guix Data
Service.
2019-09-25 08:35:33 +01:00
Ludovic Courtès
46e552cb0f
services: cuirass: Remove unneeded conditional.
* gnu/services/cuirass.scm (cuirass-shepherd-service): Remove unneeded 'and'.
2019-09-23 23:41:19 +02:00
Christopher Baines
b64fa7f062
services: virtualization: Change libvirtd use syslog by default.
As defaulting by stderr, along with the shepherd service not directing the
output to a log file makes seeing the output difficult, compared to logging to
syslog.

* gnu/services/virtualization.scm (libvirt-configuration)[log-outputs]: Change
default from "3:stderr" to "3:syslog:libvirtd".
2019-09-21 17:40:04 +01:00
Alexey Abramov
ad34409e85
services: dovecot: Fix predicate names for free-form fields
* gnu/services/mail.scm (free-form-fields?, free-form-args?): Change
'string' to 'string?'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-09-21 16:48:36 +02:00
Ludovic Courtès
a43e9157ef
services: gdm: Ensure /var/lib/gdm is owned by "gdm".
Fixes <https://bugs.gnu.org/37423>.
Reported by Jan <tona_kosmicznego_smiecia@interia.pl>.

* gnu/services/xorg.scm (%gdm-activation): New variable.
(gdm-service-type)[extensions]: Add 'activation-service-type'.
2019-09-21 16:48:36 +02:00
宋文武
3c4f5ad7f4
services: Add nftables-service-type.
* gnu/services/networking.scm (%default-nftables-ruleset): New variable.
(<nftables-configuration>): New record type.
(nftables-shepherd-service): New procedure.
(nftables-service-type): New service type.
* doc/guix.texi (Networking Services): Document it.
2019-09-18 19:04:59 +08:00
Carlo Zancanaro
ec36339dfd
services: certbot: Add --manual-public-ip-logging-ok for manual challenges
* gnu/services/certbot.scm (certbot-command): Add
  --manual-public-ip-logging-ok flag to the certbot command when doing a
  manual challenge.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-09-16 10:22:35 +02:00
Ludovic Courtès
3d8424a5ad
services: Fix /usr/bin/env special file target.
This is a followup to a916215597.

* gnu/services/base.scm (%base-services): Fix "/usr/bin/env" target.
2019-09-12 23:07:42 +02:00
宋文武
5df412bfe6
services: libvirtd: Use '/run/current-system/profile/bin' as PATH.
This is a followup to ef640db2f5.

* gnu/services/virtualization.scm (libvirt-shepherd-service): Set
'#:environment-variables' for 'make-forkexec-constructor'.
2019-09-11 23:12:02 +08:00
宋文武
ef640db2f5
gnu: libvirt: Don't wrap with PATH.
This reverts commit 903e051a71 to fix
<https://bugs.gnu.org/31365>.  The full path of the 'ip' command is already
embedded, and we want to search 'qemu' in PATH.

* gnu/packages/virtualization.scm (libvirt): Remove 'wrap-libvirtd phase.  Add
configure flags to run qemu as 'nobody:kvm'.
* gnu/services/virtualization.scm (libvirt-service-type): Add 'qemu' to the
system profile.
2019-09-11 19:15:30 +08:00
Tobias Geerinckx-Rice
a916215597
services: Add ‘/usr/bin/env’ special file.
* gnu/services/base.scm (%base-services): Add ‘/usr/bin/env‘ to
special-files-service-type.
2019-09-09 00:11:26 +02:00
Maxim Cournoyer
ccdfae388d
services: openntpd: Fix the config generation code.
This fixes issue  (see: http://bugs.gnu.org/37318).

* gnu/services/networking.scm (openntpd-configuration->string): Rewrite in
order to make the "openntpd configuration generation sanity check" test pass.
2019-09-08 23:15:32 +09:00
Maxim Cournoyer
2625abc6aa
services: openntpd: Add test for issue .
See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=37318.

* gnu/services/networking.scm (openntpd-configuration->string): New procedure,
extracted from top of the `openntpd-shepherd-service' to make it testable.
(openntpd-shepherd-service): Adapt following the move of the code to the above
procedure.
* tests/networking.scm: Add a test for the `openntpd-configuration->string'
procedure.
2019-09-08 23:15:32 +09:00
Maxim Cournoyer
afd39a76e2
services: openntpd: Remove useless let.
* gnu/services/networking.scm (openntpd-shepherd-service): Remove useless let.
2019-09-08 23:15:31 +09:00
Maxim Cournoyer
5658ae8a0a
services: ntp: Support different NTP server types and options.
* gnu/services/networking.scm (ntp-server-types): New enum.
(<ntp-server>): New record type.
(ntp-server->string): New procedure.
(%ntp-servers): Define in terms of <htp-server> records.  Use the first
entrypoint server as a pool instead of a list of static servers.  This is more
resilient since a new server of the pool can be interrogated on every
request.  Add the 'iburst' options.
(ntp-configuration-servers): Define a custom accessor that warns but honors
the now deprecated server format.
(<ntp-configuration>): Use it.
(%openntpd-servers): New variable,
(<openntpd-configuration>): Use it, as a pool ('servers' field) instead of a
regular server.
* tests/networking.scm: New file.
* Makefile.am (SCM_TESTS): Register it.
* doc/guix.texi: Update documentation.
2019-09-08 23:15:31 +09:00
Maxim Cournoyer
d4de2f9ea4
services: ntp: Fix KOD warning.
Otherwise the following messages would be printed by ntpd:

Sep  2 05:18:21 localhost ntpd[15849]: restrict default: KOD does nothing without LIMITE.
Sep  2 05:18:21 localhost ntpd[15849]: restrict ::: KOD does nothing without LIMITED.

Debian uses the same set of "restrict" keywords (see:
https://sources.debian.org/src/ntp/1:4.2.8p13+dfsg-2/debian/ntp.conf).

* gnu/services/networking.scm (ntp-shepherd-service): Add the 'limited'
keyword to both the IPv4 and IPv6 'restrict' directives.
2019-09-08 23:15:30 +09:00
Maxim Cournoyer
08b4a10fa6
services: ntp: Allow large adjustment by default.
This is documented as best practice in `man ntpd', and is required to allow
the date to be set correctly when traveling (without having to manually update
the hardware clock in the BIOS/UEFI).

* gnu/services/networking.scm (<ntp-server>)[allow-large-adjustment?]: Set the
default value to #t.
* doc/guix.texi (Networking Services): Update documentation.
2019-09-08 23:15:29 +09:00
Mark H Weaver
3fe53f49a7
Revert "services: Add ‘/usr/bin/env’ special file."
This reverts commit 3b38bf141a.

The Guix project discussed this years ago and decided against including
/usr/bin/env.  That decision should not be reversed without a wider
discussion.
2019-09-06 19:35:08 -04:00
Efraim Flashner
e15f55208f
services: Fix typo.
This is a follow-up to 3b38bf141a.

* gnu/services/base.scm (%base-services): Remove duplicated line.
2019-09-06 13:52:33 +03:00
Tobias Geerinckx-Rice
3b38bf141a
services: Add ‘/usr/bin/env’ special file.
* gnu/services/base.scm (%base-services): Add ‘/usr/bin/env‘ to
special-files-service-type.
2019-09-06 12:24:32 +02:00
Robert Vollmert
c26f562e5e
services: nginx: Pass run-directory on config test.
Fixes <https://bugs.gnu.org/36388>.
This fixes error logging errors in the activation script.

* gnu/services/web.scm (nginx-activation): Add "-p" flag.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-09-04 23:41:07 +02:00
Tobias Geerinckx-Rice
5a097cdd54
services: cups: Rename ‘retry-this-job’ to ‘retry-current-job’.
* gnu/services/cups.scm (error-policy, cups-configuration): Substitute
RETRY-CURRENT-JOB for the obsolete RETRY-THIS-JOB name of this policy.
* doc/guix.texi (Printing Services): Likewise.
2019-08-31 03:24:41 +02:00
Tobias Geerinckx-Rice
70186c24ee
services: cups: Move SET-ENV to FILES-CONFIGURATION.
* gnu/services/cups.scm (cups-configuration): Move SET-ENV from here…
(files-configuration): …to here.
* doc/guix.texi (Printing Services): Adjust accordingly.
2019-08-30 03:41:42 +02:00
Tobias Geerinckx-Rice
ee0de99454
services: cups: Add BrowseDNSSDSubTypes directive.
* gnu/services/cups.scm (comma-separated-string-list?)
(serialize-comma-separated-string-list): New variables.
(cups-configuration)[browse-dns-sd-sub-types]: New field.
* doc/guix.texi (Printing Services): Document it.
2019-08-30 03:41:42 +02:00
Ricardo Wurmus
3e7a62e2e4
services: cuirass: Log web interface to separate file.
* gnu/services/cuirass.scm (<cuirass-configuration>): Add web-log-file field.
(cuirass-shepherd-service): Read it and use it.
* doc/guix.texi (Continuous Integration): Document it.
2019-08-29 08:06:54 +02:00
Efraim Flashner
dd2031169a
gnu: enlightenment: Update to 0.23.0.
* gnu/packages/enlightenment.scm (enlightenment): Update to 0.23.0.
[build-system]: Switch to meson-build-system.
[arguments]: Add configure-flag to build without systemd.  Remove
'bootstrap phase.  Update substitutions in custom
'set-system-actions phase.
[inputs]: Add bluez, pulseaudio.
* gnu/packages/patches/enlightenment-fix-setuid-path.patch: Update.
* gnu/services/desktop.scm (enlightenment-setuid-programs): Update
location of 'freqset binary.  Add 'cpuclock_sys to setuid binaries.
2019-08-28 13:29:51 +03:00
Tobias Geerinckx-Rice
9e3ef6f3e3
services: cups: Update SSL-OPTIONS docstring.
This follows up on commit f9c1ebdb7d.

* gnu/services/cups.scm (cups-configuration)<ssl-options>:
Update docstring.
2019-08-27 08:58:37 +02:00
Tobias Geerinckx-Rice
f9c1ebdb7d
services: cups: Complete SSL-OPTIONS.
…except for ‘AllowDH’, which makes no sense on GNU TLS systems.

* gnu/services/cups.scm (ssl-options?): Validate ‘DenyCBC’ and
‘DenyTLS1.0’.
* doc/guix.texi (Printing Services): Document them both.
2019-08-27 08:49:14 +02:00
Ricardo Wurmus
159b5e1f8a
services: cuirass: Split into two separate services.
* gnu/services/cuirass.scm (cuirass-shepherd-service): Return two shepherd
services, one for the web interface, another for building packages.
2019-08-26 22:21:10 +02:00
Ludovic Courtès
94b98ef7a0
services: tlp, thermald: Add descriptions.
* gnu/services/pm.scm (tlp-service-type)[description]: New field.
(thermald-service-type)[description]: New field.
2019-08-26 13:40:45 +02:00
John Soo
74a98b5cdd
services: console-fonts: Update docstring.
* gnu/services/base (console-font-service-type):
Add documentation about valid arguments.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2019-08-22 17:59:30 +02:00
Jakob L. Kreuze
5c793753b3
guix system: Add 'reconfigure' module.
* guix/scripts/system/reconfigure.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/system.scm (bootloader-installer-script): Export variable.
* gnu/machine/ssh.scm (switch-to-system, upgrade-shepherd-services)
(install-bootloader): Delete variable.
* gnu/machine/ssh.scm (deploy-managed-host): Rewrite procedure.
* gnu/services/herd.scm (live-service): Export variable.
* gnu/services/herd.scm (live-service-canonical-name): New variable.
* tests/services.scm (live-service): Delete variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-07-26 19:19:49 +02:00
Jelle Licht
4efdede284
services: network-manager: Clear default OpenVPN user.
* gnu/services/networking.scm (network-manager-shepherd-service): Clear
'NM_OPENVPN_USER' and 'NM_OPENVPN_GROUP' in #:environment-variables.
2019-07-17 11:08:26 +02:00
Jelle Licht
40557aeab5
services: network-manager: Properly load vpn plugins
Extends the dbus service when vpn plugins are enabled.

* gnu/services/networking.scm (network-manager-service-type): Load vpn plugins
when extending dbus service.
2019-07-17 11:08:19 +02:00
Robert Vollmert
334a2f4def
gnu: postgres service: More secure default permissions.
This changes to 'peer' authentication for local socket connections,
and password-based authentication for local network connections.

* gnu/services/databases.scm (%default-postgres-hba): Change
authentication method.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-07-02 18:33:51 +02:00
Tobias Geerinckx-Rice
3a8bfebed9
etc: Remove hydra.gnu.org.pub key.
* etc/substitutes/hydra.gnu.org.pub: Delete file.
* guix/self.scm (miscellaneous-files): Don't install it.
* Makefile.am (dist_pkgdata_DATA): Remove it.
* gnu/services/base.scm (%default-authorized-guix-keys): Likewise.
(hydra-key-authorization): Rename to…
(substitute-key-authorization): …this.  Adjust only call site.
2019-06-29 14:27:22 +02:00
Florian Pelz
57c16c97cb
services: network-manager: Create '/var/lib/misc' directory for dnsmasq.
* gnu/services/networking.scm (%network-manager-activation): Rename to...
(network-manager-activation): ... this and make it a procedure.  Make it
create '/var/lib/misc' when using dnsmasq.
(network-manager-service-type): Use it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-24 23:25:11 +02:00
Kristofer Buffington
ace8e269a4
services: opensmtpd: Extend the PAM service.
* gnu/services/mail.scm (%opensmtpd-pam-services): New variable.
(opensmtpd-service-type)[extensions]: Add it, extending
PAM-ROOT-SERVICE-TYPE.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2019-06-20 15:54:51 +02:00
Tobias Geerinckx-Rice
f7dbf186b4
services: Fix typo in (gnu services mail) exports.
* gnu/services/mail.scm (define-module):
Re-spell ‘%default-imap4d-config-file’.
2019-06-20 10:43:25 +02:00
Florian Pelz
7dbeb5a791
services: Include USB_ModeSwitch in %desktop-services.
Fixes <https://bugs.gnu.org/35640>.

* gnu/services/desktop.scm (%desktop-services): Add usb-modeswitch-service-type.
* doc/guix.texi (Networking Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-15 18:37:57 +02:00
Florian Pelz
f5be51040c
services: Add usb-modeswitch-service-type.
* gnu/services/networking.scm (usb-modeswitch-service-type): New variable.
(usb-modeswitch-configuration): New variable.
(usb-modeswitch-sh): New procedure.
(usb-modeswitch-configuration->udev-rules): New procedure.
* doc/guix.texi (Networking Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-15 18:37:54 +02:00
Ludovic Courtès
f3d7970053
services: Remove unneeded imports that led to cycles.
Fixes <https://bugs.gnu.org/36207>.
Reported by Jack Hill <jackhill@jackhill.us>.

* gnu/services/admin.scm: Remove unneeded import of (gnu services
base).
* gnu/services/mcron.scm: Likewise.
2019-06-15 18:15:23 +02:00
Tobias Geerinckx-Rice
79d19d7d90
services: Import (srfi srfi-26) from the build side.
See <https://lists.gnu.org/archive/html/guix-devel/2019-06/msg00119.html>.

* gnu/services/nix.scm (nix-activation): Remove (srfi srfi-26) from (host-)
imported modules.
2019-06-12 17:26:28 +02:00
Tobias Geerinckx-Rice
2be6b5e2ee
services: Add SRFI-26 to Nix activation gexp.
Fix the following fatal error on ‘guix system reconfigure’:

Backtrace:
          18 (primitive-load "/home/nckx/.config/guix/current/bin/guix")
In guix/ui.scm:
  1620:12 17 (run-guix-command _ . _)
In ice-9/boot-9.scm:
    829:9 16 (catch _ _ #<procedure 7a7caa2d4c80 at guix/ui.scm:587:2 (key c)> _)
    829:9 15 (catch _ _ #<procedure 7a7caa2d4c98 at guix/ui.scm:710:6 (key proc format-string format-args . …> …)
In guix/scripts/system.scm:
   1325:8 14 (_)
In guix/status.scm:
    768:4 13 (call-with-status-report _ _)
In guix/scripts/system.scm:
   1181:4 12 (process-action _ _ _)
In guix/store.scm:
   623:10 11 (call-with-store _)
  1800:24 10 (run-with-store _ _ #:guile-for-build _ #:system _ #:target _)
In guix/scripts/system.scm:
   920:13  9 (_ _)
    409:8  8 (_ _)
In unknown file:
           7 (primitive-load "/gnu/store/dha7j9gcz3vgb8cy7vfvvaswwsywrrzj-activate")
In ice-9/boot-9.scm:
   260:13  6 (for-each #<procedure primitive-load (_)> _)
In unknown file:
           5 (primitive-load "/gnu/store/ql1xjxrssxm51z2bn2v6l3mlrncij84h-activate-service")
In ice-9/eval.scm:
    619:8  4 (_ #f)
   196:35  3 (_ #f)
   196:27  2 (_ #f)
   223:20  1 (proc #<directory (guile-user) 1fa4140>)
In unknown file:
           0 (%resolve-variable (7 . cut) #<directory (guile-user) 1fa4140>)

ERROR: In procedure %resolve-variable:
error: cut: unbound variable

Reported-by: Alex McGrath on #guix.

* gnu/services/nix.scm (nix-activation): Import and use (srfi srfi-26).
2019-06-11 21:05:32 +02:00
Diego Nicola Barbato
2f9f792a1e
services: slim: Update SLiM theme to 1.x.
* gnu/services/xorg.scm (%default-slim-theme-name): Change to "1.x".

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-10 23:11:15 +02:00
Christopher Baines
4252dace19
services: guix-publish: Configure log rotation.
* gnu/services/base.scm (%guix-publish-log-rotations): New variable.
(guix-publish-service-type): Extend the rottlog-service-type.
2019-06-10 07:58:09 +01:00
Christopher Baines
b09793172f
services: guix-publish: Log to a file.
This makes it easier to read the output, as it's recorded in a file.

* gnu/services/base.scm (guix-publish-shepherd-service): Add #:log-file to
make-forkexec-constructor.
2019-06-10 07:58:06 +01:00
Oleg Pykhalov
47b9614b31
services: Add 'nix-service-type'.
* gnu/services/nix.scm: New file.
* gnu/local.mk: Add this.
* doc/guix.texi (Miscellaneous Services): Document this.
2019-06-10 09:15:45 +03:00
Ludovic Courtès
08814aec6a
services: Add Singularity.
* gnu/packages/linux.scm (singularity)[source](snippet): Change file
name of setuid helpers in libexec/cli/*.exec.
[arguments]: Remove "--disable-suid".
* gnu/services/docker.scm (%singularity-activation): New variable.
(singularity-setuid-programs): New procedure.
(singularity-service-type): New variable.
* gnu/tests/singularity.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Miscellaneous Services): Document it.
2019-06-07 09:57:19 +02:00
Danny Milosavljevic
07023ebc18
services: Add auditd.
* gnu/services/auditd.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Miscellaneous Services): Document it.
2019-06-06 22:23:35 +02:00
Alex Griffin
36273ebde2
services: cups: Create /var/cache on activation.
* gnu/services/cups.scm (%cups-activation): Create /var/cache if it doesn't
exist yet.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-05 17:27:23 +02:00
Ludovic Courtès
ee2691fa33
services: guix-publish: Allow for multi-compression.
This is a followup to b8fa86adfc.

* guix/deprecation.scm (warn-about-deprecation): Make public.
* gnu/services/base.scm (<guix-publish-configuration>)[compression]: New
field.
[compression-level]: Default to #f.  Add '%' to getter name.
(guix-publish-configuration-compression-level): Define as deprecated.
(default-compression): New procedure.
(guix-publish-shepherd-service)[config->compression-options]: New
procedure.
Use 'match-record' instead of 'match'.
* doc/guix.texi (Base Services): Remove 'compression-level' and document
'compression'.
2019-06-03 23:18:47 +02:00
Ludovic Courtès
bb64b2e7c0
herd: Use the Guile 2.2 'setvbuf' API.
* gnu/services/herd.scm (open-connection): Use 'block for 'setvbuf'.
2019-06-02 01:38:36 +02:00
Christopher Baines
2177d9222f
services: Add patchwork.
* gnu/service/web.scm (<patchwork-database-configuration>
<patchwork-settings-module>, <patchwork-configuration>): New record types.
(patchwork-virtualhost): New procedure.
(patchwork-service-type): New variable.
* gnu/tests/web.scm (%test-patchwork): New variable.
* doc/guix.text (Web Services): Document it.
2019-05-31 20:22:23 +01:00
Christopher Baines
f6b0e1f8ff
services: Add getmail.
Getmail is a mail retriever written in Python, this commit adds a service-type
to run getmail. I'm looking at this, as it's a convinient way of getting
mailing list messages in to Patchwork.

I initially tried putting this in the (gnu services mail) module, but due to
also trying to use the define-configuration pattern, it conflicted with the
dovecot service.

* gnu/services/getmail.scm: New file.
* gnu/local.mk: Add it.
* gnu/tests/mail.scm (%getmail-os, %test-getmail): New variables.
(run-getmail-test): New procedure.
2019-05-31 20:22:20 +01:00
Reza Alizadeh Majd
ed90104cc8
services: sddm: Fix root login failure issue.
* gnu/services/sddm.scm (sdm-pam-service): Set uid from CONFIG.
(sdm-autologin-pam-service): Set uid from CONFIG.
(sdm-pam-services): Pass CONFIG to 'sddm-pam-service' and
'sddm-autologin-pam-service'.
* doc/guix.texi (X Window): Adjust 'minimum-uid' documentation.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2019-05-26 01:34:16 +02:00
Arun Isaac
336674549d
services: cgit: Fix typo.
* gnu/services/cgit.scm (cgit-configuration)[root-readme]: Replace "thef" with
"the".
2019-05-25 15:58:03 +05:30
Vagrant Cascadian
f8df47633c
gnu: git-daemon-service-type: Fix typo "repositories".
* gnu/services/version-control (git-daemon-service-type)[description]: Fix typo.
2019-05-22 18:30:10 -07:00
Vagrant Cascadian
f3a2c29750
gnu: darkstat-service-type: Fix typo "statistics".
* gnu/services/monitoring (darkstat-service-type)[description]: Fix typo.
2019-05-22 18:30:08 -07:00
Ludovic Courtès
33572a3662
tests: Skip unreliable "herd invalidate nscd" test.
* gnu/tests/base.scm (run-basic-test)["nscd invalidate action, wrong
table"]: Skip unconditionally.
2019-05-15 12:18:51 +02:00
Florian Pelz
36f5d78d4a
services: Include ModemManager in %desktop-services.
* gnu/services/desktop.scm (%desktop-services): Add modem-manager-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-05-15 12:18:50 +02:00
Gábor Boskovits
0f9bbd32c1
gnu: Update copyright line.
* gnu/services/monitoring.scm: Update copyright line.
2019-05-15 09:52:17 +02:00
Ludovic Courtès
05d907ac6f
services: Add 'network-manager-applet' to %DESKTOP-SERVICES.
Fixes <https://bugs.gnu.org/35554>.
Reported by Calle Kabo <calle@kabo.nu>.

* gnu/services/desktop.scm (%desktop-services): Add
'network-manager-applet' service.
2019-05-14 12:11:04 +02:00
Gábor Boskovits
4074ee4ef7
services: prometheus-node-exporter add default.
* gnu/services/monitoring.scm (prometheus-node-exporter-service-type):
Add default-value with default configuration.
2019-05-13 15:28:37 +02:00
Christopher Baines
f8cd07e8d8
services: mcron: Log to a file.
This makes it easier to read the output, as it's recorded in a file.

* gnu/services/mcron.scm (mcron-shepherd-services): Add #:log-file to
make-forkexec-constructor.
2019-05-12 18:16:37 +01:00
Timothy Sample
dcb3a0fe0a
services: gdm: Include user profile in D-Bus paths.
This partially addresses <https://bugs.gnu.org/35267>.

* gnu/services/xorg.scm (dbus-daemon-wrapper): When available, include
directories from '~/.guix-profile' in the search paths of the D-Bus
daemon.
2019-05-11 13:41:34 -04:00
Marius Bakke
6c2180f5d0
services: dhcp-client: Ignore interfaces that are not ARP capable.
* gnu/services/networking.scm (dhcp-client-service-type): Filter interfaces
that do not support the ARP protocol.
2019-05-09 20:00:22 +02:00
Ludovic Courtès
e6b1a2248f
services: Log-in services now require "pam_loginuid".
Fixes <https://bugs.gnu.org/35553>.
Reported by Bruno Haible <bruno@clisp.org>.

* gnu/services/base.scm (login-pam-service): Pass #:login-uid? #t to
'unix-pam-service'.
* gnu/services/ssh.scm (lsh-pam-services, openssh-pam-services):
Likewise.
* gnu/services/xorg.scm (slim-pam-service): Likewise.
(gdm-pam-service): Likewise for "gdm-autologin" and "gdm-password".
* gnu/tests/base.scm (run-basic-test)["getlogin on tty1"]: New test.
* gnu/tests/ssh.scm (run-ssh-test): Add #:test-getlogin? parameter.
["getlogin"]: New test.
(%test-dropbear): Pass #:test-getlogin? #f.
2019-05-09 12:11:36 +02:00
Ludovic Courtès
6ad799d7c5
services: slim: Provide the 'xorg-server' Shepherd service.
This is a followup to 61569171d0.

* gnu/services/xorg.scm (slim-shepherd-service): Add 'xorg-server' to
'provision' when VT is "vt7".
2019-05-09 12:11:36 +02:00
Christopher Baines
5b3d3cf71c
services: dovecot: Rename auth-verbose-passwords?.
* gnu/services/mail.scm (dovecot-configuration)[auth-verbose-passwords?]:
Rename to auth-verbose-passwords, and change the type to a string, as this
parameter can take one of three string values.
* doc/guix.texi (Dovecot service): Update the corresponding documentation.
2019-05-07 20:52:02 +01:00
Diego Nicola Barbato
61569171d0
services: slim: Allow SLiM to be started on multiple ttys.
This change makes it possible to add multiple SLiM services to an operating
system configuration by setting the new 'display' and 'vt' fields in their
configurations to different values.  Each SLiM service will get its own
authfile, logfile, lockfile, and shepherd service, which will start SLiM on a
different tty.

* gnu/services/xorg.scm: Export slim-configuration-display and
  slim-configuration-vt.
  (<slim-configuration>)[display, vt]: New fields.
  (slim-shepherd-service): Refactor let.
  [slim.cfg]: Use new fields for setting display_name, xserver_arguments,
  authfile, lockfile, and logfile.
  [shepherd-service][provision]: Name the shepherd service according to the
  value of 'vt'.
  [shepherd-service][start]: Delete the right lockfile.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-05-07 15:46:54 +02:00
Maxim Cournoyer
7a31d93a61
services: docker: Add new fields to support proxy.
The Docker proxy enables inter-container and outside-to-container loopback,
and is required by the Docker registry server.

* gnu/services/docker.scm (docker-configuration)[proxy,
enable-proxy?]: Add fields.
(docker-shepherd-service): Use them.
(serialize-boolean): New function.
2019-05-05 20:14:15 -04:00
Ludovic Courtès
92597c3cec
services: colord: Make public and searchable.
* gnu/services/desktop.scm (colord-service-type): Make public.
[description]: New field.
2019-04-30 12:03:02 +02:00
Ludovic Courtès
7614193099
services: bluetooth: Make public and searchable.
Until now 'guix system search bluetooth' would turn up nothing.

* gnu/services/desktop.scm (bluetooth-service-type)
(bluetooth-configuration): Make public.
(bluetooth-service-type)[description]: New field.
2019-04-30 11:59:47 +02:00
Diego Nicola Barbato
b901b72545
services: slim: Honor the value of slim from slim-configuration.
Previously setting the slim field in slim-configuration would have no effect.

* gnu/services/xorg.scm (slim-shepherd-service): Remove unused let binding for
  slim.  Use (slim-configuration-slim config) instead of the default slim.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-04-29 09:33:55 +02:00
Ricardo Wurmus
cee06123c8
gnu: Remove unused module reference.
* gnu/services/web.scm: Remove reference to (gnu packages guile).
2019-04-28 16:05:57 +02:00
Julien Lepiller
b8e2bd4fc8
gnu: knot: Fix typos.
* gnu/services/dns.scm: Fix typos.
2019-04-27 15:56:35 +02:00
Julien Lepiller
6cd7b1be7e
gnu: knot: Add configuration fields.
* gnu/services/dns.scm (knot-zone-configuration)[zonefile-load]
[journal-content, max-journal-usage, max-journal-depth, max-zone-size]:
New fields.
(knot-zone-config): Serialize them.
* doc/guix.texi (DNS Services): Document them.
2019-04-27 13:02:31 +02:00
Ludovic Courtès
435551f0fa
services: knot: Fix configuration file generation.
Fixes a regression introduced in
92eb600f8a.

* gnu/services/dns.scm (knot-config-file): Add ungexp around call to
'knot-configuration-includes'.
2019-04-27 00:19:41 +02:00
Ludovic Courtès
74685a4369
services: file-system: Filter what goes to /etc/fstab.
Fixes a longstanding issue whereby, due to our long fstab that included
pseudo file systems like cgroup mounts, graphical file managers would
display all of these.  Initially reported at
<https://lists.gnu.org/archive/html/help-guix/2017-11/msg00084.html>.

* gnu/services/base.scm (file-system-fstab-entries): New procedure.
(file-system-service-type): Use it to extend FSTAB-SERVICE-TYPE.
2019-04-27 00:11:52 +02:00
Julien Lepiller
e379d1b5ef
gnu: dns: Fix configuration formating.
* gnu/services/dns.scm (format-string-list): Fix formating of lists with
only one symbol.
2019-04-26 18:37:48 +02:00
Ludovic Courtès
94e1439800
services: cups-pk-helper: Export.
* gnu/services/desktop.scm (cups-pk-helper-service-type): Export.
2019-04-26 18:07:46 +02:00
Julien Lepiller
92eb600f8a
gnu: knot-service: Add includes field in configuration.
* gnu/services/dns.scm (knot-configuration): Add includes field.
(verify-knot-configuration): Check includes content.
(knot-config-file): Serialize includes.
* doc/guix.texi (DNS Services): Document it.
2019-04-25 21:44:55 +02:00
Julien Lepiller
b68aff1f05
gnu: certbot: Add support for manual plugin.
* gnu/services/certbot.scm (certificate-configuration): Add challenge,
auth-hook and cleanup-hook fields.
(certbot-command): Use them.
* doc/guix.texi (Certificate Services): Document them.
2019-04-25 19:46:18 +02:00
Danny Milosavljevic
9374cbd1fb
services: fprintd: Provide polkit policy.
* gnu/services/authentication.scm (fprintd-service-type)[extensions]: Add
polkit-service-type.
2019-04-24 22:21:35 +02:00
Ludovic Courtès
06e5c3af8b
services: connman: Redirect output to a log file.
* gnu/services/networking.scm (connman-shepherd-service): Pass
 #:log-file to 'make-forkexec-constructor'.
2019-04-23 23:44:36 +02:00
Ludovic Courtès
86b8869fff
linux-container: Remove '%containerized-shepherd-service' hack.
This hack worked around a defect in the Shepherd 0.5.0 and is no longer
needed.

* gnu/services/shepherd.scm (%containerized-shepherd-service): Remove.
* gnu/system/linux-container.scm (container-essential-services): Don't
use it.
2019-04-23 16:38:12 +02:00
Ludovic Courtès
95ef8b85b1
services: shepherd: Support one-shot services.
* gnu/services/shepherd.scm (<shepherd-service>)[one-shot?]: New field.
(shepherd-service-file): Pass #:one-shot? to the <service> constructor.
* doc/guix.texi (Shepherd Services): Document it.
2019-04-23 16:38:11 +02:00
Danny Milosavljevic
dc01978288
services: fprintd: Use define-configuration.
* gnu/services/authentication.scm: Use define-configuration in fprintd.
2019-04-21 10:40:19 +02:00
Danny Milosavljevic
0682f08463
services: fprintd: Fix service.
* gnu/services/authentication.scm (<fprintd-configuration>)[ntp]: Rename to...
[fprintd]: ...this.
(fprintd-dbus-service): New procedure.
(fprintd-service-type): Use it.
[default-value]: Add value.
2019-04-17 08:51:11 +02:00
frozenpigs
02394462fc
services: sddm: Switch back to using ‘startx’.
* gnu/services/sddm.scm (sddm-configuration-file):
Use XORG-START-COMMAND.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2019-04-11 05:42:41 +02:00
Ludovic Courtès
3613ce46dc
services: dropbear: Add default value.
* gnu/services/ssh.scm (dropbear-service-type)[default-value]: New
field.
2019-04-07 18:04:08 +02:00
宋文武
412e6396bb
services: Add 'imap4d-service-type'.
* gnu/services/mail.scm (<imap4d-configuration>): New record type.
(imap4d-shepherd-service): New procedure.
(%default-imap4d-config-file, imap4d-service-type): New variables.
* gnu/services/mail.scm (Mail Services): Document it.
2019-04-07 14:18:01 +08:00
Ludovic Courtès
177bc62d63
services: wpa-supplicant: Log to syslog.
* gnu/services/networking.scm (wpa-supplicant-shepherd-service): Pass
"-s" to 'wpa_supplicant'.  Add 'syslogd' to 'requirement'.
2019-04-05 17:55:51 +02:00
Ludovic Courtès
1361584983
services: localed: Do nothing for unconfigured keyboards.
* gnu/services/xorg.scm (localed-service-type)[package]: Return the
empty list when the 'keyboard-layout' field is #f.
[compose]: Use 'find' instead of 'first'.
2019-04-05 17:55:51 +02:00
Ludovic Courtès
3ef3bdf1cd
services: localed: Properly handle lack of a 'keyboard-layout'.
Fixes a type error when KEYBOARD-LAYOUT is #f.

* gnu/services/xorg.scm (localed-dbus-service): Return the empty list
when KEYBOARD-LAYOUT is #f.
2019-04-05 17:55:50 +02:00
Ludovic Courtès
0cf981a606
services: gdm: Properly handle empty extensions lists.
Fixes a bug whereby not extending GDM would lead us to do:

  (first '())

in the 'compose' method.

Regression introduced in 305a732a0a.

* gnu/services/xorg.scm (gdm-service-type)[compose]: Handle the case
where EXTENSIONS is empty.
[extend]: Handle the case where XORG-CONFIGURATION is #f.
2019-04-05 17:55:50 +02:00
Ludovic Courtès
3a665637af
services: console-keymap: Deprecate.
* gnu/services/base.scm (console-keymap-service): Mark as deprecated.
* doc/guix.texi (Base Services): Remove its documentation.
2019-04-05 15:39:35 +02:00
Ludovic Courtès
305a732a0a
services: xorg: Add 'set-xorg-configuration'.
* gnu/services/xorg.scm (gdm-service-type)[compose, extend]: New fields.
(set-xorg-configuration): New procedure.
* doc/guix.texi (Keyboard Layout): Use it.
(X Window): Document it.
* gnu/system/examples/desktop.tmpl: Add 'keyboard-layout' fields.
2019-04-05 15:39:35 +02:00
Ludovic Courtès
607fcc7540
services: Add 'localed' service type and have GDM extend it.
This fixes a bug whereby GDM would always switch to US English keyboard
layout regardless to the configured Xorg keyboard layout.

* gnu/services/xorg.scm (<localed-configuration>): New record type.
(localed-dbus-service): New procedure.
(localed-service-type): New variable.
(gdm-service-type): Extend LOCALED-SERVICE-TYPE.
2019-04-05 15:39:35 +02:00
Ludovic Courtès
aa071ca049
services: dbus: 'wrapped-dbus-service' accepts a list of variables.
* gnu/services/dbus.scm (wrapped-dbus-service): Replace 'variable' and
'value' by 'variables', and adjust code accordingly.
* gnu/services/desktop.scm (upower-dbus-service):
(geoclue-dbus-service, elogind-dbus-service): Adjust accordingly.
2019-04-05 15:39:35 +02:00
Ludovic Courtès
b68f65007f
services: dbus: Add 'wrapped-dbus-service'.
* gnu/services/desktop.scm (wrapped-dbus-service): Move to...
* gnu/services/dbus.scm (wrapped-dbus-service): ... here.  New
procedure.
2019-04-05 15:39:35 +02:00
Ludovic Courtès
c1ef50ac79
gexp: Remove workarounds for <https://bugs.gnu.org/15602>.
* gnu/services/base.scm (hydra-key-authorization)[aaa]: Remove.
[default-acl]: Don't import it.
* guix/scripts/pack.scm (store-database)[build]: Don't import
(gnu build install).
2019-04-04 17:47:02 +02:00
Tim Gesthuizen
bab7a49558
services: slim-configuration: Adapt exported getter methods.
Commit 554b860739 introduces changes to the
slim-configuration record without updating the exported methods.

* gnu/services/xorg.scm: Export slim-configuration-xorg and
  slim-configuration-sessreg.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-03-31 23:32:46 +02:00
Ludovic Courtès
631a6e6377
doc: Document 'gdm-service-type'.
* doc/guix.texi (X Window): Document 'gdm-service-type' and
'gdm-configuration'.  Take description of '.desktop' files from the
'slim-service-type' description.
* gnu/services/xorg.scm (gdm-service): Remove outdated comment.
2019-03-31 23:32:46 +02:00
Marius Bakke
e73ded3c71
services: Open vSwitch: Provide a default configuration.
* gnu/services/networking.scm (openvswitch-service-type): Provide
OPENVSWITCH-CONFIGURATION as a default value.
* gnu/tests/networking.scm (%openvswitch-os): Don't configure the service.
2019-03-31 21:26:15 +02:00
Ludovic Courtès
357b287b8f
services: desktop: Switch to GDM.
* gnu/services/desktop.scm (%desktop-services): Replace
SLIM-SERVICE-TYPE instance with an instance of GDM-SERVICE-TYPE.
* doc/guix.texi (Keyboard Layout): Change example to mention
GDM-SERVICE-TYPE.
(X Window): Mention GDM.
(Desktop Services): Adjust references to SLiM.
2019-03-28 23:06:59 +01:00
Ludovic Courtès
391e0d65d7
services: Deprecate 'xfce-desktop-service'.
* gnu/services/desktop.scm (xfce-desktop-service-type)[default-value]
[description]: New fields.
(xfce-desktop-service): Deprecate.
* gnu/system/examples/desktop.tmpl: Use the (service …) form.
* gnu/installer/services.scm (%desktop-environments): Add TODO comment.
* doc/guix.texi (Desktop Services): Adjust accordingly, and fix spelling
of "Xfce" throughout.
2019-03-27 11:54:06 +01:00
Ludovic Courtès
ee05cc7fe3
services: Deprecate 'gnome-desktop-service'.
* gnu/services/desktop.scm (gnome-desktop-service-type)[default-value]:
New field.
(gnome-desktop-service): Deprecate.
* gnu/installer/services.scm (%desktop-environments): Use the (service …)
form for GNOME.
* gnu/system/examples/desktop.tmpl: Likewise.
* doc/guix.texi (Desktop Services): Adjust accordingly.
2019-03-27 11:54:06 +01:00
Marius Bakke
b283d5f630
services: SDDM: Specify absolute path to the X server.
I'm not sure how this service ever worked, but SDDM started consistently
failing on one machine seemingly because of this setting.

* gnu/services/sddm.scm (sddm-configuration-file): Append /bin/X to the
ServerPath setting.
2019-03-25 19:24:22 +01:00
Ludovic Courtès
70bb83b7b2
services: xorg: Fix cases where 'keyboard-layout' is #f.
This is a followup to 598757e038.

* gnu/services/xorg.scm (xorg-configuration->file): Check whether
'xorg-configuration-keyboard-layout' returns #f before calling
'keyboard-layout-options'.
2019-03-25 00:21:48 +01:00
Ludovic Courtès
598757e038
services: xorg: Add a 'keyboard-layout' field in <xorg-configuration>.
* gnu/services/xorg.scm (<xorg-configuration>)[keyboard-layout]: New
field.
(xorg-configuration->file)[input-class-section]: New procedure.
Use it.
* doc/guix.texi (X Window): Document 'keyboard-layout' field.

Co-authored-by: nee <nee-git@hidamari.blue>
2019-03-24 23:06:11 +01:00
Ludovic Courtès
554b860739
services: sddm, slim, gdm: Take an <xorg-configuration> record.
* gnu/services/sddm.scm (<sddm-configuration>)[xorg-server-path]
[xserver-arguments]: Remove.
[xorg-configuration]: New field.
(sddm-configuration-file): Adjust accordingly.
* gnu/services/xorg.scm (<slim-configuration>)[startx]: Remove.
[xorg-configuration]: New field.
(slim-shepherd-service, slim-service): Adjust accordingly.
(<gdm-configuration>)[x-server]: Remove.
[xorg-configuration]: New field.
(gdm-shepherd-service, gdm-service): Adjust accordingly.
* doc/guix.texi (X Window): Update accordingly.
2019-03-24 23:06:11 +01:00
Ludovic Courtès
b2e564515a
services: xorg: Define an <xorg-configuration> record type.
* gnu/services/xorg.scm (<xorg-configuration>): New record type.
(xorg-configuration-file): Remove.
(xorg-wrapper): Remove #:modules, #:configuration-file, and
 #:xorg-server; add optional 'config' parameter instead.  Adjust
accordingly.
(xorg-start-command): Likewise.
* doc/guix.texi (X Window): Document 'xorg-configuration'.  Update
'xorg-start-command' documentation.  Remove 'xorg-configuration-file'
documentation.
2019-03-24 23:06:11 +01:00
Ludovic Courtès
956607e340
services: xorg: Remove unused #:guile parameter.
* gnu/services/xorg.scm (xorg-wrapper): Remove #:guile, which was unused.
(xorg-start-command): Likewise.
(xinitrc): Likewise.
2019-03-24 23:06:11 +01:00
Ricardo Wurmus
c16423f143
services: Add nslcd-service-type.
* gnu/services/authentication.scm (nslcd-service-type, nslcd-configuration,
%nslcd-accounts): New variables.
(uglify-field-name, value->string, serialize-field, serialize-list,
ssl-option?, tls-reqcert-option?, deref-option?,
comma-separated-list-of-strings?, serialize-ignore-users-option, log-option?,
serialize-log-option, valid-map?, scope-option?, serialize-scope-option,
map-entry?, list-of-map-entries?, filter-entry?, list-of-filter-entries?,
serialize-filter-entry, serialize-list-of-filter-entries, serialize-map-entry,
serialize-list-of-map-entries, nslcd-config-file, nslcd-etc-service,
nslcd-shepherd-service, pam-ldap-pam-services, pam-ldap-pam-service,
generate-nslcd-documentation): New procedures.
* gnu/tests/ldap.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (LDAP Services): Document it.
2019-03-20 20:31:15 +01:00
ng0
47956fa0c2
Correct name and email address for ng0.
* .mailmap, Makefile.am, doc/guix.de.texi, doc/guix.fr.texi,
doc/guix.texi, etc/completion/fish/guix.fish,
gnu/packages/accessibility.scm, gnu/packages/admin.scm,
gnu/packages/audio.scm, gnu/packages/autotools.scm,
gnu/packages/cdrom.scm, gnu/packages/check.scm,
gnu/packages/cinnamon.scm, gnu/packages/compression.scm,
gnu/packages/crypto.scm, gnu/packages/databases.scm,
gnu/packages/django.scm, gnu/packages/dns.scm, gnu/packages/elixir.scm,
gnu/packages/emacs-xyz.scm, gnu/packages/emacs.scm,
gnu/packages/enlightenment.scm, gnu/packages/erlang.scm,
gnu/packages/fonts.scm, gnu/packages/fontutils.scm,
gnu/packages/forth.scm, gnu/packages/fvwm.scm, gnu/packages/games.scm,
gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/gtk.scm,
gnu/packages/guile-wm.scm,gnu/packages/guile-xyz.scm,
gnu/packages/haskell-check.scm, gnu/packages/haskell-crypto.scm,
gnu/packages/haskell.scm, gnu/packages/image-viewers.scm,
gnu/packages/image.scm, gnu/packages/irc.scm,
gnu/packages/language.scm, gnu/packages/libcanberra.scm,
gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lolcode.scm,
gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/mail.scm,
gnu/packages/markup.scm, gnu/packages/mate.scm, gnu/packages/maths.scm,
gnu/packages/mc.scm, gnu/packages/messaging.scm, gnu/packages/music.scm,
gnu/packages/ncurses.scm, gnu/packages/networking.scm,
gnu/packages/nickle.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm,
gnu/packages/perl-check.scm, gnu/packages/perl.scm,
gnu/packages/python-compression.scm, gnu/packages/python-crypto.scm,
gnu/packages/python-web.scm, gnu/packages/python-xyz.scm,
gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm,
gnu/packages/rust.scm, gnu/packages/scheme.scm,
gnu/packages/serialization.scm, gnu/packages/shells.scm,
gnu/packages/ssh.scm, gnu/packages/suckless.scm, gnu/packages/tbb.scm,
gnu/packages/telephony.scm, gnu/packages/text-editors.scm,
gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm,
gnu/packages/tor.scm, gnu/packages/version-control.scm,
gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/web.scm,
gnu/packages/wm.scm, gnu/packages/xdisorg.scm, gnu/packages/xfce.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/services/certbot.scm,
gnu/services/desktop.scm, gnu/services/version-control.scm,
gnu/services/web.scm, guix/import/hackage.scm, guix/licenses.scm:
Correct name and email address for ng0.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2019-03-18 15:05:08 +01:00
Tim Gesthuizen
97ab799afe
gnu: Add inputattach service.
Add a service that runs inputattach as a daemon to translate events from
serial ports.

* gnu/services/desktop.scm (<inputattach-configuration>): New record type.
* gnu/services/desktop.scm (inputattach-service-type): New service type.
* doc/guix.texi (Miscellaneous Services): Add inputattach Service
  subsubheading.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-03-18 10:51:06 +01:00
nixo
c71b7b5b37
services: mpd: add more configuration options
* gnu/services/audio.scm (<mpd-configuration>): Add 'db-file', 'state-file'
  and 'sticker-file' fields.
* doc/guix.texi (Music Player Daemon): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-03-15 23:27:59 +01:00
Ludovic Courtès
59e8044588
Remove traces of "GuixSD".
* gnu/bootloader/extlinux.scm (extlinux-configuration-file): Remove
mentions of "GuixSD".
* gnu/bootloader/grub.scm (install-grub-efi): Likewise.
* gnu/build/vm.scm (make-iso9660-image): Change default #:volume-id to
"Guix_image".
(initialize-hard-disk): Search for the "Guix_image" label.
* gnu/ci.scm (system-test-jobs, tarball-jobs): Remove "GuixSD".
* gnu/installer/newt/welcome.scm (run-welcome-page): Likewise.
* gnu/packages/audio.scm (supercollider)[description]: Likewise.
* gnu/packages/curl.scm (curl): Likewise.
* gnu/packages/emacs.scm (emacs): Likewise.
* gnu/packages/gnome.scm (network-manager): Likewise.
* gnu/packages/julia.scm (julia): Likewise.
* gnu/packages/linux.scm (alsa-plugins): Likewise.
(powertop, wireless-regdb): Likewise.
* gnu/packages/package-management.scm (guix): Likewise.
* gnu/packages/polkit.scm (polkit): Likewise.
* gnu/packages/tex.scm (texlive-bin): Likewise.
* gnu/services/base.scm (file-systems->fstab): Likewise.
* gnu/services/cups.scm (%cups-activation): Likewise.
* gnu/services/mail.scm (%dovecot-activation): Likewise.
* gnu/services/messaging.scm (prosody-configuration)[log]: Likewise.
* gnu/system/examples/vm-image.tmpl (vm-image-motd): Likewise.
* gnu/system/install.scm (installation-os)[file-systems]: Change root
file system label to "Guix_image".
* gnu/system/mapped-devices.scm (check-device-initrd-modules):
Remove "GuixSD".
* gnu/system/vm.scm (system-docker-image): Likewise.
(system-disk-image)[root-label]: Change to "Guix_image".
* gnu/tests/install.scm (run-install): Remove "GuixSD".
* guix/modules.scm (guix-module-name?): Likewise.
* nix/libstore/optimise-store.cc: Likewise.
2019-03-13 23:12:43 +01:00
Ludovic Courtès
082c648d28
services: mate-desktop: Deprecate the 'mate-desktop-service' procedure.
* gnu/services/desktop.scm (mate-desktop-service): Deprecate.
* doc/guix.texi (Desktop Services): Document 'mate-desktop-service-type'
and 'mate-desktop-configuration'.  Fix spelling of "Enlightenment".
2019-03-11 23:12:26 +01:00
Ludovic Courtès
984a61624c
services: mate-desktop: Add default value.
* gnu/services/desktop.scm (mate-desktop-service-type)[default-value]:
New field.
2019-03-11 23:12:26 +01:00
Ludovic Courtès
8b3ad455be
services: guix: Pre-compute the default ACL.
This makes the first boot slightly faster.

* gnu/services/base.scm (not-config?): New procedure.
(hydra-key-authorization): Rewrite to pre-compute the default ACL, and
pre-compute it using (guix pki) directly.
2019-03-10 23:41:33 +01:00
Ludovic Courtès
309d87c3aa
services: guix: Allocate build user UIDs in the system range.
Until now we were allocating the UIDs of build users above 30000, which
is in "normal" user UID range.  This static allocation was unnecessary,
so this change lets the system allocate UIDs in the system range (below
1000).

* gnu/services/base.scm (guix-build-accounts): Remove #:first-uid, and
remove 'uid' field from 'user-account'.
2019-03-10 23:41:33 +01:00
Oleg Pykhalov
e44de1d2fb
services: zabbix-front-end: Show location in messages.
* gnu/services/monitoring.scm (zabbix-front-end-config): Show location in
messages.
2019-03-10 21:32:38 +03:00
Oleg Pykhalov
d132d9f96b
services: configuration: Add '%location'.
* gnu/services/configuration.scm (define-configuration): Add '%location'.
2019-03-10 21:32:38 +03:00
Ludovic Courtès
d429878daf
activation: Shared system home directories are now 555 and root-owned.
Fixes <https://bugs.gnu.org/34788>.
Reported by Jack Hill <jackhill@jackhill.us>.

Regression introduced by the combination of
8bb76f3d44 and
0ae735bcc8: /var/empty would be 700 and
owned by one of the system accounts (thus inaccessible to others), and
/var/run/dbus would be 700 as well, thereby preventing D-Bus clients
from connecting to the daemon.

* gnu/build/activation.scm (duplicates): New procedure.
(activate-users+groups)[system-accounts]: New variable.
Use it.  Make shared system account home directories #o555 and
root-owned.
* gnu/services/dbus.scm (dbus-activation): Make /var/run/dbus #o755.
* gnu/tests/base.scm (run-basic-test): Test the ownership and
permissions of /var/empty.
2019-03-08 23:21:59 +01:00
Ludovic Courtès
56a93cb975
services: Use 'file-append' for user account shells.
* gnu/services/cuirass.scm (cuirass-account): Use 'file-append' instead
of #~(string-append #$shadow "/sbin/nologin").
* gnu/services/monitoring.scm (zabbix-server-account): Likewise.
(zabbix-agent-account): Likewise.
* gnu/services/rsync.scm (rsync-account): Likewise.
* gnu/services/ssh.scm (%openssh-accounts): Likewise.
2019-03-04 15:22:58 +01:00
Christopher Baines
bb65f66ce0
services: desktop: Fix define for the upower-service procedure.
* gnu/services/desktop.scm (upower-service): Fill in the replacement for
upower-service.
2019-02-24 21:48:47 +00:00
Jan Nieuwenhuizen
24f11b06bb
services: xorg: Enable override of xserver-arguments.
* gnu/services/xorg.scm (xorg-start-command): Add parameter #:xserver-arguments.
* doc/guix.texi (X Window): Document it.
2019-02-17 08:48:49 +01:00
Timothy Sample
41fa9f1815
services: gdm: Allow for custom X session scripts.
* gnu/packages/gnome.scm (gdm)[arguments]: Update pre-configure phase so
that GDM runs an X session script specified by the variable
GDM_X_SESSION; remove the '--enable-gdm-xsession' configuration
option.
* gnu/services/xorg.scm (<gdm-configuration>): Add 'x-session' field.
(gdm-shepherd-service): Set the GDM_X_SESSION variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-02-17 00:04:57 +01:00
Timothy Sample
7e61419892
services: gdm: Make dependencies explicit.
This commit removes the remaining implicit dependencies that the GDM
service had on the GNOME Desktop service.

* gnu/services/xorg.scm (gdm-configuration): Add a gnome-shell-assets
field for specifying any icons or fonts that the GNOME Shell theme
needs.
(gdm-shepherd-service): Remove environment variables pointing to
'/run/current-system' and set XDG_DATA_DIRS so that it points to
'gnome-shell' and its assets.
(gdm-service-type): Extend 'profile-service-type' to ensure that
necessary fonts are installed in the system profile.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-02-17 00:04:57 +01:00
Timothy Sample
1f564c1573
gnu: gdm: Run dbus-daemon via a wrapper script.
* gnu/packages/gnome.scm (gdm)[arguments]: Modify the pre-configure
phase so that GDM propagates the GDM_DBUS_DAEMON variable into the
session environment and uses its value to invoke dbus-daemon.
* gnu/services/xorg.scm (dbus-daemon-wrapper): New variable.
(<gdm-configuration>): Add 'dbus-daemon' field.
(gdm-shepherd-service): Set GDM_DBUS_DAEMON before invoking gdm.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-02-17 00:04:57 +01:00
Timothy Sample
e57c2adb2a
services: gdm: Remove etc service.
* gnu/packages/gnome.scm (gdm)[arguments]: Update pre-configure phase to
make GDM get the configuration file path from an environment variable.
* gnu/services/xorg.scm (gdm-etc-service): Remove function.
(gdm-configuration-file): New function.
(gdm-shepherd-service): Set GDM_CUSTOM_CONF before invoking GDM.
(gdm-service-type)[extensions]: Remove etc-service-type extension.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-02-17 00:04:56 +01:00
Christopher Baines
8d2c3c54ee
services: desktop: Deprecate the upower-service procedure.
This has now been replaced by the upower-service-type and
<upower-configuration> record.

* gnu/services/desktop.scm (upower-service): Deprecate this procedure.
2019-02-16 22:05:15 +00:00
Christopher Baines
8b9a7b26c2
services: Improve the upower-service-type.
Add a description and default value. Switch the documentation to mention the
service-type and the configuration record, rather than the upower-service
procedure.

* gnu/services/desktop.scm (upower-service-type)[description, default-value]:
Define these fields.
(%desktop-services): Change (upower-service) to (service upower-service-type).
* doc/guix.texi (Desktop Services): Update the upower service documentation.
2019-02-16 22:05:15 +00:00
Christopher Baines
6b692e961c
services: Improve the upower-configuration record.
Copy the defaults from the upower-service procedure to the
<upower-configuration> record type. This will allow making it the default
value for the upower-service-type, and deprecating the procedure. Export the
field accessors so that the <upower-configuration> record type becomes more
usable.

* gnu/services/desktop.scm (<upower-configuration>): Export it.
(upower-configuration-upower, upower-configuration-watts-up-pro?,
upower-configuration-poll-batteries?, upower-configuration-ignore-lid?,
upower-configuration-use-percentage-for-policy?,
upower-configuration-percentage-low, upower-configuration-percentage-critical,
upower-configuration-percentage-action, upower-configuration-time-low,
upower-configuration-time-critical, upower-configuration-time-action,
upower-configuration-critical-power-action): Add default and export.
2019-02-16 22:05:12 +00:00
Christopher Baines
96c7b4c846
services: Add cups-pk-helper.
This service integrates cups and PolicyKit. The gnome-control-center printing
section uses this functionality.

* gnu/sevices/desktop.scm (cups-pk-helper-service-type): New variable.
(%desktop-services): Add the cups-pk-helper service.
2019-02-13 08:19:05 +00:00
Danny Milosavljevic
1c84e68bde
services: docker: Make shepherd service also require "dbus-system",
"elogind" and "udev".

Fixes <https://bugs.gnu.org/34333>.

* gnu/services/docker.scm (docker-shepherd-service): Require "dbus-system",
"elogind" and "udev".
2019-02-11 18:29:01 +01:00
Danny Milosavljevic
268e12a894
services: docker: Make shepherd service require "networking".
Fixes <https://bugs.gnu.org/34333>.

* gnu/services/docker.scm (docker-shepherd-service): Require "networking".
2019-02-11 11:45:12 +01:00
Ludovic Courtès
30d77f45eb
services: gdm: Disable debugging output.
* gnu/services/xorg.scm (gdm-etc-service)[gdm-configuration-file]:
Comment out debugging setting.
2019-02-10 23:25:01 +01:00
Marius Bakke
0747328e31
Merge branch 'master' into staging 2019-01-31 23:32:56 +01:00
Ricardo Wurmus
0791437f97
gnu: Move most packages from guile.scm to new module.
* gnu/packages/guile.scm (artanis, guildhall, guile-aspell, guile-bash,
guile-8sync, guile-daemon, guile-dsv, guile-fibers, guile-syntax-highlight,
guile-sjson, guile-colorized, guile-pfds, guile-aa-tree, guile-simple-zmq,
jupyter-guile-kernel, guile-sparql, guile-debbugs, guile-email,
guile-debbugs-next, guile-newt, guile-mastodon, guile-parted, guile-xosd,
guile-dbi, guile-dbd-sqlite3, guile-config, guile-hall, guile-ics, guile-wisp,
guile-sly, g-wrap, guile-miniadapton, guile-reader, guile2.2-reader,
guile-ncurses, guile-ncurses/gpm, guile-lib, guile2.0-lib, guile2.2-lib,
guile-minikanren, guile2.0-minikanren, guile2.2-minikanren, guile-irregex,
guile2.0-irregex, guile2.2-irregex, haunt, guile2.0-haunt, guile2.2-haunt,
guile-redis, guile2.0-redis, guile2.2-redis, guile-commonmark,
guile2.0-commonmark, guile2.2-commonmark, mcron, mcron2): Move these variables
from here...
* gnu/packages/guile-xyz.scm: ...to this new file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/installer.scm,
gnu/packages/bioinformatics.scm,
gnu/packages/ci.scm,
gnu/packages/gtk.scm,
gnu/packages/guile.scm,
gnu/packages/mail.scm,
gnu/packages/package-management.scm,
gnu/packages/skribilo.scm,
gnu/packages/web.scm,
gnu/services/mcron.scm: Update module references.
2019-01-28 14:57:10 +01:00
Pierre Neidhardt
fd96f94f7d
gnu: %default-xorg-modules: Include xf86-video-amdgpu.
* gnu/services/xorg.scm (%default-xorg-modules): Include xf86-video-amdgpu.
Rephrase comment to clarify the priority order.
2019-01-28 11:22:15 +01:00
Ludovic Courtès
3e2d4e69c3
Merge branch 'master' into staging 2019-01-20 22:12:10 +01:00
Efraim Flashner
cc178ac717
gnu: %desktop-services: Use polkit-service-type.
* gnu/services/desktop.scm (%desktop-services): Replace polkit-service
with polkit-service-type.
2019-01-20 16:11:08 +02:00
Efraim Flashner
76a2b2db1a
gnu: %base-services: Use *getty-service-type.
* gnu/services/base.scm (%base-services): Replace agetty-service with
agetty-service-type, mingetty-service with mingetty-service-type.
2019-01-20 16:11:07 +02:00
Efraim Flashner
178bce41d8
gnu: %base-services: Use login-service-type.
* gnu/services/base.scm (login-service-type)[default-value]: New field.
(%base-services): Replace login-service with login-service-type.
2019-01-20 16:11:05 +02:00
Efraim Flashner
fd779db9e4
services: %base-services: Use udev-service-type.
* gnu/services/base.scm (udev-configuration): Fix typo.
(udev-service-type)[default-value]: New field.
(%base-services): Replace udev-service with udev-service-type.
2019-01-20 16:11:05 +02:00
Efraim Flashner
db9035492b
services: %base-services: Use nscd-service-type.
* gnu/services/base.scm (nscd-service-type)[default-value]: New field.
(%base-services): Replace nscd-service with nscd-service-type.
2019-01-20 16:11:04 +02:00
Efraim Flashner
7194745a16
services: Use guix-service-type.
* gnu/services/base.scm (%base-services): Replace guix-service with
guix-service-type.
* gnu/system/examples/docker-image.tmpl (services): Same.
2019-01-20 16:11:00 +02:00
Ricardo Wurmus
65cd70ce42
services: openssh: Add escape hatch.
* gnu/services/ssh.scm (<openssh-configuration>)[extra-content]: New field.
* doc/guix.texi (Networking Services): Document it.
2019-01-17 17:58:35 +01:00
Mathieu Othacehe
ca0c43ecf0
services: herd: Allow to pass arguments to start-service.
* gnu/services/herd.scm (start-service)[arguments]: New optional argument.
2019-01-17 14:04:22 +01:00
Mathieu Othacehe
76421cf0d2
services: kmscon: Remove virtual-terminal requirement.
kmscon does not require that virtual terminals run in UTF-8 mode.

* gnu/services/base.scm (kmscon-service-type): Remove virtual-terminal from
requirement list.
2019-01-17 14:04:20 +01:00
Ludovic Courtès
2e04ab7147
services: avahi: Deprecate the 'avahi-service' procedure.
* gnu/services/avahi.scm (<avahi-configuration>): Export getters.  Add
default values.
(avahi-service-type)[default-value]: New field.
(avahi-service): Mark as deprecated.
* gnu/services/desktop.scm (%desktop-services): Use the 'service' form
instead of calling 'avahi-service'.
* gnu/tests/base.scm (%avahi-os): Likewise.
* doc/guix.texi (Base Services): Adjust example accordingly.
(Networking Services): Update accordingly.
2019-01-16 14:07:37 +01:00
Marius Bakke
6764f94317
Merge branch 'master' into staging 2019-01-13 01:40:04 +01:00
Ludovic Courtès
84a2de36a1
services: Deprecate a few more service procedures.
These procedures were already either undocumented (and de facto
deprecated) or documented as deprecated or redundant.

* gnu/services/base.scm (guix-service, guix-publish-service): Mark as
deprecated.
* gnu/services/mcron.scm (mcron-service): Likewise.
* gnu/services/networking.scm (tor-service): Likewise.
* doc/guix.texi (Scheduled Job Execution): Remove 'mcron-service' and
adjust example.
(Networking Services): Remove 'tor-service'.
* gnu/tests/base.scm (%mcron-os): Use 'mcron-service-type' instead of
'mcron-service'.
* gnu/tests/networking.scm (%tor-os): Use 'tor-service-type' instead of
'tor-service'.
* tests/guix-system.sh: Likewise.
2019-01-11 12:14:38 +01:00
Danny Milosavljevic
9757b57f4e
services: docker: Update comment.
* gnu/services/docker.scm (docker-shepherd-service): Update comment.
2019-01-11 02:53:28 +01:00
Danny Milosavljevic
8b0c174415
services: docker: Use more minimal service requrements.
* gnu/services/docker.scm (docker-service-type)[requirement]: Add
file-system-/sys/fs/cgroup/blkio, file-system-/sys/fs/cgroup/cpu,
file-system-/sys/fs/cgroup/cpuset, file-system-/sys/fs/cgroup/devices,
file-system-/sys/fs/cgroup/memory.  Remove elogind.
2019-01-10 19:17:49 +01:00
Danny Milosavljevic
d3a0e74d6a
services: docker: Clarify service-extension shepherd-root-service-type.
* gnu/services/docker.scm (docker-service-type)[extensions]: Clarify
service-extension shepherd-root-service-type.
2019-01-10 19:17:48 +01:00
Ludovic Courtès
65a67bf711
services: Use 'define-deprecated' for service procedures.
* gnu/services/base.scm (urandom-seed-service, gpm-service): Define
using 'define-deprecated'.
* gnu/services/messaging.scm (bitlbee-service): Likewise.
* gnu/services/networking.scm (dhcp-client-service): Likewise.
(ntp-service): Likewise.
* gnu/services/xorg.scm (slim-service): Likewise.
(gdm-service): Likewise.
2019-01-10 14:59:23 +01:00
Ludovic Courtès
01b3625df6
services: gdm: Add default value.
* gnu/services/xorg.scm (<gdm-configuration>)[x-server]: Add default
value.
(gdm-service-type)[default-value, description]: New fields.
(gdm-service): Mark as deprecated.
2019-01-10 14:59:22 +01:00
Danny Milosavljevic
f946a370ed
services: docker: Depend on elogind.
* gnu/services/docker.scm (docker-shepherd-service)[requirement]: Add elogind.
2019-01-10 05:15:42 +01:00
Danny Milosavljevic
f0bfd0fc21
services: docker: Specify log file for containerd.
* gnu/services/docker.scm (containerd-shepherd-service): Specify log file
for containerd.
2019-01-10 03:54:28 +01:00
Danny Milosavljevic
8af4c335e3
services: Add docker.
* gnu/services/docker.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Miscellaneous Services): Document the service.
2019-01-10 03:00:55 +01:00
Efraim Flashner
0e28967250
Merge remote-tracking branch 'origin/master' into staging 2019-01-09 10:52:41 +02:00
Timothy Sample
48c8d067d4
services: gdm: Enable auto-start.
GDM is now reliable enough to run automatically.

* gnu/services/xorg.scm (gdm-shepherd-service): Do not set 'auto-start?'
to '#f'.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2018-12-30 10:20:41 +01:00
Timothy Sample
de409e8226
services: gdm: Remove 'allow-root?' option.
This option results in allowing all login attempts without asking for
credentials.  The name is confusing, but rather than rename it, we will
remove it, since it seems like a feature that no one would want.

* gnu/services/xorg.scm (<gdm-configuration>): Remove 'allow-root?'.
(gdm-pam-service): Do not use 'gdm-configuration-allow-root?'.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2018-12-30 10:20:40 +01:00
Marius Bakke
2bfcdbce51
Merge branch 'master' into staging 2018-12-26 16:03:09 +01:00
Efraim Flashner
dcad57d5fc
services: Add quassel.
* gnu/services/messaging.scm (<quassel-configuration>): New record type.
(%quassel-account, %quassel-activation): New procedures.
(quassel-service-type): New variable.
* gnu/tests/messaging.scm (%test-quassel): New variable.
(run-quassel-test): New procedure.
* doc/guix.texi (Messaging): Document quassel service.
2018-12-24 11:18:36 +02:00
Marius Bakke
02bf685d00
Merge branch 'master' into staging 2018-12-23 23:26:04 +01:00
Tobias Geerinckx-Rice
83715a7eec
services: Fix typo in (gnu services admin).
* gnu/services/admin.scm: Fix typo in licence header.
2018-12-23 17:57:06 +01:00
Marius Bakke
f30830b2e6
Merge branch 'master' into staging 2018-12-22 15:26:30 +01:00
Ludovic Courtès
9012d226fa
services: zabbix-front-end: Tweak error and hint messages.
* gnu/services/monitoring.scm (zabbix-front-end-config): Adjust error
and hint mssages.
2018-12-20 00:04:50 +01:00
Oleg Pykhalov
0485717ee9
services: zabbix-front-end: Improve hint and error messages.
* gnu/services/monitoring.scm (zabbix-front-end-config): Improve hint and
error messages.
2018-12-19 21:15:12 +03:00
Ludovic Courtès
6ea6e1476f
file-systems: Spawn a REPL only when interaction is possible.
Fixes <https://bugs.gnu.org/23697>.
Reported by Jan Nieuwenhuizen <janneke@gnu.org>.

* gnu/build/file-systems.scm (check-file-system): Call 'start-repl' only
if current-input-port passes 'isatty?'.
* gnu/services/shepherd.scm (shepherd-configuration-file): After
'for-each' expression, call 'redirect-port'.
* gnu/tests/base.scm (run-basic-test)["stdin is /dev/null"]: New test.
2018-12-18 16:04:26 +01:00
Ludovic Courtès
bafcf1f32f
services: udev: Add 'rules' action.
* gnu/services/base.scm (udev-shepherd-service): Add 'actions' field.
* doc/guix.texi (Base Services): Move "@end deffn" after 'udev-service'
definition.  Mention 'herd rules udev'.
2018-12-17 23:33:42 +01:00
Oleg Pykhalov
85c07cff9c
services: monitoring: Add 'zabbix-front-end'.
* gnu/services/monitoring.scm (nginx-server-configuration-list?,
serialize-nginx-server-configuration-list, zabbix-front-end-configuration,
zabbix-front-end-config, zabbix-front-end-activation,
generate-zabbix-front-end-documentation): New procedures.
(%zabbix-front-end-configuration-nginx, %maintenance.inc.php,
zabbix-front-end-service-type): New variables.
* doc/guix.texi (Monitoring Services): Document this.
2018-12-17 22:09:11 +03:00
Oleg Pykhalov
e517161d6b
services: php-fpm: Add 'timezone' configuration.
* gnu/services/web.scm: (<php-fpm-configuration>)[timezone]: New record field.
(default-php-fpm-config, php-fpm-shepherd-service, php-fpm-activation): Use
this.
* doc/guix.texi (Web Services): Document this.
2018-12-17 22:09:10 +03:00
Oleg Pykhalov
6106d7cae4
services: monitoring: Add 'zabbix-agent'.
* gnu/services/monitoring.scm (zabbix-server-service-type,
zabbix-agent-account, zabbix-agent-activation, zabbix-agent-config-file,
zabbix-agent-shepherd-service, generate-zabbix-agent-documentation): New
procedures.
(zabbix-agent-service-type): New 'service-type'.
* gnu/tests/monitoring.scm (run-zabbix-server-test): Test 'zabbix-agent'.
(%zabbix-os): Add 'zabbix-agent' service.
* doc/guix.texi (Monitoring Services): Document 'zabbix-agent'.
2018-12-17 22:09:10 +03:00
Oleg Pykhalov
6b1c4179e2
services: monitoring: Add 'zabbix-server'.
* gnu/services/monitoring.scm (uglify-field-name, serialize-field,
serialize-number, serialize-list, serialize-string, group?, serialize-group,
include-files?, serialize-include-files, zabbix-server-account,
zabbix-server-config-file, zabbix-server-activation,
zabbix-server-shepherd-service, generate-zabbix-server-documentation,
extra-options, serialize-extra-options): New procedures.
(zabbix-server-service-type): New variable.
* gnu/tests/monitoring.scm (%psql-user-create-zabbix,
%psql-db-zabbix-create-script, %psql-db-create-zabbix, %psql-db-import-zabbix,
%zabbix-os, %test-zabbix): New variables.
(run-zabbix-server-test): New procedure.
* doc/guix.texi (Monitoring Services): Document 'zabbix-server'.

squash! services: monitoring: Add 'zabbix-server'.
2018-12-17 22:09:10 +03:00
Marius Bakke
12878d12ac
Merge branch 'master' into staging 2018-12-12 22:00:52 +01:00
Ludovic Courtès
7e4bc21509
services: guix: Run 'guix-daemon' in UTF-8 locale.
Fixes <https://bugs.gnu.org/32942>.
Reported by Julien Lepiller <julien@lepiller.eu>.

* gnu/services/base.scm (guix-shepherd-service) <start>: In
 #:environment-variables, add "GUIX_LOCPATH" and "LC_ALL".
2018-12-10 00:28:11 +01:00
Marius Bakke
fbb7b04a85
Merge branch 'master' into staging 2018-12-09 00:18:32 +01:00
Ludovic Courtès
970ebdae8c
services: guix-daemon: Fix authorization of multiple keys.
Previously, the 'unless (file-exists? "/etc/guix/acl")' guard would mean
that only the first key in the list would get registered since were were
generating one registration snippet per key.  This fixes that.

* gnu/services/base.scm (hydra-key-authorization): Change to be a
'for-each' loop iterating on #$KEYS.
2018-12-05 16:24:50 +01:00
Ludovic Courtès
0bc02becca
Remove most references to hydra.gnu.org.
* Makefile.am (assert-binaries-available): Don't mention hydra.gnu.org
in comment.
* build-aux/check-available-binaries.scm: Likewise.
* build-aux/check-final-inputs-self-contained.scm: Likewise.
* doc/guix.texi (SUBSTITUTE-SERVER): New variable.
Use it throughout instead of "mirror.hydra.gnu.org".
* doc/contributing.texi (Submitting Patches): Likewise.
* gnu/services/base.scm (hydra-key-authorization)
(guix-activation): Remove mentions of "hydra.gnu.org" in comments and
messages.
* gnu/system/install.scm (%installation-services): Likewise.
* guix/scripts/size.scm (guix-size): Likewise.
2018-12-04 10:57:56 +01:00
Oleg Pykhalov
9325533bd0
services: ddclient: Fix unrecognized keywords.
This patch fixes warnings about unrecognized keywords in logs.

* gnu/services/dns.scm (serialize-field): Skip some field names.
2018-12-04 07:16:00 +03:00
Marius Bakke
99f63f011d
Merge branch 'master' into staging 2018-12-03 19:15:17 +01:00
Ludovic Courtès
0c17f72070
services: openssh: Install OpenSSH in the system profile.
This ensures one can scp to or from the GuixSD machine that uses the
service.

* gnu/services/ssh.scm (openssh-service-type)[extensions]: Add
PROFILE-SERVICE-TYPE extension.
* gnu/system/examples/bare-bones.tmpl <packages>: Remove OPENSSH.
* doc/guix.texi (Using the Configuration System): Adjust accordingly.
2018-11-26 11:10:20 +01:00
Arun Isaac
662e2285f5
services: wesnothd: Run as wesnothd user and group.
* gnu/services/games.scm (wesnothd-shepherd-service): Run as wesnothd user and
group.
2018-11-20 22:40:44 +05:30
Ludovic Courtès
d3f75179e5
services: nscd: Add 'invalidate' and 'statistics' actions.
* gnu/services/base.scm (nscd-action-procedure, nscd-actions): New
procedures.
(nscd-shepherd-service): Add 'modules' and 'actions' fields.
* gnu/tests/base.scm (run-basic-test)["nscd invalidate action"]
["nscd invalidate action, wrong table"]: New tests.
* doc/guix.texi (Services): Mention 'herd doc nscd action'.
(Base Services): Document the actions.
2018-11-13 14:59:45 +01:00
Ludovic Courtès
190877748e
services: mcron: Fix typo in comment.
* gnu/services/mcron.scm (shepherd-schedule-action): Fix typo in comment.
2018-11-13 14:59:45 +01:00
Clément Lassieur
a7553a7360
services: dovecot: Set correct default value for the "auth" service.
* gnu/services/mail.scm (dovecot-configuration): Set 'service-count' to 0 for
the "auth" service.
2018-11-10 19:12:21 +01:00
Clément Lassieur
be8dd4a5fe
services: dovecot: Allow to set 'process-limit'.
* doc/guix.texi (Mail Services): Update accordingly.
* gnu/services/mail.scm (service-configuration)[process-limit]: New field.
(dovecot-configuration)[services]: Set 'process-limit' to its correct default
value.
2018-11-10 19:12:18 +01:00
Clément Lassieur
8d9bb4b4d0
services: dovecot: Allow to set 'client-limit'.
* doc/guix.texi (Mail Services): Update accordingly.
* gnu/services/mail.scm (service-configuration)[client-limit]: New field.
(dovecot-configuration)[services]: Set 'client-limit' to its correct default
value.
2018-11-10 19:12:14 +01:00
Stefan Stefanović
ec86863113
services: elogind: Fix spelling errors of left value fields in elogind config file.
* gnu/services/desktop.scm (elogind-configuration-file)[ini-file]:
    Fix spelling of left value fields:
    InhibitDelayMaxSecs, HoldoffTimeoutSecs, IdleActionSeconds, RemoveIpc.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-11-08 10:24:35 +01:00
Ludovic Courtès
dcb45127e0
services: cuirass: Add 'ttl' configuration field.
* gnu/services/cuirass.scm (<cuirass-configuration>)[ttl]: New field.
(cuirass-shepherd-service): Honor it.
2018-11-07 16:06:42 +01:00
Mathieu Othacehe
2d9dace8c2
services: kmscon: Add an auto-login option.
Add an auto-login option that behaves as the one of mingetty-service.

* gnu/services/base.scm (kmscon-configuration)[auto-login]: New field.
(kmscon-service-type): Pass it to kmscon command.
* doc/guix.texi (Base Services): Document it.
2018-11-07 18:21:42 +09:00
Mathieu Othacehe
f4e8bc5f25
services: kmscon: Do not switch to vt at start.
* gnu/services/base.scm (kmscon-service-type): Add "--no-switchvt" to kmscon
command.
2018-11-07 18:15:00 +09:00
Oleg Pykhalov
7f860a8be1
gnu: services: dns: Fix 'ddclient-activation'.
* gnu/services/dns.scm (ddclient-activation): Fix procedure.
2018-11-06 07:16:44 +03:00
Florian Pelz
abc98e3be5
services: httpd: Allow using it with PHP.
* gnu/services/web.scm (httpd): Make existing httpd-module API public.
* doc/guix.texi (Apache HTTP Server): Document its usage with PHP-FPM.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2018-10-27 14:08:45 +01:00
Ludovic Courtès
64791eb7e1
services: ntp: Document 'ntp-service-type' and 'ntp-configuration'.
* gnu/services/networking.scm (<ntp-configuration>)[servers]: Add
default value.
(ntp-service-type)[default-value]: New field.
(ntp-service): Mark as deprecated.
* gnu/services/desktop.scm (%desktop-services): Use (service
ntp-service-type) instead of calling 'ntp-service'.
* doc/guix.texi (Networking Services): Document 'ntp-service-type' and
'ntp-configuration'.
2018-10-19 23:39:41 +02:00
Marius Bakke
3d472b5ee1
services: WPA Supplicant: Fix syntax error.
This is a followup to commit acce0a474c.  No
idea how these disappeared.. :-/

* gnu/services/networking.scm (wpa-supplicant-shepherd-service): Add missing
parens.
2018-10-19 03:18:22 +02:00
Ludovic Courtès
39d7fdce45
services: dhcp-client: Deprecate 'dhcp-client-service' procedure.
* gnu/services/networking.scm (dhcp-client-service-type): Add default
value.
* gnu/system/examples/bare-bones.tmpl: Use (service
dhcp-client-service-type) instead of (dhcp-client-service).
* gnu/system/examples/beaglebone-black.tmpl: Likewise.
* gnu/tests/base.scm (%avahi-os): Likewise.
* gnu/tests/databases.scm (%memcached-os): Likewise.
(%mongodb-os): Likewise.
* gnu/tests/dict.scm (%dicod-os): Likewise.
* gnu/tests/mail.scm (%opensmtpd-os): Likewise.
(%exim-os): Likewise.
(%dovecot-os): Likewise.
* gnu/tests/messaging.scm (run-xmpp-test): Likewise.
(run-bitlbee-test): Likewise.
* gnu/tests/monitoring.scm (%prometheus-node-exporter-os): Likewise.
* gnu/tests/networking.scm (%inetd-os): Likewise.
(run-iptables-test): Likewise.
* gnu/tests/nfs.scm (%base-os): Likewise.
* gnu/tests/rsync.scm (%rsync-os): Likewise.
* gnu/tests/ssh.scm (run-ssh-test): Likewise.
* gnu/tests/version-control.scm (%cgit-os): Likewise.
(%git-http-os): Likewise.
(%gitolite-os): Likewise.
* gnu/tests/virtualization.scm (%libvirt-os): Likewise.
* gnu/tests/web.scm (%httpd-os): Likewise.
(%nginx-os): Likewise.
(%varnish-os): Likewise.
(%php-fpm-os): Likewise.
(%hpcguix-web-os): Likewise.
(%tailon-os): Likewise.
* tests/guix-system.sh: Likewise.
* doc/guix.texi (Networking Services): Document
'dhcp-client-service-type' and remove 'dhcp-client-service'.
2018-10-18 01:12:22 +02:00
Marius Bakke
acce0a474c
services: wpa-supplicant: Extend to support configuration parameters.
This allows using WPA Supplicant "standalone" without an additional
network manager.  The default configuration is unchanged.

* gnu/services/networking.scm (<wpa-supplicant-configuration>): New record type.
(wpa-supplicant-shepherd-service): Pass configuration records to the daemon.
(wpa-supplicant-service-type): Adjust accordingly.
* doc/guix.texi (Networking Services): Document the new service type.
2018-10-17 20:34:37 +02:00
Julien Lepiller
0d57a50af2
gnu: postgresql: Add extension-packages.
* gnu/services/databases.scm (postgresql-configuration): Add
extension-packages.
(postgresql-shepherd-service): New key #:extension-packages.
* doc/guix.texi (Database Services): Document it.
2018-10-04 22:30:23 +02:00
Ludovic Courtès
89fdd9ee0c
services: rottlog: Use command strings in the mcron jobs.
* gnu/services/admin.scm (default-jobs): Remove the lambda around
"/…/bin/rottlog" to make "herd schedule mcron" more
transparent (otherwise it just says "Lambda function").
2018-10-04 09:32:51 +02:00
Christopher Baines
f8e710684e
services: Add Gitolite.
* gnu/services/version-control.scm (<gitolite-configuration>,
<gitolite-rc-file>): New record types.
(gitolite-accounts, gitolite-activation): New procedures.
(gitolite-service-type): New variables.
* gnu/tests/version-control.scm (%gitolite-test-admin-keypair, %gitolite-os,
%test-gitolite): New variables.
(run-gitolite-test): New procedure.
* doc/guix.texi (Version Control): Document the gitolite service.
2018-10-02 08:11:17 +01:00
Mark H Weaver
17bea1803c
Revert "services: Add Gitolite."
This reverts commit 258a6d944e.
2018-09-29 21:18:45 -04:00
Christopher Baines
258a6d944e
services: Add Gitolite.
* gnu/services/version-control.scm (<gitolite-configuration>,
<gitolite-rc-file>): New record types.
(gitolite-accounts, gitolite-activation): New procedures.
(gitolite-service-type): New variables.
* gnu/tests/version-control.scm (%gitolite-test-admin-keypair, %gitolite-os,
%test-gitolite): New variables.
(run-gitolite-test): New procedure.
* doc/guix.texi (Version Control): Document the gitolite service.
2018-09-28 21:00:18 +01:00
Ludovic Courtès
09b7300c01
services: virtual-terminal: Write to "default_utf8" only if necessary.
Fixes a bug in containers whereby 'virtual-terminal' would always fail
to start because writing to /sys/…/default_utf8 would fail with EROFS.

* gnu/services/base.scm (virtual-terminal-service-type): Read from
"default_utf8" before attempting to write to it.
2018-09-26 23:40:37 +02:00
Ludovic Courtès
23784f0c33
services: udev: Don't attempt to read "modules.devname" from a container.
Fixes <https://bugs.gnu.org/32814>.
Reported by Julien Lepiller <julien@lepiller.eu>.

* gnu/services/base.scm (udev-shepherd-service)[start]: Check whether
DIRECTORY exists and skip 'make-static-device-nodes' call if it doesn't.
2018-09-26 23:40:37 +02:00
Ludovic Courtès
a56c4eb8f4
services: shepherd: Add workaround for 0.5.0 in containers.
* gnu/services/shepherd.scm (%containerized-shepherd-service): New service.
* gnu/system.scm (essential-services): Use it when CONTAINER? is true.
2018-09-26 23:40:36 +02:00
Ludovic Courtès
6f03b08089
services: dhcp-client: Use 'read-pid-file'.
* gnu/services/networking.scm (dhcp-client-service-type)[start]: Use
'read-pid-file' instead of the custom and possibly infinite loop.
2018-09-26 23:40:36 +02:00
Carlo Zancanaro
4245ddcbc9
guix system: Load all services on reconfigure, not just stopped ones.
This uses the 'replacement' service slot introduced in the Shepherd
version 0.5.0.

* gnu/services/shepherd.scm (shepherd-service-upgrade): Return a list of
  services that need to be restarted to complete their upgrade.
* guix/scripts/system.scm (call-with-service-upgrade-info): Rename an internal
  variable to reflect the change to shepherd-service-upgrade.
  (upgrade-shepherd-services): Call 'load-services/safe' instead of
  'load-services'.  Print a message about services that need to be
  manually restarted.
* gnu/services/herd.scm (load-services/safe): New procedure.
* doc/guix.texi (Invoking guix system): Document the new behaviour.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2018-09-26 23:40:36 +02:00
Marius Bakke
3b97a1779f
services: Add Varnish service.
* 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.
2018-09-26 00:33:01 +02:00
Arun Isaac
9926b8f809
gnu: services: Add iptables service.
* 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.
2018-09-20 13:09:55 +05:30
Ludovic Courtès
241358dc94
services: networking: Remove unbound variable reference in 'stop'.
* gnu/services/base.scm (static-networking-shepherd-service): Remove
spurious ":" in 'stop' method inadvertently introduced in commit
c9436025a9.
2018-09-19 18:25:28 +02:00
Ludovic Courtès
7fd3082522
services: udev: Simplify 'start' method.
* 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'.
2018-09-19 18:25:27 +02:00
Ludovic Courtès
81317071fb
services: hpcguix-web: Produce a log file and rotate it.
* 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.
2018-09-10 12:12:52 +02:00
Ludovic Courtès
19de8273ee
services: tailon: Move to (gnu services web).
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.
2018-09-10 12:12:50 +02:00
Ludovic Courtès
e80c725db7
services: nginx: 'stop' returns #f.
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.
2018-09-08 23:02:00 +02:00
Ludovic Courtès
985975ae80
services: nginx: Don't read PID file when passed a custom config file.
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.
2018-09-08 23:02:00 +02:00
Ludovic Courtès
7df945656c
services: hpcguix-web: Set SSL_CERT_DIR.
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.
2018-09-06 13:49:06 +02:00
Clément Lassieur
9fc2922794
services: nginx: Get the Shepherd to respawn NGINX.
* 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.
2018-08-31 16:35:39 +02:00
Oleg Pykhalov
8490a8346b
services: Add ddclient service.
* 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.
2018-08-30 01:19:47 +03:00
Ludovic Courtès
6772ed1e07
services: openssh: Add 'log-level' field.
* gnu/services/ssh.scm (<openssh-configuration>)[log-level]: New field.
(openssh-config-file): Honor it.
* doc/guix.texi (Networking Services): Document it.
2018-08-28 12:35:02 +02:00
Chris Marusich
3bcb305b98
services: tor: Make it easier to use UNIX sockets.
* 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.
2018-08-28 00:25:05 -07:00
Chris Marusich
d973915e48
services: tor: Rename activation procedure.
* gnu/services/networking.scm: Rename the procedure
tor-hidden-service-activation to tor-activation.
2018-08-28 00:14:24 -07:00
Chris Marusich
5dfd80e1c5
services: tor: Add a system test.
* 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.
2018-08-28 00:14:24 -07:00
Chris Marusich
6fb6ac6857
gnu: services: Fix pcscd activation bug.
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.
2018-08-20 21:43:56 -07:00
Clément Lassieur
8d4805ba29
services: cuirass: Put data in /var/lib to avoid removal at boot.
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>.
2018-08-16 19:23:29 +02:00
Arun Isaac
de30205ba0
gnu: services: Add pcscd service.
* 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.
2018-08-16 02:46:27 +05:30
Clément Lassieur
4ae0607dd8
services: nginx: Use 'invoke' rather than 'system*'.
* gnu/services/web.scm (nginx-shepherd-service): Replace SYSTEM* with INVOKE.
2018-08-13 23:44:34 +02:00
Clément Lassieur
ef2dda8edb
services: postgresql: Get the Shepherd to respawn PostgreSQL.
* gnu/services/databases.scm (postgresql-shepherd-service): Change 'start' to
return the PID.
2018-08-13 23:44:26 +02:00
Clément Lassieur
fdbca05d78
services: prosody: Get the Shepherd to respawn Prosody.
* gnu/services/messaging.scm (prosody-shepherd-service): Return the PID when
the action is "start".
2018-08-13 18:11:02 +02:00
Clément Lassieur
2ded865665
services: prosody: Use 'invoke' rather than 'system*'.
* gnu/services/messaging.scm (prosody-shepherd-service): Replace SYSTEM* with
INVOKE.
2018-08-13 18:10:58 +02:00
Clément Lassieur
efb22b47db
services: cgit: Disable repo booleans having a global counterpart.
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.
2018-08-13 00:29:47 +02:00
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
Clément Lassieur
dde99782e0
services: cgit: Simplify 'uglify-field-name'.
* gnu/services/cgit.scm (uglify-field-name): Remove STRING-JOIN and
STRING-SPLIT.
2018-04-11 21:23:58 +02:00
Thorsten Wilms
cd73071984
gnu: Add x11-socket-directory-service.
* gnu/services/desktop.scm (x11-socket-directory-service): New
variable.
(%desktop-services): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-04-04 14:39:39 +02:00
Clément Lassieur
f72662968e
services: certbot: Don't try to renew certificates on activation.
Because it takes too much time and it requires networking.

Thanks to Mathieu Othacehe for suggesting this.

* gnu/services/certbot.scm (certbot-activation): Do not run the renewal
command, copy its path to a fixed location, display it, so that the user can
run the command when they want.
2018-04-03 16:21:31 +02:00
Ludovic Courtès
ca5b73114f
gnu: shepherd: Update to 0.4.0.
* gnu/packages/admin.scm (shepherd): Update to 0.4.0.  Remove patches.
* gnu/packages/patches/shepherd-close-fds.patch,
gnu/packages/patches/shepherd-herd-status-sorted.patch: Remove.
* gnu/local.mk (dist_patch_DATA): Remove them.
* gnu/services/admin.scm (%default-rotations): Remove
/var/log/shepherd.log.
2018-03-22 11:43:30 +01:00
Ludovic Courtès
7fe1432a2e
services: rottlog: Add /var/log/debug to '%default-rotations'.
* gnu/services/admin.scm (%rotated-files): Add "/var/log/debug".
2018-03-22 11:43:29 +01:00
ng0
4a78fd4617
Correct name and Email for ng0.
* .mailmap: Correct name and Email for ng0.
* Makefile.am, doc/guix.texi, etc/completion/fish/guix.fish
gnu/packages/accessibility.scm, gnu/packages/admin.scm,
gnu/packages/audio.scm, gnu/packages/autotools.scm,
gnu/packages/cdrom.scm, gnu/packages/check.scm,
gnu/packages/cinnamon.scm, gnu/packages/compression.scm,
gnu/packages/crypto.scm, gnu/packages/databases.scm,
gnu/packages/django.scm, gnu/packages/dns.scm,
gnu/packages/emacs.scm, gnu/packages/enlightenment.scm,
gnu/packages/fonts.scm, gnu/packages/fontutils.scm,
gnu/packages/forth.scm, gnu/packages/fvwm.scm,
gnu/packages/games.scm, gnu/packages/gl.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm,
gnu/packages/gtk.scm, gnu/packages/guile-wm.scm,
gnu/packages/guile.scm, gnu/packages/haskell-check.scm,
gnu/packages/haskell-crypto.scm, gnu/packages/haskell.scm,
gnu/packages/image-viewers.scm, gnu/packages/image.scm,
gnu/packages/irc.scm, gnu/packages/language.scm,
gnu/packages/libcanberra.scm, gnu/packages/linux.scm,
gnu/packages/lisp.scm, gnu/packages/lolcode.scm,
gnu/packages/lxde.scm, gnu/packages/lxqt.scm,
gnu/packages/mail.scm, gnu/packages/markup.scm,
gnu/packages/mate.scm, gnu/packages/maths.scm,
gnu/packages/mc.scm, gnu/packages/messaging.scm,
gnu/packages/music.scm, gnu/packages/ncurses.scm,
gnu/packages/networking.scm, gnu/packages/nickle.scm,
gnu/packages/openbox.scm, gnu/packages/pdf.scm,
gnu/packages/perl-check.scm, gnu/packages/perl.scm,
gnu/packages/python-crypto.scm, gnu/packages/python-web.scm,
gnu/packages/python.scm, gnu/packages/qt.scm,
gnu/packages/ruby.scm, gnu/packages/rust.scm,
gnu/packages/scheme.scm, gnu/packages/serialization.scm,
gnu/packages/shells.scm, gnu/packages/ssh.scm,
gnu/packages/suckless.scm, gnu/packages/tbb.scm,
gnu/packages/telephony.scm, gnu/packages/text-editors.scm,
gnu/packages/textutils.scm, gnu/packages/time.scm,
gnu/packages/tls.scm, gnu/packages/tor.scm,
gnu/packages/version-control.scm, gnu/packages/video.scm,
gnu/packages/vim.scm, gnu/packages/web.scm,
gnu/packages/wm.scm, gnu/packages/xdisorg.scm,
gnu/packages/xfce.scm, gnu/packages/xml.scm,
gnu/packages/xorg.scm, gnu/services/certbot.scm,
gnu/services/desktop.scm, gnu/services/version-control.scm,
gnu/services/web.scm, guix/import/hackage.scm,
guix/licenses.scm: Likewise.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2018-03-20 17:17:58 +01:00
Ludovic Courtès
cfbf6de18c
gnu: mcron: Update to 1.1 and deprecate "mcron2".
* gnu/packages/guile.scm (mcron): Update to 1.1.
[native-inputs]: Add TZDATA-FOR-TESTS.
[arguments]: New field.
(mcron2): Define using 'deprecated-package'.
* gnu/services/mcron.scm: Replace 'mcron2' with 'mcron'.
* doc/guix.texi (Scheduled Job Execution): Likewise.
* gnu/tests/base.scm (%mcron-os): Remove comment about mcron2.
2018-03-19 23:19:49 +01:00
Martin Castillo
985934cb21
services: openssh: Add 'accepted-environment' field.
* gnu/services/ssh.scm (<openssh-configuration>)[accepted-environment]: New field.
(openssh-config-file): Honor 'acccepted-environment'.
* doc/guix.texi (Networking Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-03-18 00:02:05 +01:00
Christopher Baines
533808383f
services: databases: Change quote' to single-quote.
In the postgresql-config-file gexp compiler.

* gnu/services/databases.scm (postgresql-config-file-compiler): Change quote'
to single-quote.
2018-03-17 20:31:37 +00:00
Ludovic Courtès
bb3062ad62
services: Add 'virtual-terminal'.
Fixes <https://bugs.gnu.org/30505>.
Suggested by Danny Milosavljevic <dannym@scratchpost.org>.

* gnu/services/base.scm (unicode-start): Remove.
(virtual-terminal-service-type): New variable.
(console-font-shepherd-services): Remove 'modules'; remove call to
'unicode-start'.  Add 'virtual-terminal' to 'requirement'.
(mingetty-shepherd-service, kmscon-service-type): Likewise.
(%base-services): Add 'virtual-terminal-service-type'.
* gnu/system/install.scm (%installation-services): Likewise.
2018-03-15 11:37:18 +01:00
Ludovic Courtès
88cd7bbd3d
services: 'shepherd-service-type' now accepts a default value.
* gnu/services/shepherd.scm (shepherd-service-type): Add a second form
with an additional 'default' parameter.
2018-03-15 11:34:57 +01:00
Christopher Baines
488ea71ed8
services: databases: Add postgresql-configuration record exports.
* gnu/services/databases.scm: Export the record type, and all the field
accessors.
2018-03-10 16:20:55 +00:00
Christopher Baines
936e7a5245
services: Rework the PostgreSQL config file to use a record type.
For the default config file representation. This makes it possible to more
easily change the configuration file, and have dynamic content.

* gnu/services/databases.scm (<postgresql-config-file>): New record type.
(%default-postgres-config): Remove this, it's been replaced by the
configuration file.
(<postgresql-configuration>): Alter the default for the config file field.
(postgresql-service): Alter the default value for the config-file parameter.
2018-03-10 16:20:52 +00:00
Oleg Pykhalov
6310dff1dc
services: dovecot: Copy dovecot.conf to /etc/dovecot.
Many Dovecot utilities compiled with assumption of ‘/etc/dovecot/dovecot.conf’
existence.

* gnu/services/mail.scm (dovecot-shepherd-service): Move config generation.
Invoke ‘dovecot’ without ‘-c’ flag.
(%dovecot-activation): Copy ‘dovecot.conf’ to ‘/etc/dovecot’.
(dovecot-service-type): Make ‘%dovecot-activation’ non-constant.
2018-03-09 17:02:31 +03:00
Danny Milosavljevic
c32e3ddedd
services: agetty: Call default-serial-port only when starting.
* gnu/services/base.scm (agetty-shepherd-service): Call default-serial-port
only when starting.
2018-03-08 13:16:30 +01:00
Ludovic Courtès
6c4458172d
services: file-systems: Include 'user-file-systems' service.
Previously the KNOWN-FS value used in 'essential-services' would be
incomplete: it would lack all the file systems provided by services that
extend 'file-system-service-type' (/sys/fs/cgroup,
/proc/sys/fs/binfmt_misc, etc.)  Consequently, upon shutdown,
'user-processes' would unmount these file systems before their
corresponding service had been stopped; when their corresponding (e.g.,
'file-system-/proc/sys/fs/binfmt_misc') was stopped, its 'umount' call
would fail.

This was harmless in practice, but this patch makes sure things work as
intended and file systems are unmounted in the right order.

* gnu/services/base.scm (file-system-shepherd-services): Instantiate
'user-file-systems' Shepherd service from here.
(user-unmount-service-type, user-unmount-service): Remove.
* gnu/system.scm (essential-services): Remove call to 'user-unmount-service'.
* gnu/system/install.scm (cow-store-service-type): Adjust comment.
2018-03-07 11:22:42 +01:00
Ludovic Courtès
366ddc1ac5
services: dicod: Depend on 'user-processes'.
* gnu/services/dict.scm (dicod-shepherd-service): Add 'requirement'.
2018-03-07 11:22:41 +01:00
Efraim Flashner
16718b6776
services: Add openntpd service.
* gnu/packages/ntp.scm (openntpd)[arguments]: Add 'configure-flags to
set openntpd daemon's user and localstatedir. Add a custom phase to not
try to create said directory at install time.
* gnu/services/networking.scm (<openntpd-configuration>): New record type.
(openntpd-shepherd-service, openntpd-service-activation): New procedures.
(openntpd-service-type): New variable.
* doc/guix.texi (Networking Services): Add openntpd documentation.
2018-03-05 08:46:28 +02:00
Christopher Baines
bc037c1bd1
services: redis: Add a default-value to the redis-service-type.
* gnu/packages/databases.scm (redis-service-type)[default-value]: Set
  to (redis-configuration).
2018-03-03 23:52:26 +00:00
Christopher Baines
e903738f86
services: mysql: Add a default-value to the mysql-service-type.
* gnu/services/databases.scm (mysql-service-type)[default-value]: Set
  to (mysql-configuration).
2018-03-03 23:52:25 +00:00
Christopher Baines
1e6b9c6e16
services: postgresql: Add a default-value to the postgresql-service-type.
* gnu/packages/databases.scm (<postgresql-configuration>)
  [config-file,data-directory]: Add default.
  (postgresql-service-type)[default-value]:
  Set to (postgresql-configuration).
2018-03-03 23:52:23 +00:00
Clément Lassieur
bdcf0e6fd4
services: messaging: Prosody config supports file-like objects.
* doc/guix.texi (Messaging Services): Update accordingly.
* gnu/services/configuration.scm (serialize-configuration,
serialize-maybe-stem, serialize-package): Return strings or string-valued
gexps (these procedures were only used for their side-effects).
* gnu/services/messaging.scm (serialize-field, serialize-field-list,
enclose-quotes, serialize-raw-content, serialize-ssl-configuration,
serialize-virtualhost-configuration-list,
serialize-int-component-configuration-list,
serialize-ext-component-configuration-list,
serialize-virtualhost-configuration, serialize-int-component-configuration,
serialize-ext-component-configuration, serialize-prosody-configuration):
Return strings or string-valued gexps and stop printing.
(prosody-activation): Use SERIALIZE-PROSODY-CONFIGURATION's return value with
MIXED-TEXT-FILE instead of using its output with PLAIN-FILE.
(serialize-non-negative-integer, serialize-non-negative-integer-list): Convert
numbers to strings.
(file-object?, serialize-file-object, file-object-list?,
serialize-file-object-list): New procedures.
(ssl-configuration)[capath, cafile], (prosody-configuration)[plugin-paths,
groups-file]: Replace FILE-NAME with FILE-OBJECT.
* guix/gexp.scm (file-like?): New exported procedure.
2018-03-03 18:21:52 +01:00
Oleg Pykhalov
e1cf4fd2d2
services: cgit: Add more configuration fields.
* gnu/services/version-control.scm (cgit-service-type): Move to separate file.
* gnu/services/cgit.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add this.
* gnu/tests/version-control.scm: Add this.
* doc/guix.texi (Cgit Service): Document this.
2018-02-28 04:40:56 +03:00
Clément Lassieur
fece75fe35
services: certbot: Allow to set a deploy hook.
* doc/guix.texi (Certificate Services): Document it.
* gnu/services/certbot.scm (<certificate-configuration>, certbot-command): Add
it.
2018-02-22 21:43:54 +01:00
Clément Lassieur
e216c797f7
services: certbot: Add verbosity.
The certificate name wasn't displayed if it wasn't being renewed.

* gnu/services/certbot.scm (certbot-command): Print certificate name before
running the associated command.
2018-02-22 21:43:54 +01:00
Clément Lassieur
a2cb2bbc0b
services: certbot: Allow to set RSA key size.
* doc/guix.texi (Certificate Services): Document it.
* gnu/services/certbot.scm (<cerbot-configuration>, certbot-command,
certbot-activation, certbot-nginx-server-configurations): Add it.
2018-02-22 21:43:54 +01:00
Clément Lassieur
c3215d2f9d
services: certbot: Associate one certificate with several domains.
* doc/guix.texi (Certificate Services): Document <certificate-configuration>,
the change from domains to certificates and the fact that their path is now
derived from their name.
* gnu/services/certbot.scm (<certificate-configuration>): Add and export it.
(certbot-configuration, certbot-command, certbot-activation,
certbot-nginx-server-configurations, certbot-service-type): Replace 'domains'
with 'certificates'.
(certbot-nginx-server-configurations): Use only one nginx-server-configuration
and use all certificate domains as the server-name.
2018-02-22 21:43:53 +01:00
Clément Lassieur
65fc1d890d
services: certbot: Get certbot to run non-interactively.
* doc/guix.texi (Certificate Services): Add email field and link to the ACME
Subscriber Agreement.
* gnu/services/certbot.scm (<certbot-configuration>, certbot-command,
certbot-activation, certbot-nginx-server-configurations): Add email field.
(certbot-command): Add '-n' and '--agree-tos' options.
(certbot-service-type): Remove default-value.
2018-02-22 21:43:53 +01:00
Clément Lassieur
c1dfcfdf58
services: certbot: Refactor certbot command.
* gnu/services/certbot.scm (certbot-renewal-jobs, certbot-activation):
Refactor common code into certbot-command.
2018-02-22 21:43:53 +01:00
Clément Lassieur
966fd7b7e9
services: certbot: Rename 'host' to 'domain'.
* doc/guix.texi (Certificate Services): Rename 'host' to 'domain'.
* gnu/services/certbot.scm (<certbot-configuration>, certbot-renewal-jobs,
certbot-activation, certbot-nginx-server-configurations,
certbot-service-type): Rename 'host' to 'domain'.
2018-02-22 21:43:53 +01:00
Clément Lassieur
301518638f
services: certbot: Fix indentation.
* gnu/services/certbot.scm (certbot-activation): Fix indentation.
2018-02-22 21:43:53 +01:00
Clément Lassieur
7ab04c17c0
services: certbot: Run certbot twice a day at a random minute.
* doc/guix.texi (Certificate Services): Document it.
* gnu/services/certbot.scm (certbot-renewal-jobs): Change job's time
specification.
2018-02-22 21:43:52 +01:00
Clément Lassieur
70cd2239a5
services: certbot: Listen on IPv6.
* gnu/services/certbot.scm (certbot-nginx-server-configurations): Listen on
IPv6 too.
2018-02-22 21:43:52 +01:00
Danny Milosavljevic
736e45a278
services: slim: Make the logged-in session show up in "w".
* gnu/services/xorg.scm (slim-shepherd-service): Use SESSREG to register X11
session.
* doc/guix.texi (slim-configuration): Document new field "sessreg".
2018-02-20 21:15:54 +01:00
Ludovic Courtès
ce0a62f6c5
services: console-font: Don't emit the IUTF8 console code.
Fixes <https://bugs.gnu.org/30505>.

* gnu/services/base.scm (unicode-start): Remove 'display' call to FD for
"\x1b%G" console code.
2018-02-19 22:04:10 +01:00
Ludovic Courtès
37084ba561
services: avahi: Publish '_workstation._tcp' by default.
This reverts to the behavior of avahi-daemon prior to Avahi 0.7 (commit
550f4509ac).

* gnu/services/avahi.scm (<avahi-configuration>)[publish-workstation?]:
New field.
(configuration-file): Honor it.
2018-02-19 00:33:34 +01:00
Ludovic Courtès
ad7a807d84
services: avahi: Read PID file from /run.
* gnu/services/avahi.scm (%avahi-activation, avahi-shepherd-service):
Use /run/avahi-daemon/ instead of /var/run/avahi-daemon/.  This was the
case since the switch to Avahi 0.7 (commit
550f4509ac).
2018-02-19 00:33:34 +01:00
Danny Milosavljevic
4e1efba42b
services: xorg: Import (ice-9 rdelim).
* gnu/services/xorg.scm (xinitrc): Import (ice-9 rdelim).
2018-02-17 02:48:00 +01:00
Danny Milosavljevic
7e0a6fac0b
services: mingetty: Move tty optionality to agetty.
Follow-up to 5a9902c8ac.

* gnu/services/base.scm (mingetty-shepherd-service): Move tty optionality check to...
(agetty-shepherd-service): ...here.
2018-02-15 12:32:18 +01:00
Danny Milosavljevic
5a9902c8ac
services: agetty: Add agetty instance to base services. Make its tty optional.
* gnu/services/base.scm (%base-services): Instantiate agetty-service.
(default-serial-port): New variable.
(agetty-shepherd-service): Make tty optional, default to the above.
* doc/guix.texi (agetty-configuration): Update "tty" documentation.
* gnu/system/install.scm (agetty-default-service): Delete variable.
(embedded-installation-os): Remove agetty-default-service instance.
Add "console" kernel-argument.
2018-02-15 12:05:21 +01:00
Ludovic Courtès
9859b5c190
gnu: nss-mdns: Update to 0.12.0.
* gnu/packages/avahi.scm (nss-mdns): Update to 0.12 + patch.
(nss-mdns-0.10.0): Remove.
* gnu/services/avahi.scm (avahi-service-type): Use NSS-MDNS again.
2018-02-15 10:16:00 +01:00
Julien Lepiller
08da664d10
gnu: Add cat-avatar-generator-service.
* gnu/services/web.scm (cat-avatar-generator-service): New variable.
* doc/guix.text (Web Services): Document it.
2018-02-14 23:18:41 +01:00
Ludovic Courtès
a68fdfea96
services: avahi: Default to nss-mdns 0.10.
This works around <https://bugs.gnu.org/30396>.
Reported by George myglc2 Clemmer <myglc2@gmail.com>.

* gnu/packages/avahi.scm (nss-mdns-0.10): New variable.
* gnu/services/avahi.scm (avahi-service-type): Use it.
2018-02-09 15:17:41 +01:00
Arun Isaac
a76acfd3f5
gnu: services: Add wesnothd service.
* gnu/services/games.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Game Services): Document the service.
2018-02-09 14:55:17 +05:30
Tobias Geerinckx-Rice
d64e1746b9
doc, gnu: Fix spelling of screen-things.
* doc/guix.texi (X Window): Write 'screen locker' and 'screen saver' in
prose.
* gnu/services/xorg.scm (screen-locker-service): Likewise.
2018-01-29 23:27:53 +01:00
Clément Lassieur
5ee4cd69c4
services: postgresql: Use pg_ctl to start and stop postgres.
Fixes <https://bugs.gnu.org/29992>.

* gnu/services/databases.scm (postgresql-shepherd-service): Replace
make-forkexec-constructor and make-kill-destructor with pg_ctl.
2018-01-25 15:49:32 +01:00
Ludovic Courtès
89a2647816
services: herd: 'with-shepherd' no longer leaves an open connection.
* gnu/services/herd.scm (with-shepherd): Use 'dynamic-wind' and close
CONNECTION at the end.
2018-01-21 00:24:03 +01:00
Ludovic Courtès
d466b1fc82
services: Missing services are automatically instantiated.
This simplifies OS configuration: users no longer need to be aware of
what a given service depends on.

See the discussion at
<https://lists.gnu.org/archive/html/guix-devel/2018-01/msg00114.html>.

* gnu/services.scm (missing-target-error): New procedure.
(service-back-edges): Use it.
(instantiate-missing-services): New procedure.
* gnu/system.scm (operating-system-services): Call
'instantiate-missing-services'.
* tests/services.scm ("instantiate-missing-services")
("instantiate-missing-services, no default value"): New tests.
* gnu/services/version-control.scm (cgit-service-type)[extensions]: Add
FCGIWRAP-SERVICE-TYPE.
* gnu/tests/version-control.scm (%cgit-os): Remove NGINX-SERVICE-TYPE
and FCGIWRAP-SERVICE-TYPE instances.
* doc/guix.texi (Log Rotation): Remove 'mcron-service-type' in example.
(Miscellaneous Services): Remove 'nginx-service-type' and
'fcgiwrap-service-type' in Cgit example.
2018-01-21 00:24:03 +01:00
Ludovic Courtès
33033a620e
services: shepherd: Make 'shepherd-configuration-file' non-monadic.
Suggested by atw on #guix.

* gnu/services/shepherd.scm (shepherd-service-file): Use 'scheme-file'
instead of 'gexp->file'.
(shepherd-configuration-file): Likewise, and adjust to non-monadic
style.
(shepherd-boot-gexp): Adjust accordingly.
* guix/scripts/system.scm (upgrade-shepherd-services): Use
'lower-object' in addition to 'shepherd-service-file'.
2018-01-21 00:24:02 +01:00
Tobias Geerinckx-Rice
162a137400
gnu: Consistently Write ‘file system(s)’.
It is the GNU way.

* doc/guix.texi (Build Systems, DNS Services): Write ‘file system(s)’.
* gnu/build/vm.scm (create-ext-file-system, create-fat-file-system):
Likewise.
* gnu/packages/backup.scm (dirvish, rsnapshot)[description]: Likewise.
* gnu/packages/check.scm (python-testpath)[description]: Likewise.
* gnu/packages/disk.scm (pydf)[description]: Likewise.
* gnu/packages/file-systems.scm (disorderfs)[synopsis, description]: Likewise.
(glusterfs)[description]: Likewise.
* gnu/packages/haskell.scm (ghc-directory, ghc-system-fileio-bootstrap)
(ghc-system-fileio)[synopsis]: Likewise.
(ghc-fsnotify)[description]: Likewise.
* gnu/packages/linux.scm (proot)[description]: Likewise.
(jmtpfs)[synopsis, description]: Likewise.
* gnu/packages/mate.scm (caja, caja-extensions)[description]: Likewise.
* gnu/packages/storage.scm (ceph)[description]: Likewise.
* gnu/packages/sync.scm (lsyncd)[description]: Likewise.
* gnu/packages/syncthing.scm (syncthing)[synopsis]: Likewise.
(go-github-com-zillode-notify)[description]: Likewise.
* gnu/services/nfs.scm (pipefs-service-type): Likewise.
* guix/scripts/system.scm (perform-action): Likewise.
2018-01-19 17:28:31 +01:00
Christopher Baines
d067e4badc
gnu: services: web: Add service for httpd.
* gnu/services/web.scm (<httpd-module>,
  <httpd-config-file>, <httpd-virtualhost>
  <httpd-configuration>): New record types.
  (%default-httpd-modules, %httpd-accounts,
  httpd-service-type): New variables.
  (httpd-shepherd-services, httpd-activation,
  httpd-process-extensions): New procedures.
* gnu/tests/web.scm (run-httpd-test): New procedure.
  (%httpd-os, %tests-httpd): New variables.
* doc/guix.texi (Web Services): Document the Apache HTTP Server.
2018-01-17 08:43:47 +00:00
Ludovic Courtès
37af37dcc9
doc: Deprecate 'bitlbee-service' procedure.
* gnu/services/messaging.scm (bitlbee-service): Mark as deprecated.
* doc/guix.texi (Messaging Services): Document 'bitlbee-service-type'
and 'bitlbee-configuration'.  Remove 'bitlbee-service'.
2018-01-15 23:29:33 +01:00
Ludovic Courtès
f2bee4210f
services: bitlbee: Move to (gnu services messaging).
* gnu/services/networking.scm (<bitlbee-configuration>)
(bitlbee-shepherd-service, %bitlbee-accounts, %bitlbee-activation)
(bitlbee-service-type, bitlbee-service): Move to...
* gnu/services/messaging.scm: ... here.
* doc/guix.texi (Networking Services): Move 'bitlbee-service' doc to...
(Messaging Services): ... here.
2018-01-15 23:29:33 +01:00
Ludovic Courtès
71b98b9de9
services: qemu-binfmt: Extend guix-daemon with extra chroot directories.
Fixes <https://bugs.gnu.org/20239>.

* gnu/services/virtualization.scm (<qemu-binfmt-configuration>)[guix-support?]:
New field.
(qemu-binfmt-guix-chroot): New procedure.
(qemu-binfmt-service-type)[extensions]: Add GUIX-SERVICE-TYPE.
* doc/guix.texi (Virtualization Services): Document 'guix-support?'.
(Additional Build Options): Mention binfmt_misc and offloading under
'--system'.
2018-01-11 14:42:31 +01:00
Ludovic Courtès
88554b5d05
services: guix: Add 'chroot-directories' field.
* gnu/services/base.scm (<guix-configuration>)[chroot-directories]: New
field.
(guix-shepherd-service): Honor it.
(references-file): New procedure.
(guix-service-type)[compose, extend]: New fields.
2018-01-11 14:30:00 +01:00
Ludovic Courtès
6738c29fbf
services: Add qemu-binfmt.
* gnu/services/virtualization.scm (<qemu-platform>): New record type.
(bv): New macro.
(%i386, %i486, %alpha, %arm, %armeb, %sparc, %sparc32plus)
(%ppc, %ppc64, %ppc64le, %m68k, %mips, %mipsel, %mipsn32el)
(%mips64, %mips64el, %sh4, %sh4eb, %s390x, %aarch64, %hppa)
(%qemu-platforms): New variables.
(lookup-qemu-platforms): New procedure.
(<qemu-binfmt-configuration>): New record type.
(qemu-platform->binfmt): New procedures.
(%binfmt-mount-point, %binfmt-register-file, %binfmt-file-system)
(qemu-binfmt-service-type): New variables.
(qemu-binfmt-shepherd-services): New procedures.
* doc/guix.texi (Virtualization Services): Add "Transparent Emulation
with QEMU" heading.

binfmt fixlet
2018-01-11 14:29:49 +01:00
宋文武
693b52df68
gnu: services: Add darkstat service.
* gnu/services/monitoring.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Monitoring Services): Document it.
2018-01-08 20:43:35 +08:00
Ludovic Courtès
f4596f7630
services: guix: Add 'log-compression' option.
* gnu/services/base.scm (<guix-configuration>)[log-compression]: New
field.
(guix-shepherd-service): Use 'match-record' instead of 'match'.  Honor
'log-compression'.
* doc/guix.texi (Base Services): Document 'log-compression'.
2018-01-08 10:40:17 +01:00
ng0
431703ffd0
gnu: services: Add MATE desktop service.
* gnu/services/desktop.scm (<mate-desktop-configuration>,
mate-desktop-service-type): New variable.
(mate-desktop-service): New public variable.

* doc/guix.texi (Desktop Services): Document the service.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2017-12-30 22:55:26 +01:00
Marius Bakke
db8ed7cee8
services: networking: Add a dependency override mechanism to <static-networking>.
* gnu/services/networking.scm (<static-networking>)[requirement]: New field.
(static-networking-shepherd-service): Don't override requirement for loopback.
(static-networking-service): Expose 'requirement' parameter.  Default to UDEV.
* gnu/services/base.scm (%base-services): Add (requirement '()) for loopback service.
* doc/guix.texi (Networking Services): Document it.
2017-12-29 14:06:26 +01:00
Tobias Geerinckx-Rice
7459cb9305
services: messaging: Use HTTPS for prosody.im URLs.
* gnu/services/messaging.scm (prosody-configuration): Use HTTPS whenever
referring to prosody.im URLs in documentation.
* doc/guix.texi (Messaging Services): Likewise.
2017-12-24 16:12:12 +01:00
Tobias Geerinckx-Rice
28c03b4555
gnu: dovecot: Update to 2.3.0.
* gnu/packages/mail.scm (dovecot): Update to 2.3.0.
* gnu/services/mail.scm (dovecot-configuration)[director-doveadm-port]
[ssl-parameters-regenerate]: Delete fields.
[ssl-protocols]: Rename to...
[ssl-min-protocol]: ...this.
[mail-log-prefix, mdbox-rotate-size, ssl-cipher-list, imap-logout-format]:
Update default values.
* doc/guix.texi (Mail Services): Reflect the above changes to the service.
2017-12-23 07:11:14 +01:00
Ludovic Courtès
4a32f58aa1
services: urandom-seed: Depend on udev.
Suggested by Leo Famulari <leo@famulari.name>.

* gnu/services/base.scm (urandom-seed-shepherd-service): Add 'udev' to
'requirement'.
2017-12-22 08:56:50 +01:00
Ludovic Courtès
8faaf8d7cc
services: urandom-seed: Deprecate the 'urandom-seed-service' procedure.
* gnu/services/base.scm (urandom-seed-service-type)[default-value]: New
field.
(urandom-seed-service): Mark as deprecated.
(%base-services): Use URANDOM-SEED-SERVICE-TYPE directly.
* gnu/services/base.scm (%base-services):
* doc/guix.texi (Base Services): Document 'urandom-seed-service-type'
instead of 'urandom-seed-service'.
2017-12-22 08:56:50 +01:00
Ludovic Courtès
4e9fd50857
services: urandom-seed: Become a dependency of 'user-processes'.
This ensures that 'urandom-seed' is started before programs that rely on
sources of randomness.

Fixes <https://bugs.gnu.org/29773>.
Reported by Leo Famulari <leo@famulari.name>.

* gnu/services/base.scm (urandom-seed-shepherd-service): Change
'requirement' to (file-systems).
(urandom-seed-service-type): Extend USER-PROCESSES-SERVICE-TYPE.
2017-12-22 08:56:50 +01:00
Ludovic Courtès
206a28d84a
services: 'user-processes-service-type' can now be extended.
* gnu/services/base.scm (user-processes-shepherd-service): New
procedure, taken from former 'user-processes-service-type'.  Add
REQUIREMENTS argument; remove GRACE-DELAY argument.
(user-processes-service-type): Redefine in terms of 'service-type'.
(user-processes-service): Remove.
(file-system-service-type): Extend USER-PROCESSES-SERVICE-TYPE.
* gnu/system.scm (essential-services): Use USER-PROCESSES-SERVICE-TYPE
directly.
2017-12-22 08:56:50 +01:00
Leo Famulari
9a56cf2b5b
services: urandom-seed: Try using a HWRNG to seed the Linux CRNG at boot.
* gnu/services/base.scm (urandom-seed-shepherd-service): Try to read from
'/dev/hwrng' at boot, as a supplement to any saved random seed.
* doc/guix.texi (Base Services): Document the new feature.
2017-12-19 11:31:24 -05:00
Clément Lassieur
b05e8ee120
services: nginx: Allow to add raw content to the server blocks.
* doc/guix.texi (Web Services): Document 'raw-content'.
* gnu/services/web.scm (<nginx-server-configuration>)[raw-content]: New field.
(emit-nginx-server-config): Add it.
2017-12-18 12:03:14 +01:00
Clément Lassieur
8b223ceac4
services: nginx: Replace 'http-port' and 'https-port' with 'listen'.
* doc/guix.texi (Web Services, Version Control Services): Update accordingly.
* gnu/services/certbot.scm (certbot-nginx-server-configurations): Likewise.
* gnu/services/version-control.scm (%cgit-configuration-nginx): Likewise.
* gnu/services/web.scm (<nginx-server-configuration>,
emit-nginx-server-config): Likewise.
* gnu/tests/version-control.scm (%cgit-configuration-nginx,
%git-nginx-configuration): Likewise.
* gnu/tests/web.scm (%nginx-servers, %php-fpm-nginx-server-blocks): Likewise.
2017-12-18 12:03:14 +01:00
Christopher Baines
e8a051ee7c
services: certbot: Fix certbot renewal job.
Quote the list of hosts, to avoid generating a broken job definition.

* gnu/services/certbot.scm (certbot-renewal-jobs): Quote the hosts when
  passing them in to the job gexp.
2017-12-17 20:37:12 +00:00
Danny Milosavljevic
86e6b4c931
services: base: Use make-static-device-nodes.
Fixes <https://bugs.gnu.org/22050>.

* gnu/services/base.scm (udev-shepherd-service): Use make-static-device-nodes.
2017-12-16 07:33:12 +01:00
nee
64bae7237c
gnu: services: Add php-fpm.
* gnu/services/web.scm (<php-fpm-configuration>,
  <php-fpm-process-manager-configuration>): New record types.
  (php-fpm-configuration?,
   php-fpm-process-manager-configuration?,
   php-fpm-service-type,
   nginx-php-location): New procedures.
* doc/guix.texi (Web-Services): Document php-fpm service.
* gnu/tests/web.scm: Add php-fpm system test.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-12-12 21:29:39 +00:00
Christopher Baines
472368a8ac
services: web: Switch nginx related functions to use match-record.
As this is less prone to mistakes than match.

* gnu/services/web.scm (default-nginx-config, nginx-activation,
  nginx-shepherd-service): Switch from using match-lambda to match-record.
2017-12-11 20:57:41 +00:00
Christopher Baines
2881f85220
services: web: Add support for configuring the nginx server names hash.
The nginx service can fail to start if the server names hash bucket size is
too small, which can happen on some systems, and when using QEMU, depending on
the CPU.

* gnu/services/web.scm (<nginx-configuration>): Add
  server-names-hash-bucket-size and server-names-hash-bucket-max-size.
  (default-nginx-config): Add support for the new hash bucket size parameters.
  (nginx-service, nginx-activation): Pass the new hash bucket size parameters
  through to the default-nginx-config procedure.
* doc/guix.texi (Web Services): Document the new hash bucket size parameters.
2017-12-11 20:57:34 +00:00
Christopher Baines
c48aa70a9a
services: web: Remove default certificate and key files for nginx.
If nginx is configured with a ssl-certificate file, and ssl-certificate-key,
it will fail to start unless these exist. To avoid this happening, change the
default to #f.

* gnu/services/web.scm (<nginx-server-configuration>)
  [ssl-certificate,ssl-certificate-key]: Set the defaults to #f.
* gnu/tests/web.scm (%nginx-servers): Remove redundant
  nginx-server-configuration fields.
* doc/guix.texi (Web Services): Update examples and documentation.
2017-12-11 20:36:43 +00:00
Christopher Baines
b7db2c63ed
web: Don't error about missing ssl related files.
Erroring here prevents doing things like building a system using nginx on a
different machine from where it's intended to be deployed, or creating
containers and VMs that use the ssl-certificate parts of the nginx
configuration, without also getting these files to exist.

* gnu/services/web.scm (emit-nginx-server-config): Don't error on missing ssl
  related files.
2017-12-11 20:36:35 +00:00
Ludovic Courtès
787e8a80d5
services: console-font: Use 'tcsetattr' instead of invoking 'unicode_start'.
This is more robust, faster, and incidentally gets rid of remaining
"error in the finalization thread: Bad file descriptor" messages.

* gnu/services/base.scm (unicode-start): Rewrite to use 'tcgetattr' and
'tcsetattr'.
(console-font-shepherd-services)[start]: Add 'loop' to check whether
DEVICE is ready.  Tolerate EX_OSERR return from 'setfont'.
[modules]: New field.
2017-12-06 08:52:31 +01:00
Ludovic Courtès
aab322d909
install: Don't start sshd by default.
Reported by Christopher Baines <mail@cbaines.net>
at <https://lists.gnu.org/archive/html/guix-devel/2017-12/msg00058.html>.

* gnu/services/ssh.scm (<openssh-configuration>)[%auto-start?]: New
field.
(openssh-shepherd-service): Honor it.
* gnu/system/install.scm (%installation-services): Set '%auto-start?' to
 #f for openssh-service-type.
2017-12-04 23:31:15 +01:00
Ludovic Courtès
be5622e7f1
maint: Add 'berlin.guixsd.org.pub'.
* bayfront.guixsd.org.pub: Rename to...
* berlin.guixsd.org.pub: ... this.
* Makefile.am (dist_pkgdata_DATA): Adjust accordingly.
* gnu/services/base.scm (%default-authorized-guix-keys): Likewise.
2017-12-04 17:57:37 +01:00
Ludovic Courtès
617e87bff1
services: xorg: Properly handle the case where ~/.xession is used.
Fixes a regression introduced in
65c0f43649 in the case where users provide
~/.xsession and SESSION is #f.

* gnu/services/xorg.scm (xinitrc): In the XSESSION-FILE case, check
whether SESSION is #f.
2017-12-04 10:36:48 +01:00
Ludovic Courtès
4afc903a8c
services: xorg: Add 'font-misc-misc' to the default font set.
Fixes <https://bugs.gnu.org/24279>.
Reported by John Darrington <john@darrington.wattle.id.au>.

* gnu/services/xorg.scm (%default-xorg-fonts): Add FONT-MISC-MISC.
2017-12-01 16:00:14 +01:00
Ludovic Courtès
3af03e5967
services: certbot: Add default value and description.
* gnu/services/certbot.scm (certbot-service-type)
[default-value, description]: New fields.
* po/packages/POTFILES.in: Add it.
2017-11-28 23:34:25 +01:00
Ludovic Courtès
a222b734b3
services: cgit, git-daemon: Add description and default value.
* gnu/services/version-control.scm (git-daemon-service-type)
[description, default-value]: New fields.
(cgit-service-type)[default-value]: New field.
* po/packages/POTFILES.in: Add version-control.scm.
2017-11-28 23:34:25 +01:00
Andy Wingo
410349347a
services: Add Git HTTP(S) service support.
* doc/guix.texi (Version Control Services): Add documentation on the HTTP
backend for git.
* gnu/services/version-control.scm (<git-http-configuration>): New data type.
(git-http-nginx-location-configuration): New helper function.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-11-28 23:34:25 +01:00
Andy Wingo
1115f14017
services: Add certbot service.
* gnu/services/certbot.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add new file.
* doc/guix.texi (Certificate Services): New section.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-11-28 23:34:24 +01:00
Ludovic Courtès
65c0f43649
services: xorg: Remove WindowMaker as a default fallback.
* gnu/services/xorg.scm (xinitrc)[builder](system-profile)
(user-profile): New variables.
(xsession-command, find-session): New procedures.
When FALLBACK-SESSION is #f, find a valid session at run time.
* doc/guix.texi (X Window): Adjust accordingly, and insist that one
or more window managers must be installed.
2017-11-28 11:24:46 +01:00
Ludovic Courtès
b37f86d7a3
services: xorg: Document 'slim-configuration' and deprecate 'slim-service'.
* gnu/services/xorg.scm (<slim-configuration>): Provide default values
for all fields.
(slim-service-type)[default-value]: New field.
* doc/guix.texi (X Window): Remove 'slim-service' documentation.
Document 'slim-service-type' and 'slim-configuration'.
* gnu/services/desktop.scm (%desktop-services): Use 'slim-service-type'.
2017-11-28 11:24:45 +01:00
Ludovic Courtès
94b9abd942
services: slim: Remove unused 'bash' configuration field.
* gnu/services/xorg.scm (<slim-configuration>)[bash]: Remove.
(slim-service): Adjust accordingly.
2017-11-28 11:14:25 +01:00
Ludovic Courtès
d344f5a528
services: xorg: Allow users to specify a list of modules.
* gnu/services/xorg.scm (%default-xorg-fonts): New variable.
(xorg-configuration-file): Add #:modules and #:fonts.  Rewrite to return
a 'computed-file' that honors MODULES and FONTS.
(xorg-wrapper): Pass #:modules to 'xorg-configuration-file'.
(xorg-start-command): Add #:fonts.  Pass #:fonts and #:modules to
'xorg-configuration-file'.
* doc/guix.texi (X Window): Adjust documentation of 'xorg-start-command'
and 'xorg-configuration-file'.
2017-11-28 10:46:03 +01:00
Clément Lassieur
19ff1f2687
services: configuration: Show default values of list types.
* doc/guix.texi (Messaging Services): Regenerate it.
* gnu/services/configuration.scm (show-default?): Check VAL rather than DEFAULT.
* gnu/services/messaging.scm (show-default?): Check VAL rather than DEFAULT.
(prosody-configuration)[modules-enabled]: Remove default value from docstring.
2017-11-28 03:49:47 +01:00
Christopher Baines
5823396404
services: desktop: Create /var/run/udisks2 for the udisks service.
* gnu/services/desktop.scm (%udisks-activation): New variable.
  (udisks-service-type)[extensions]: Extend the activation service type with
  %udisks-activation.
2017-11-27 19:41:13 +00:00
Clément Lassieur
e30038dae1
services: prosody: Add support for disable-sasl-mechanisms.
* doc/guix.texi (Messaging Services): Update accordingly.
* gnu/services/messaging.scm (prosody-configuration)[disable-sasl-mechanisms]:
New field.
2017-11-26 15:30:57 +01:00
Clément Lassieur
274b9500d1
services: prosody: Allow to add raw content to the config file.
* doc/guix.texi (Messaging Services): Update accordingly.
* gnu/services/messaging.scm (prosody-configuration)[raw-content]: New field.
(raw-content?, serialize-raw-content): New procedures.
2017-11-26 15:30:57 +01:00
Clément Lassieur
1f6f1a07c8
services: prosody: Add support for http-max-content-size.
* doc/guix.texi (Messaging Services): Update accordingly.
* gnu/services/messaging.scm (prosody-configuration)[http-max-content-size]:
New field.
2017-11-26 15:30:57 +01:00
Clément Lassieur
f59de6bea9
services: prosody: Add support for http-external-url.
* doc/guix.texi (Messaging Services): Update accordingly.
* gnu/services/messaging.scm (prosody-configuration)[http-external-url]: New
field.
2017-11-26 15:30:56 +01:00
Clément Lassieur
5cc6dcd734
services: prosody: Adapt to Prosody 0.10.0.
* doc/guix.texi (Messaging Services): Add "mam" as a module example.  Document
'prosodyctl check'.  Replace 'prosodyctl cert request' with 'prosodyctl cert
import'.  Regenerate it.
* gnu/services/messaging.scm (serialize-module-list): Remove "posix" from the
default modules list because it is now automatically loaded.
(ssl-configuration)[key, certificate]: Remove them because they are now
automatically located.  Fix their docstrings.
(%default-modules-enabled): Add "carbons" and "blocklist".
(prosody-configuration)[certificates]: Set default directory from which
certificates/keys will be automatically located.
2017-11-26 15:30:56 +01:00
Ludovic Courtès
9e549ad1c3
services: dicod: Run in a container.
* gnu/services/dict.scm (dicod-shepherd-service): Add
'with-imported-modules' form and 'modules' field.  Use
'make-forkexec-constructor/container' instead of
'make-forkexec-constructor'.
2017-11-22 23:16:01 +01:00
Ludovic Courtès
a0fea77dbb
services: guix: Remove dependency on 'lsof'.
This is a followup to b8f59cdc20:
'list-runtime-roots' no longer depends on 'lsof'.

* gnu/services/base.scm (<guix-configuration>)[lsof]: Remove.
(guix-shepherd-service): Adjust accordingly.
* doc/guix.texi (Base Services): Adjust accordingly.
* gnu/system.scm (%base-packages): Remove LSOF.
2017-11-13 11:36:28 +01:00
Hartmut Goebel
0af94ad52f
gnu: service: Update comment.
* gnu/services/base.scm (guix-activation): Update comment.
2017-11-08 18:23:06 +01:00
Timothy Sample
3eda8dd614
services: gdm: Add environment variables.
While not an optimal solution (see comment), this makes GDM functional.

* gnu/services/xorg.scm (gdm-shepherd-service): Set PATH and XDG_DATA_DIRS
environment variables.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-11-07 18:09:13 +01:00
Ludovic Courtès
21b71b01e9
services: Add 'description' fields.
* gnu/services/admin.scm (rottlog-service-type)
(tailon-service-type): Add 'description' field.
* gnu/services/audio.scm (mpd-service-type): Likewise.
* gnu/services/avahi.scm (avahi-service-type): Likewise.
* gnu/services/ssh.scm (lsh-service-type)
(openssh-service-type, dropbear-service-type): Likewise.
2017-11-05 15:29:52 +01:00
nee
b6d2930d1f
services: Add murmur.
* gnu/services/telephony.scm: New file.
* gnu/local.mk: Add it.
* doc/guix.texi (Telephony Services): New node.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-11-05 15:21:53 +01:00
Maxim Cournoyer
6e644cfdb3
services: base: Add file->udev-rule function.
This function allows passing a file-like object to the udev service.

* gnu/services/base.scm (file->udev-rule): New function.
* doc/guix.texi (Base Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-10-22 22:09:00 -07:00
Ludovic Courtès
b27ce4164a
services: gnome: Register more polkit actions.
This should allow more operations such as changing the system date and
time via the Control Center (reported at
<https://lists.gnu.org/archive/html/help-guix/2016-09/msg00059.html>),
performing "file operations" via gvfs, and interacting with processes
using the System Monitor.

* gnu/services/desktop.scm (gnome-polkit-settings): New procedure.
(gnome-desktop-service-type): Use it in POLKIT-SERVICE-TYPE extension.
2017-10-11 23:00:46 +02:00
Ludovic Courtès
1c65cca574
file-systems: 'mount-file-system' now takes a <file-system> object.
* gnu/build/file-systems.scm (mount-file-system): Rename 'spec' to 'fs'
and assume it's a <file-system>.
* gnu/build/linux-boot.scm (boot-system): Assume MOUNTS is a list of
<file-system> and adjust accordingly.
* gnu/build/linux-container.scm (mount-file-systems): Remove
'file-system->spec' call.
* gnu/services/base.scm (file-system-shepherd-service): Add
'spec->file-system' call.  Add (gnu system file-systems) to 'modules'.
* gnu/system/linux-initrd.scm (raw-initrd): Use (gnu system
file-systems).  Add 'spec->file-system' call for #:mounts.
2017-10-11 11:12:33 +02:00
Julien Lepiller
4b8b4418e6
services: vpn: Fix default tls-auth configuration.
* gnu/services/vpn.scm (serialize-tls-auth): Fix serialization error when
tls-auth is disabled.
2017-10-10 22:06:08 +02:00
Ludovic Courtès
60273031e8
services: Remove unneeded imported.
This caused a circular dependency.
Reported by Oleg Pykhalov <go.wigust@gmail.com>
at <https://lists.gnu.org/archive/html/help-guix/2017-10/msg00021.html>.

* gnu/services/networking.scm: Remove unneeded import of (gnu system
base).
2017-10-08 17:43:51 +02:00
Christopher Baines
5266ff719e
services: Add MongoDB.
* gnu/services/databases.scm (%default-mongodb-configuration-file,
  %mongodb-accounts, mongodb-service-type): New variables.
  (<mongodb-configuration>): New record type.
  (mongodb-activation, mongodb-shepherd-service): New procedures.
* gnu/tests/databases.scm (%test-mongodb): New variable.
* doc/guix.texi (Database Services): Add MongoDB documentation.
2017-10-06 21:24:30 +01:00
Oleg Pykhalov
032a2760ee
gnu: services: Add cgit.
* gnu/services/version-control.scm
(<cgit-configuration-file>, <cgit-configuration>): New record types.
(cgit-configuration-robots-string, cgit-activation,
cgit-configuration-nginx-config): New procedures.
(%cgit-configuration-nginx, cgit-service-type): New variables.
* gnu/tests/version-control.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Version Control): Document the cgit service.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-10-03 17:07:54 +02:00
Oleg Pykhalov
4d14808af4
services: web: Add try-files for the nginx-service-type.
* gnu/services/web.scm (<nginx-server-configuration>): Add
  nginx-server-configuration-try-files.
(emit-nginx-server-config): Use it.
* doc/guix.texi (Web Services): Document it.
2017-09-28 20:37:40 +02:00
Jan Nieuwenhuizen
326f6ef10f
services: cuirass: Add host option.
* gnu/services/cuirass.scm (<cuirass-configuration>): Add host option.
(cuirass-shepherd-service): Pass host option.
* doc/guix.texi (Continuous Integration): Document it.
2017-09-26 18:15:41 +02:00
Oleg Pykhalov
9db7e9be59
gnu: Add rsync service.
* doc/guix.texi (Networking Services): Add rsync service documentation.
* gnu/services/rsync.scm (<rsync-configuration>): New file.
* gnu/tests/rsync.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add new files.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-09-23 21:07:27 +01:00
Ludovic Courtès
94d2a25091
services: network-manager: Add support for VPN plug-ins.
* gnu/services.scm (directory-union): Export.
* gnu/services/networking.scm (<network-manager-configuration>)[vpn-plugins]:
New field.
(vpn-plugin-directory, network-manager-environment): New procedure.
(network-manager-shepherd-service): Pass #:environment-variables to
'make-forkexec-constructor'.
(network-manager-service-type): Add SESSION-ENVIRONMENT-SERVICE-TYPE
extension.
* doc/guix.texi (Networking Services): Document it.
2017-09-22 00:05:08 +02:00
Ludovic Courtès
fbc31dc124
services: Move 'session-environment-service-type' to pam.scm.
* gnu/services/base.scm (environment-variables->environment-file)
(session-environment-service-type)
(session-environment-service): Move to...
* gnu/system/pam.scm: ... here.
2017-09-22 00:05:08 +02:00
Andy Wingo
23290064c2
gnu: services: Add modesetting driver to xorg configuration path.
* gnu/services/xorg.scm (xorg-configuration-file): Add drivers path from
  xorg-server.  This includes the modesetting driver.

Signed-off-by: Andy Wingo <wingo@igalia.com>
2017-09-20 15:40:31 +02:00
Ludovic Courtès
3f0de257c4
services: networking: Add descriptions.
* gnu/services/networking.scm (static-networking-service-type)
(ntp-service-type, inetd-service-type, tor-service-type)
(tor-hidden-service-type, bitlbee-service-type)
(wicd-service-type, network-manager-service-type)
(connman-service-type, openvswitch-service-type): Add 'description'
field.
* po/packages/POTFILES.in: Add gnu/services/networking.scm.
2017-09-16 17:47:46 +02:00
Ludovic Courtès
6b9e1fefa4
services: base: Add descriptions.
* gnu/services/base.scm (fstab-service-type)
(file-system-service-type, urandom-seed-service-type)
(session-environment-service-type)
(console-font-service-type)
(login-service-type, agetty-service-type)
(mingetty-service-type, nscd-service-type)
(pam-limits-service-type, guix-service-type)
(guix-publish-service-type, udev-service-type)
(gpm-service-type): Add 'description' field.
* po/packages/POTFILES.in: Add gnu/services/base.scm.
2017-09-16 17:47:46 +02:00
Jan Nieuwenhuizen
1c05aab473
gnu: cuirrass: Default port to 8081.
* gnu/services/cuirass.scm (<cuirass-configuration>): Default port to 8081.
  Fixes conflict with guix-publish default.
* doc/guix.texi (Continuous Integration): Update.
2017-09-13 18:33:46 +02:00
Ludovic Courtès
d1ff5f9db3
services: file-system: Use 'file-system->spec'.
* gnu/services/base.scm (file-system-shepherd-service): Use
'file-system->spec' instead of in-line code.
2017-09-11 22:24:46 +02:00
Ludovic Courtès
943e1b975f
services: base: Import the closure of (gnu build file-systems).
* gnu/services/base.scm (file-system-shepherd-service): Use
'source-module-closure' in the 'with-imported-modules' form.
2017-09-11 22:24:46 +02:00
Ludovic Courtès
cf42428a4a
services: elogind: Add default value.
* gnu/services/desktop.scm (elogind-service-type)[default-value]: New
field.
2017-09-08 00:11:21 +02:00
Tobias Geerinckx-Rice
352a5b639b
services: web: Fix nginx-service-type's ‘file’ procedure.
* gnu/services/web.scm (nginx-activation, nginx-shepherd-service): Replace
references to non-existent ‘config-file’ with ‘file’.
* doc/guix.texi (Web Services): Likewise.
2017-09-05 20:57:14 +02:00
Maxim Cournoyer
b9f67d6dda
services: Add auto-enable? parameter to the bluetooth-service.
* gnu/services/desktop.scm (bluetooth-configuration): New record.
(bluetooth-shepherd-service): Use it.
(bluetooth-directory): New method.
(bluetooth-service-type): Use it to extend the etc-service-type service.
(bluetooth-service): Add `auto-enable?' parameter.
* doc/guix.texi (Desktop Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-09-04 15:41:24 +02:00
Ludovic Courtès
4110fbc6dd
services: '%desktop-services' uses NetworkManager instead of Wicd.
Discussed at
<https://lists.gnu.org/archive/html/guix-devel/2017-08/msg00277.html>.

* gnu/services/desktop.scm (%desktop-services): Remove call to
'wicd-service'.  Add instances of NETWORK-MANAGER-SERVICE-TYPE and
WPA-SUPPLICANT-SERVICE-TYPE.
* doc/guix.texi (Networking Services): Document
'network-manager-service-type' as being part of '%desktop-services'.
(Desktop Services): Replace Wicd with NM.
2017-09-03 00:52:17 +02:00
Peter Mikkelsen
b6dc69af1d
services: mpd: Remove the mpd-file field.
Since MPD switches user, the pid-file must be in a writable dir.  This
is now always /var/run/mpd/(user)/pid.

* gnu/services/audio.scm (mpd-service-type): Add a activation-service
extension.
(<mpd-configuration>)[pid-file]: Remove.
(mpd-service): Rename to...
(mpd-shepherd-service): ... this.
(mpd-file-name, mpd-service-activation): New procedure.
* doc/guix.texi (Audio Services): Document the changes.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-08-31 14:43:26 +02:00
Ludovic Courtès
7f090203d5
services: user-processes: Reap child processes.
Fixes <http://bugs.gnu.org/26931>.
Reported by Leo Famulari <leo@famulari.name>.

* gnu/services/base.scm (user-processes-service-type)[stop]: Add
'reap-children' loop.
* gnu/tests/base.scm (run-halt-test): New procedure.
(%test-halt): New variable.
2017-08-28 09:56:33 +02:00
Andy Wingo
6e99c01b4d
gnu: Add draft of gdm service.
* gnu/services/xorg.scm (%gdm-accounts, <gdm-configuration>)
(gdm-etc-service, gdm-pam-service, gdm-shepherd-service, gdm-service-programs)
(gdm-service-type, gdm-service): New public variables.  Not yet working.
2017-08-25 16:01:56 +02:00
Andy Wingo
b6d8066d4d
gnu: services: Log debug messages to /var/log/debug.
* gnu/services/base.scm (%default-syslog.conf): Create a /var/log/debug with
  messages logged to syslog at debug level.
2017-08-25 16:01:56 +02:00
Andy Wingo
92753a8bad
gnu: services: Refactor to separate X and startx wrappers.
* gnu/services/xorg.scm (xorg-wrapper): New public function.
(xorg-start-command): Use xorg-wrapper.
2017-08-25 16:01:56 +02:00
Andy Wingo
063c608261
gnu: Add AccountsService service to desktop services.
* doc/guix.texi (Desktop Services): Add accountsservice-service.
* gnu/services/desktop.scm (%accountsservice-activation):
(accountsservice-service-type): New public variables.
(%desktop-services): Add accountsservice-service.
2017-08-25 16:01:56 +02:00
Ryan Moe
e6051057ab
services: Add libvirt services
* gnu/services/virtualization.scm: New file.
* doc/guix.texi (Virtualization Services): Document it.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-08-23 12:47:24 +01:00
Ludovic Courtès
7d14082d56
services: herd: Actions return a list of results.
Fixes a regression introduced in
0642838b2e.

* gnu/services/herd.scm (invoke-action): Explain that we get a list of
results.
(current-services): Expect a list of result and use the first one.
(unload-service, %load-file, eval-there): Likewise.
2017-08-23 00:29:22 +02:00
Christopher Baines
39fc3004be
web: Remove the nginx-service procedure.
Now that the service-type has a default value, and configuration record is
accessible.

* gnu/services/web.scm (nginx-service): Remove procedure.
* doc/guix.texi (Web Services): Update and improve NGinx documentation.
2017-08-22 17:49:05 +01:00
Christopher Baines
ad4cc435e8
web: Add default-value for the nginx-service-type.
* gnu/services/web.scm (nginx-service-type)[default-value]:
  Use (nginx-configuration).
2017-08-22 17:49:00 +01:00
Christopher Baines
e4b729f89c
web: Export more nginx related procedures, macros and record types.
This makes it possible to work with the configuration of the NGinx service
programatically.

* gnu/services/web.scm (<nginx-configuration>, <nginx-server-configuration>,
  <nginx-upstream-configuration>, <nginx-location-configuration>,
  <nginx-named-location-configuration>): Export NGinx related record
  types.
  (nginx-configuration-*, nginx-server-configuration-*,
  nginx-upstream-configuration-*, nginx-location-configuration-*,
  nginx-named-location-configuration-*): Export NGinx related record
  procedures.
  (nginx-configuration): Export NGinx related record macro.
2017-08-22 17:48:54 +01:00
Christopher Baines
f2d7a492df
web: Check for the existance of SSL related files.
This adds back the previous behaviour of the nginx-service-type, where the
service would check at the time when the configuration is generated if the SSL
certificate and certificate key file exists.

* gnu/services/web.scm (emit-nginx-server-config): Add back check for SSL
  related files.
2017-08-17 18:32:27 +01:00
Andy Wingo
c9aa261be4
gnu: services: Nginx configs can reference store
* gnu/services/web.scm (config-domain-strings, config-index-strings): Emit
lists instead of strings.
(emit-nginx-location-config, emit-nginx-server-config)
(emit-nginx-upstream-config): Rename from nginx-location-config,
default-nginx-server-config, and nginx-upstream-config.  Emit lists instead of
strings.
(flatten): New helper.
(default-nginx-config): Use flatten helper to write nginx conf.  This allows
location configs to reference store values.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-08-17 18:32:23 +01:00
Christopher Baines
6230e155af
gnu: Fix memcached service startup.
Memcached changes to the memcached user from root before writing the PID
file. This means that it must be able to write the PID file as the memcached
user.

To make this work, create the /var/run/memcached directory when the service
starts, make it owned by memcached, and change memcached to write the PID file
to /var/run/memcached/pid.

This wasn't picked up by the system test as the "service running" part was too
permissive, and only failed on an error. Instead, test the response from
calling start-service and check that the PID is a number.

* gnu/services/databases.scm (memcached-activation): New variable.
  (memcached-shepherd-service): Change PID file location.
  (memcached-service-type): Extend the activation-service-type.
* gnu/tests/databases.scm (run-memcached-test)[test]: Change the "service
  running" test to check the response from the shepherd.
2017-08-15 22:24:15 +01:00
Peter Mikkelsen
06465d2ba4
gnu: Add mpd service.
* doc/guix.texi: Add documentation.
* gnu/services/audio.scm (<mpd-configuration>): New record type.
  (mpd-service-type): New service type.
* gnu/tests/audio.scm: New file.
* gnu/local.mk: Add new files.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-08-13 07:36:32 +01:00
Christopher Baines
1012056625
services: admin: Simplify the handling of the Tailon debug? option.
* gnu/services/admin.scm (tailon-configuration-file-compiler): Simplify the
  handling of debug?.
2017-08-09 23:50:35 +01:00
Christopher Baines
91fdc8a574
services: Update the Tailon service for Tailon 1.3.0.
Tailon 1.3.0 (upgraded from 1.1.1) adds support for HTTP authentication.

* gnu/services/admin.scm (<tailon-configuration-file>): Add http-auth and
  users configuration values.
  (tailon-configuration-file-http-auth, tailon-configuration-file-users): New
  procedures.
  (tailon-configuration-file-compiler): Add support for the http-auth and
  users configuration options.
* doc/guix.texi (Monitoring Services): Document authentication for Tailon.
2017-08-09 23:50:31 +01:00
Christopher Baines
f2d8e7f720
services: Add missing wrap-lines option to tailon.
* gnu/services/admin.scm (<tailon-configuration-file>): Add wrap-lines.
  (tailon-configuration-wrap-lines): New procedure.
  (tailon-configuration-file-compiler): Add support for wrap-lines.
* doc/guix.texi (Monitoring Services): Document the wrap-lines Tailon
  configuration option.
2017-08-09 23:50:27 +01:00
Christopher Baines
0642838b2e
services: herd: Add a stop-service procedure.
* gnu/services/herd.scm (stop-service): New procedure.
2017-08-08 20:49:08 +01:00
Christopher Baines
dc7b3e5633
services: herd: Fix matching ok responses from shepherd service.
Previously the match expression case for a successful response
(where error is #f) required that the result component contained a list with a
single element.

As far as I see when looking at the responses from the shepherd, this is not
normally the case. Therefore, to avoid treating successful responses as
errors, make the match requirement more permissive, accepting any value.

* gnu/services/herd.scm (invoke-action): Change match condition for ok responses.
2017-08-08 20:48:53 +01:00
Leo Famulari
57f57a7bbf
services: ntp: Use the NTP pool via the 'guix' zone.
* gnu/services/networking.scm (%ntp-servers): Use *.guix.pool.ntp.org.
2017-07-30 20:21:36 -04:00
Ludovic Courtès
1398a43816
services: openssh: Extensions provide extra authorized keys.
* gnu/services/ssh.scm (extend-openssh-authorized-keys): New procedure.
(openssh-service-type)[compose, extend]: New fields.
* doc/guix.texi (Networking Services): Document the extension.
2017-07-30 16:23:19 +02:00
Ludovic Courtès
4892eb7c6a
services: openssh: Add 'authorized-keys' field.
* gnu/services/ssh.scm (<openssh-configuration>)[authorized-keys]: New
field.
(authorized-key-directory): New procedure.
(openssh-config-file): Honor 'authorized-keys'.
(openssh-activation): Use 'with-imported-modules'.  Make /etc/ssh
755.  Create /etc/ssh/authorized_keys.d.
* doc/guix.texi (Networking Services): Document it.
2017-07-30 16:23:19 +02:00
Ludovic Courtès
75bddb13eb
services: cuirass: Set 'GIT_SSL_CAINFO' and 'GIT_EXEC_PATH'.
Reported by Ricardo Wurmus.

* gnu/services/cuirass.scm (cuirass-shepherd-service): Pass
 #:environment-variables.
2017-07-30 16:23:19 +02:00
Christopher Baines
119fdd0d0e
services: Add memcached.
* gnu/services/databases.scm (memcached-service-type, %memcached-accounts):
  New variables.
  (<memcached-configuration>): New record type.
  (memcached-service-type): New procedures.
* gnu/tests/databases.scm: New file.
* doc/guix.texi (Database Services): Document the new memcached service.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add entry for tests/databases.scm.
2017-07-30 09:08:30 +01:00
Christopher Baines
730ed6ec8b
gnu: services: admin: Add tailon.
* gnu/services/admin.scm
  (<tailon-configuration>, <tailon-configuration-file>): New record types.
  (tailon-configuration-files-string, tailon-shepherd-service): New
  procedures.
  (%tailon-accounts, tailon-service-type: New variables.
* doc/guix.texi (Monitoring Services: Document the Tailon service.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add gnu/tests/admin.scm.
* gnu/tests/admin.scm: New file.
2017-07-29 12:45:03 +01:00
Ludovic Courtès
412701b0e5
services: guix-publish: Run in a UTF-8 locale.
Works around <https://bugs.gnu.org/26948>.

* gnu/services/base.scm (guix-publish-shepherd-service): Pass
  #:environment-variables to 'make-forkexec-constructor'.
2017-07-27 14:51:03 +02:00
Andy Wingo
a5130d10fa
gnu: Add fcgiwrap service.
* doc/guix.texi (Web Services): Add documentation.
* gnu/services/web.scm (<fcgiwrap-configuration>): New record type.
(fcgiwrap-accounts, fcgiwrap-shepherd-service): New service extensions.
(fcgiwrap-service-type): New service type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-07-26 11:00:04 +02:00
Mathieu Othacehe
c800fd564b
services: cuirass: Add fallback parameter.
* gnu/services/cuirass.scm (<cuirass-configuration>)[fallback?]: New field.
(cuirass-shepherd-service): Take it into account.
* doc/guix.texi (Continuous Integration): Document it.
2017-07-21 21:46:47 +02:00
宋文武
172b3e2cc2
services: sysctl: Fix typo.
* gnu/services/sysctl.scm: Fix typo of 'make-sysctl-configuration'.
2017-07-18 20:16:03 +08:00
Ludovic Courtès
94a881178a
services: elogind: Start from the Shepherd.
Fixes <http://bugs.gnu.org/27580>.
Reported by William <w@vieta.uk>.

* gnu/services/desktop.scm (elogind-shepherd-service): New procedure.
(elogind-service-type): Extend SHEPHERD-ROOT-SERVICE-TYPE.
2017-07-11 11:11:52 +02:00
Ludovic Courtès
3e8d037b16
services: dbus, polkit: Add default value.
* gnu/services/dbus.scm (dbus-root-service-type)[default-value]: New
field.
(polkit-service-type)[default-value]: New field.
2017-07-11 00:48:51 +02:00
宋文武
296bf4d5ab
services: Add 'sysctl-service-type'.
* gnu/services/sysctl.scm: New file.
* doc/guix.texi (Miscellaneous Services): Document it.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
2017-07-04 20:40:51 +08:00
Julien Lepiller
f3853a259b
gnu: services: use seconds instead of duration strings.
* gnu/services/dns.scm (zone-file, knot-policy-configuration): Use numbers
instead of duration strings.
(verify-knot-policy-configuration): Fix typo.
* doc/guix.texi (DNS Services): Update documentation.
2017-06-21 19:29:57 +02:00
Ludovic Courtès
44fa0dbec7
services: network-manager: Specify a default value.
* gnu/services/networking.scm (network-manager-service-type)[default-value]:
New field.
2017-06-21 14:52:30 +02:00
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
Alex Kost
47ddf3e5f0
services: ssh: Remove 'openssh-service' exported symbol.
This is a followup to commit d8f3128119.
Reported by thomasd on #guix.

* gnu/services/ssh.scm: Do not export 'openssh-service' as it does not
exist.
2017-03-02 11:50:57 +03:00
Leo Famulari
b191f0a6c5
services: guix: Support building in a directory besides '/tmp'.
* gnu/services/base.scm (<guix-configuration>)[tmpdir]: New field.
(guix-shepherd-service): Use 'tmpdir' in #:environment-variables.
* doc/guix.texi (Base Services)[guix-configuration]: Document it.
2017-02-23 13:03:14 -05:00
Leo Famulari
93d32da9f8
services: guix: Support using an HTTP proxy.
* gnu/services/base.scm (<guix-configuration>)[http-proxy]: New field.
(guix-shepherd-service): Use 'http-proxy' in #:environment-variables.
* doc/guix.texi (Base Services)[guix-configuration]: Document it.
2017-02-22 15:25:55 -05:00
Marius Bakke
b35f442e62
gnu: Remove xf86-video-modesetting.
This is part of xorg-server since version 1.17:

https://cgit.freedesktop.org/xorg/xserver/commit/?id=35dc7c75150733dbcef8a18b6796f49a7c48ebee

* gnu/packages/xorg.scm (xf86-video-modesetting): Remove variable.
* gnu/services/xorg.scm (xorg-configuration-file, %default-xorg-modules):
Adjust accordingly.
2017-02-19 23:29:38 +01:00
宋文武
c32d02fe7e
services: Add openvswitch-service-type.
* gnu/services/networking.scm (<openvswitch-configuration>): New record type.
(openvswitch-activation, openvswitch-shepherd-service): New procedures.
(openvswitch-service-type): New variable.
* doc/guix.texi (Networking Services): Document it.
2017-02-12 14:48:34 +08:00
Clément Lassieur
533bc51469
tests: Add 'prosody-service-type' test.
* gnu/tests/messaging.scm: New file.
* gnu/services/messaging.scm: New exported procedure.
  (<shepherd-service>)[provision]: Add 'xmpp-daemon'.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-02-10 23:39:45 +01:00
Clément Lassieur
750a423996
services: shepherd: Replace spaces with hyphens in file names.
This fixes a bug whereby names of files defining services would be
invalid if 'provisions' contained more than one element.

* gnu/services/shepherd.scm (shepherd-service-file-name): Update
'match-lambda' accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-02-08 16:17:05 +01:00
Ludovic Courtès
387e175492
services: Add 'special-files-service-type'.
* gnu/build/activation.scm (activate-/bin/sh): Remove.
(activate-special-files): New procedure.
* gnu/services.scm (activation-script): Remove call to
'activate-/bin/sh'.
(special-files-service-type): New variable.
(extra-special-file): New procedure.
* gnu/services/base.scm (%base-services): Add SPECIAL-FILES-SERVICE-TYPE
instance.
* gnu/tests/base.scm (run-basic-test)[special-files]: New variables.
["special files"]: New test.
2017-02-08 16:17:05 +01:00
Ludovic Courtès
a062b6ca99
services: bitlbee: Run in a container.
* gnu/services/networking.scm (bitlbee-shepherd-service): Wrap in
'with-imported-modules' and add 'modules' field.  Use
'make-forkexec-constructor/container' and pass #:mappings.
2017-02-07 00:08:11 +01:00
Ludovic Courtès
b9a5efa596
services: bitlbee: Read the PID file.
* gnu/services/networking.scm (bitlbee-shepherd-service): Pass
  #:pid-file to 'make-forkexec-constructor'.
2017-02-07 00:08:10 +01:00
Mathieu Othacehe
eb122280a0
services: cuirass: Add load-path to cuirass configuration
* gnu/services/cuirass.scm (<cuirass-configuration>): Add load-path field.
(cuirass-shepherd-service): Honor it.
* doc/guix.texi (Continuous Integration): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-02-02 09:04:40 +01:00
Ludovic Courtès
8de3e4b35f
services: Make 'static-networking' extensible.
This allows users to statically define several interfaces.

* gnu/services/networking.scm (<static-networking>)[provision]
[name-servers]: Add default values.
(static-networking-shepherd-service)
(static-networking-etc-files)
(static-networking-shepherd-services): New procedures.
(static-networking-service-type): Change to extend both
SHEPHERD-ROOT-SERVICE-TYPE and ETC-SERVICE-TYPE.
(static-networking-service): Remove default value of #:provision.
Implement using 'simple-service'.
* gnu/services/base.scm (%base-services): Replace
'static-networking-service' call with 'service' form.
* doc/guix.texi (Networking Services): Update documentation.
2017-02-01 23:53:35 +01:00
Ludovic Courtès
a43aca973e
system: Introduce 'file-systems' Shepherd service.
* gnu/services/base.scm (file-system-shepherd-services): New procedure.
(file-system-service-type): Use it as the SHEPHERD-ROOT-SERVICE-TYPE
extension.
(user-processes-service-type): Change to take a single 'grace-delay'
parameter.
(user-processes-service): Remove 'file-systems' parameter.  Pass
GRACE-DELAY as the only value for the service.
* gnu/system.scm (essential-services): Adjust accordingly.
2017-01-31 23:21:59 +01:00
Mathieu Othacehe
70dfa4e07a
services: Export guix-configuration getters.
* gnu/services/base.scm (guix-configuration-*): Export.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-25 19:04:21 +01:00
Clément Lassieur
e57bd0bed8
services: Fix 'mkdir-p' in activation scripts.
* gnu/services/cups.scm (%cups-activation): Import (guix build utils).
* gnu/services/mail.scm (opensmtpd-activation): Idem.
* gnu/services/networking.scm (ntp-service-activation): Idem.
* gnu/services/spice.scm (spice-vdagent-activation): Idem.
* gnu/services/ssh.scm (openssh-activation): Idem.
  (dropbear-activation): Idem.
* gnu/services/vpn.scm (%openvpn-activation): Idem.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-25 14:05:37 +01:00
Clément Lassieur
87508d9a0b
services: prosody: Fix activation script.
* gnu/services/messaging.scm (prosody-activation): Import (guix build utils)
  for 'mkdir-p'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-23 15:20:04 +01:00
Mathieu Othacehe
11b7717deb
services: cuirass: Add port to cuirass configuration
* gnu/services/cuirass.scm (<cuirass-configuration>): Add port field.
(cuirass-shepherd-service): Honor it.
* doc/guix.texi (Continuous Integration): Document it.

Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
2017-01-22 23:51:56 +01:00
Ludovic Courtès
be051880c4
services: Reindent vpn.scm.
This fixes indentation of 'match' forms.

* gnu/services/vpn.scm: Pass through 'indent-code.el'.
2017-01-20 21:39:17 +01:00
Christopher Baines
b726096bc5
services: network-manager: Use record for configuration.
* gnu/services/network-manager.scm (<network-manager-configuration>): New
record type.
(network-manager-shpeherd-service): Change to use the
network-manager-configuration record, rather than a package.  Generate a
simple configuration file from the network-manager-configuration record.
(network-manager-service-type): Update extensions to take the
network-manager-configuration rather than a package.
(network-manager-service): Remove function, the network-manager-service-type
can be used instead, and this avoids keeping the function signature and value
coresponding to the service type in sync.
* doc/guix.texi (Networking Services): Remove documentation for the removed
network-manager-service procedure, and add documentation of the
network-manager-service-type variable and network-manager-configuration
record.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2017-01-20 21:45:56 +08:00
Ludovic Courtès
dc72a7f7f7
services: nginx: Add default values for <nginx-configuration> fields.
* gnu/services/web.scm (<nginx-configuration>)[nginx, log-directory]
[run-directory, server-blocks, upstream-blocks, file]: Add default
values.
2017-01-19 14:44:59 +01:00
Christopher Baines
9c557a69ae
services: nginx: Add support for 'location' blocks.
* gnu/services/web.scm (<nginx-server-configuration>): Add field 'locations'.
(<nginx-location-configuration>): New record type.
(<nginx-named-location-configuration>): New record type.
(nginx-location-config): New function.
(default-nginx-server-config): Include locations.
* doc/guix.texi (Web Services): Document the new nginx-location-configuration
and nginx-named-location-configuration data types, as well as the changes to
the nginx-server-configuration.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-19 14:44:59 +01:00
Christopher Baines
cb341293fa
services: nginx: Add support the 'upstream' module.
* gnu/services/web.scm (<nginx-upstream-configuration>): New record type.
(<nginx-configuration>): Add new field upstream-blocks.
(nginx-upstream): New function.
(default-nginx-config): Add upstream-list parameter.
(nginx-service): Add optional upstream list keyword argument.
* doc/guix.texi (Web Services): Document the new nginx-upstream-configuration
data type and changes to the nginx function.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-19 14:44:59 +01:00
Julien Lepiller
2be1b4712d
gnu: Add openvpn service.
* gnu/services/vpn.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (VPN Services): New section.
2017-01-15 12:24:52 +01:00
Christopher Baines
67cadaca47
services: Add 'redis-service-type'.
* gnu/services/database.scm (<redis-configuration>): New record type.
(%redis-accounts, redis-service-type): New variables.
(default-redis.conf, redis-activation, redis-shepherd-service): New
procedures.
* doc/guix.texi (Database Services): Document the new redis service.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-12 16:49:47 +01:00
Ludovic Courtès
69323016d3
services: wicd: Create /var/run/wpa_supplicant.
* gnu/services/networking.scm (%wicd-activation): Create
/var/run/wpa_supplicant.
2017-01-11 11:16:14 +01:00
Clément Lassieur
78cef99b98
gnu: Add Prosody service.
* gnu/services/messaging.scm: New file.
* gnu/services/configuration.scm: New exported procedures.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add gnu/services/messaging.scm.
* doc/guix.texi (Messaging Services): New section.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-08 23:39:36 +01:00
Julien Lepiller
d338237d8c
services: nginx: Make service extensible.
* gnu/services/web.scm (<nginx-configuration>)[server-blocks]: New
field.
(nginx-activation): When CONFIG-FILE is #f, use 'default-nginx-config'.
(nginx-shepherd-service): Likewise.
(nginx-service-type): Add 'compose' and 'extend' fields.
(nginx-service): Change default value of #:server-list to '(), and
default value of #:config-file to #f.
* doc/guix.texi (Web Services): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2017-01-03 14:30:44 +01:00
Julien Lepiller
4e9ae301ce
services: nginx: Fix multiple index and server name.
* gnu/services/web.scm (config-domain-strings, config-index-string): separate
names with a space.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-03 14:30:44 +01:00
Julien Lepiller
3b9b12ef49
services: nginx: Rename "vhost" to "server".
* gnu/services/web.scm (<nginx-vhost-configuration>): Rename to...
(<nginx-server-configuration>): ... this.
* doc/guix.texi (Web Services): Adjust accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-03 14:30:44 +01:00
Ludovic Courtès
231eddc88a
services: cuirass: Remove 'cuirass-service' procedure.
* gnu/services/cuirass.scm (<cuirass-configuration>)[specifications]:
Remove default value.
(cuirass-service): Remove.
* doc/guix.texi (Continuous Integration): Adjust accordingly.
2017-01-01 23:30:31 +01:00
Ludovic Courtès
8de938d59a
services: cuirass: Allow for gexps in specifications.
* gnu/services/cuirass.scm (<cuirass-configuration>)[specifications]:
Change default value to #~'().
(cuirass-shepherd-service): Remove conditional for "--specifications".
Use 'scheme-file' instead of 'plain-file'.  Change file name to
"cuirass-specs.scm".
* doc/guix.texi (Continuous Integration): Change the example to use a
gexp where #:file refers to a file within Cuirass.  Adjust
documentation.
2017-01-01 23:30:30 +01:00
Ludovic Courtès
3547a5effe
services: Add libmtp's udev rules to '%desktop-services'.
Suggested by Chris Marusich <cmmarusich@gmail.com>.

* gnu/services/desktop.scm (%desktop-services): Add 'mtp' service via
call to 'simple-service'.
2016-12-29 23:35:42 +01:00
John Darrington
d1f3063196
gnu: Fix typo in comment.
* gnu/services/sddm.scm: Fix typo.
2016-12-21 20:45:34 +01:00
Ludovic Courtès
38d6aa05e2
services: cuirass: Add Cuirass to the system profile.
* gnu/services/cuirass.scm (cuirass-service-type): Extend
PROFILE-SERVICE-TYPE.
2016-12-20 10:27:08 +01:00
Ludovic Courtès
379b6ba5a9
services: cuirass: Add 'cuirass' field.
* gnu/services/cuirass.scm (<cuirass-configuration>)[cuirass]: New
field.
(cuirass-shepherd-service): Honor it.
* doc/guix.texi (Continuous Integration): Document it.
2016-12-20 10:27:08 +01:00
Ludovic Courtès
137f8df66c
services: cuirass: Create the database directory.
* gnu/services/cuirass.scm (cuirass-activation): Create the database
directory for CONFIG.
2016-12-20 10:27:08 +01:00
Ludovic Courtès
dc0ef095b3
services: guix: Add 'log-file' configuration option.
* gnu/services/base.scm (<guix-configuration>)[log-file]: New field.
(guix-shepherd-service): Pass #:log-file to 'make-forkexec-constructor'.
* gnu/services/admin.scm (simple-rotation-config): Take a list of
files and join them with commas.
(%default-rotations): Add /var/log/guix-daemon.log.
* doc/guix.texi (Base Services): Document it.
2016-12-19 23:57:20 +01:00
Ludovic Courtès
f78903f363
services: guix: Remove dependency on lsh.
* gnu/services/base.scm (<guix-configuration>)[lsh]: Remove.
(guix-shepherd-service): Remove lsh from 'PATH'.
* doc/guix.texi (Base Services): Adjust accordingly.
2016-12-19 23:57:19 +01:00
Ludovic Courtès
463995da0c
services: cuirass: Cache defaults to /var/cache/cuirass.
The previous default value depended on the 'HOME' environment variable,
which happened to be unset.  Thus, /.cache was being used.

* gnu/services/cuirass.scm (<cuirass-configuration>)[cache-directory]:
Change default value to "/var/cache/cuirass".
(cuirass-shepherd-service): Always pass "--cache-directory".
(cuirass-activation): New procedure.
(cuirass-service-type): Use it as an extension to
ACTIVATION-SERVICE-TYPE.
* doc/guix.texi (Continuous Integration): Adjust accordingly.
2016-12-19 23:57:19 +01:00
Ludovic Courtès
831071b84f
services: cuirass: Honor 'user' and 'group'.
* gnu/services/cuirass.scm (cuirass-shepherd-service): Pass the user and
group of CONFIG to 'make-forkexec-constructor'.
2016-12-19 23:57:19 +01:00
Ludovic Courtès
b17e326f17
services: cuirass: Add 'log-file' option.
* gnu/services/cuirass.scm (<cuirass-configuration>)[log-file]: New
field.
(cuirass-shepherd-service): Pass it to 'make-forkexec-constructor'.
2016-12-19 23:57:19 +01:00
Ludovic Courtès
9fc037fe10
services: Use 'file-append' in more places.
* gnu/services/avahi.scm (avahi-shepherd-service): Use #$(file-append x y)
instead of (string-append #$x y).
* gnu/services/base.scm (unicode-start)
(console-keymap-service-type, console-font-shepherd-services)
(mingetty-shepherd-service, nscd-shepherd-service)
(hydra-key-authorization, guix-shepherd-service)
(guix-publish-shepherd-service, udev-shepherd-service)
(gpm-shepherd-service, <kmscon-configuration>)
(kmscon-service-type): Likewise.
* gnu/services/shepherd.scm (shepherd-boot-gexp): Likewise.
2016-12-19 17:51:00 +01:00
Mathieu Lirzin
57aa94bd7e
services: cuirass: Put specifications in the store.
* gnu/services/cuirass.scm (<cuirass-configuration>): Change type of
'specifications' field to an alist to match the documentation example.
(cuirass-shepherd-service): Store the provided specifications in a file.  Use
that file as the "--specification" argument.
2016-12-15 22:50:27 +01:00
Christopher Baines
e05b780a58
services: postgresql: Add locale to configuration
* gnu/services/databases.scm (<postgresql-configuration>): Add locale
  field.
  (postgresql-shepherd-service): Pass locale to initdb.
  (postgresql-service): Add locale default.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-12-15 16:55:02 +01:00
Christopher Baines
2d3d5cc5ea
services: postgresql: Add port to configuration
* gnu/services/databases.scm (<postgresql-configuration>): Add port
  field.
  (postgresql-shepherd-service): Pass port to postgres.
  (postgresql-service): Add port default.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-12-15 16:54:22 +01:00
Christopher Baines
4b41febf9c
services: mysql: Add port to configuration
* gnu/services/databases.scm (<mysql-configuration>): Add port field.
(mysql-configuration-file): Use the port field when creating the
configuration file.
* doc/guix.texi (Database Services): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-12-14 00:22:49 +01:00
Ludovic Courtès
9328eafbf5
services: file-system: Make sure fsck.* commands are in $PATH.
Fixes a regression introduced in
bf7ef1bb84, whereby the fsck.* commands
would not be found.

* gnu/services/base.scm (file-system-shepherd-service): Call calls to
'setenv'.
2016-12-05 20:54:59 +01:00
Ludovic Courtès
ba9f0db08c
services: tor: Make sure /var/lib is world-readable.
* gnu/services/networking.scm (tor-hidden-service-activation): Add
'chmod' call for /var/lib.
2016-12-04 22:32:25 +01:00
John Darrington
8e3f813f22
gnu: Add Kerberos client service.
* doc/guix.texi (Kerberos Services)[Krb5 Service]: New subsubheading.
* gnu/services/kerberos.scm (krb5-service-type): New variable.
* gnu/services/configuration.scm (configuration-field-serializer,
  configuration-field-getter): Export variables.
2016-12-03 18:00:32 +01:00
John Darrington
bf7ef1bb84
gnu: file-system-shepherd-service: Use mount-file-system.
* gnu/services/base.scm (file-system-shepherd-service): Use
  mount-file-system instead of manually mounting the file system.
2016-12-02 17:43:30 +01:00
Andy Patterson
4ce8860df9
services: cups: Follow symlinks when installing extensions.
* gnu/services/cups.scm (union-directory): Use "stat" when calling
"find-files" to follow symlinks.
2016-12-01 11:03:20 +01:00
Ricardo Wurmus
819c1945d1
services: nginx: Join strings with spaces.
* gnu/services/web.scm (config-domain-strings, config-index-strings):
Use "string-join" to join strings with spaces.
2016-11-30 16:03:18 +01:00