Commit Graph

813 Commits

Author SHA1 Message Date
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
0ae735bcc8ff7fdc89d67b492bdee9091ee19e86: /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