Commit graph

1149 commits

Author SHA1 Message Date
Efraim Flashner 405c0c947c
services: Add fontconfig-file-system-service.
* gnu/services/desktop.scm (%fontconfig-file-system,
fontconfig-file-system-service): New variables.
(%desktop-services): Add fontconfig-file-system-service.
2020-03-22 09:08:11 +02:00
Marius Bakke c4d769d359
Merge branch 'master' into core-updates 2020-03-18 19:41:08 +01:00
Marius Bakke d594963856
gnu: eudev: Remove bugfix variant.
* gnu/packages/linux.scm (eudev/btrfs-fix): Remove variable.
(eudev)[arguments]: Add phase patch-bindir-in-btrfs-rules.
* gnu/services/base.scm (<udev-configuration>, udev-service): Refer to EUDEV
instead of EUDEV/BTRFS-FIX.
2020-03-14 13:19:06 +01:00
Marius Bakke 961d2ee269
Merge branch 'master' into core-updates 2020-03-14 13:13:40 +01:00
Ludovic Courtès 70526bdbe0
services: nfs: Remove unnecessary "mount" invocation.
* gnu/services/nfs.scm (%nfs-activation): Remove unnecessary "mount"
invocation (/proc/fs/nfsd is automatically mounted, somehow).  Remove
unnecessary 'mkdir-p' call.
2020-03-16 22:58:37 +01:00
Ludovic Courtès e28770df71
services: nfs: Move activation snippet out of line.
* gnu/services/nfs.scm (%nfs-activation): New variable.
(nfs-service-type)[extensions]: Refer to %NFS-ACTIVATION.
2020-03-16 22:58:37 +01:00
Ludovic Courtès a37e03d60e
tests: opensmtpd: Check /var/spool/mail instead of /var/mail.
The test had been failing since the upgrade to 6.6.3p1 in commit
2dbfd8eec4.

* gnu/services/mail.scm (opensmtpd-activation): Create /var/spool/mail.
* gnu/tests/mail.scm (run-opensmtpd-test): Check /var/spool/mail instead
of /var/mail.
2020-03-16 14:05:52 +01:00
Ludovic Courtès 0f13dd2b7f
services: dhcpd: Use 'invoke/quiet' when validating the config file.
This avoids the lengthy copyright/config message from dhcpd.

* gnu/services/networking.scm (dhcpd-activation): Use 'invoke/quiet'
instead of 'invoke'.
2020-03-16 14:05:52 +01:00
Ricardo Wurmus 85f0958693
services/web: Export nginx-configuration-global-directives.
This is a follow-up to commit b420e6deb9.

* gnu/services/web.scm (nginx-configuration-global-directives): Export
procedure.
2020-03-16 12:22:16 +01:00
Tobias Geerinckx-Rice 2ec4607863
services: nginx: Fix broken default configuration.
* gnu/services/web.scm (nginx-configuration): Emit an empty events{}
block by default.
* doc/guix.texi (Web Services): Document it.
2020-03-16 03:19:55 +01:00
Ricardo Wurmus b420e6deb9
services/web: nginx-configuration: Add support for global directives.
* gnu/services/web.scm (<nginx-configuration>)[global-directives]: Add field.
(emit-global-directive): New procedure.
(default-nginx-config): Use it.
* doc/guix.texi (Web Services): Document it.
2020-03-15 12:05:32 +01:00
Ricardo Wurmus 995b391013
services/web: Remove empty events directive from default-nginx-config.
* gnu/services/web.scm (default-nginx-config): Remove empty events directive.
2020-03-15 12:05:32 +01:00
Ricardo Wurmus a595399230
services: mumi-service-type: Update to latest version of mumi.
* gnu/services/web.scm (%mumi-activation): Create /var/mumi/db.
(mumi-shepherd-services): Add service for mumi worker.
2020-03-12 12:47:45 +01:00
Marius Bakke 50b99c90c8
Merge branch 'master' into core-updates 2020-03-10 20:50:02 +01:00
Christopher Baines af96c1e0e4
services: cuirass: Allow passing extra command line options.
This is so that the options supported by the service configuration don't have
to always be changed. Generally though all options should be explicitly
supported and documented, so this is mostly to facilitate experimentation.

* gnu/services/cuirass.scm (<cuirass-configuration>): Add an extra-options
field.
(cuirass-shepherd-service): Pass the extra options to the shepherd servvices.
* doc/guix.texi (Continuous Integration): Document it.
2020-03-08 23:46:11 +00:00
Christopher Baines d8ab68b929
services: guix-data-service: Allow passing extra options.
This is so that the options supported by the service configuration don't have
to always be changed. Generally though all options should be explicitly
supported and documented, so this is mostly to facilitate experimentation.

* gnu/services/guix.scm (<guix-data-service-configuration>): Add extra-options
and extra-process-jobs-options to the record type.
(guix-data-service-shepherd-services): Handle these new configuration record
fields.
* doc/guix.texi (Guix Data Service): Document these new options.
2020-03-08 23:35:03 +00:00
Jack Hill f6713b55a1
services: certbot: Add server option.
* gnu/services/certbot.scm (certbot-configuration): Add server option.
(certbot-command): Use server option.
(certbot-actication): Use server option.
(certbot-nginx-server-configurations): Use server option.
* doc/guix.texi (Certificate Services): Document server option.

Co-authored-by: Tobias Geerinckx-Rice <me@tobias.gr>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-03-08 21:21:57 +01:00
Maxim Cournoyer 5fdc5b2d57
services: nfs: Run rpc.mountd in foreground.
Fixes <https://bugs.gnu.org/39708>.

Shepherd doesn't keep track of processes that fork themselves and would
disable the process after restarting it a couple times.

* gnu/services/nfs.scm (nfs-shepherd-services): Invoke rpc.mountd with the
'--foreground' option.
2020-03-08 00:26:02 -05:00
Ludovic Courtès 24a4a635fd
gnu: eudev: Add variant with corrected Btrfs rules.
Discussed at <https://bugs.gnu.org/39926>.

* gnu/packages/linux.scm (eudev/btrfs-fix): New variable.
* gnu/services/base.scm (<udev-configuration>)[udev]: Default to it.
(udev-service): Likewise for #:udev.
2020-03-07 22:30:00 +01:00
Marius Bakke ebb7cf9e21
Merge branch 'master' into core-updates 2020-03-04 23:16:17 +01:00
Mathieu Othacehe 8f5a0a97b1
services: herd: Add restart-service.
* gnu/services/herd.scm (restart-service): New exported procedure.
2020-03-03 15:00:32 +01:00
Jakub Kądziołka 50be0da7bf
services: set-xorg-configuration: handle slim and sddm
* gnu/services/xorg.scm (handle-xorg-configuration): New syntax.
  (gdm-service-type, slim-service-type): Use handle-xorg-configuration.
* gnu/services/sddm.scm (sddm-service-type): Likewise.
2020-03-01 14:13:27 +01:00
Florian Pelz 00500449b0
services: udev: Do not rely on shepherd inheriting environment variables.
Fixes <https://bugs.gnu.org/39671>.

* gnu/services/base.scm (udev-shepherd-service)[start] Move or copy
environment variables to 'fork+exec-command' instead of 'setenv'.
2020-02-20 22:34:06 +00:00
Julien Lepiller c6c447701c
gnu: services: Add openvpn options.
* gnu/services/vpn.scm (openvpn-client-configuration)
(openvpn-server-configuration): Add fast-io? and auth-user-pass options.
2020-02-19 04:08:55 +01:00
Julien Lepiller 0372dd1a1e
gnu: services: Fix openvpn boolean fields.
* gnu/services/vpn.scm (serialize-boolean): Do not print #t to the file.
2020-02-19 04:08:40 +01:00
Ludovic Courtès 8b9cad01e9
services: shepherd: Spawn services with nothing but the PATH variable.
Previously, services spawned with 'make-forkexec-constructor' &
co. would all inherit the environment variables of PID 1, which includes
things like 'BOOT_IMAGE'.  This change resets it to the bare minimum.

* gnu/services/shepherd.scm (shepherd-configuration-file): Add call to
'default-environment-variables'.  Remove 'setenv' call.
2020-02-16 23:31:08 +01:00
Efraim Flashner 3c6aca4232
doc: Fix typo.
* doc/guix.texi (X Window)[sddm-service-type]: SSDM -> SDDM typo fix.
[sddm-configuration]: Also list 'maya' theme.
* gnu/services/sddm.scm (sddm-service): Fix typo in doc string.
(sddm-configuration): Also list 'maya' theme.
2020-02-16 09:25:00 +02:00
shtwzrd 779d96c9b0
services: xorg: Filter modules based on system
Fixes <https://bugs.gnu.org/39402>.
Reported by shtwzrd <shtwzrd@protonmail.com>.

* gnu/services/xorg.scm (xorg-configuration):
  Apply a filter over %default-xorg-modules packages, excluding
  those for which the %current-system is not among the package's
  supported-systems.

This patch makes it possible to use xorg-configuration on systems
other than x86_64 and i686, as without it, xf86-video-intel would
be pulled in on the unsupported architecture and fail.

Signed-off-by: Jakub Kądziołka <kuba@kadziolka.net>
2020-02-16 00:02:10 +01:00
Marius Bakke 7edafc884c
Merge branch 'master' into core-updates 2020-02-14 19:05:45 +01:00
Mathieu Othacehe dfc8ccbf5d
system: Stop using canonical-package.
Usage of canonical-package outside of thunked fields breaks cross-compilation,
see: https://lists.gnu.org/archive/html/guix-devel/2019-12/msg00410.html.

* gnu/installer.scm (installer-program): Remove canonical-package.
* gnu/services/base.scm (<nscd-cache>): Ditto,
(%base-services): ditto.
* gnu/services/xorg.scm: Remove useless canonical-package import.
* gnu/system.scm (%base-packages): Remove canonical-package.
* gnu/system/install.scm (%installation-services): Ditto,
(installation-os): ditto.
* gnu/system/locale.scm (single-locale-directory): Ditto.
2020-02-11 13:54:45 +01:00
Christopher Baines f325a33e16
services: web: Use the Patchwork default-from-email.
Previously this wasn't used, but it should have been.

* gnu/services/web.scm (patchwork-settings-module-compiler): Use the
default-from-email.
2020-02-09 11:17:13 +00:00
Tim Gesthuizen daec54f062
services: inputattach: Fix broken baud rate option.
* gnu/services/desktop.scm (inputattach-shepherd-service): Use "--baud" for
setting the baud-rate.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-02-07 11:51:02 +08:00
Nicolas Goaziou 8a890f3c40
gnu: tlp: Update to 1.3.0.
* gnu/packages/linux.scm (tlp): Update to 1.3.0.
[source]: Hard-code name in origin URI.
[native-inputs]: Add "shellcheck".
[arguments]: Activate some tests.  Update environment variables.  Ignore
tlp-rdw man pages.
* gnu/services/pm.scm (tlp-activation): Update configuration file name.
2020-02-02 10:42:16 +01:00
Vagrant Cascadian 3d0c79186c
services: virtualization: Add riscv32 and riscv64 to qemu platforms.
* gnu/services/virtualization (%riscv32): New variable.
  (%riscv64): New variable.
  (%qemu-platforms): Add riscv32 and riscv64.
2020-02-01 16:40:41 -08:00
Maxim Cournoyer d3e439e355
gnu: Add earlyoom-service-type.
* gnu/services/linux.scm: New file.
* tests/services/linux.scm: Add test.
* Makefile.am (SCM_TESTS): Register test.
* doc/guix.texi (Linux Services): Add a new section and document the new
service and its configuration.
2020-01-31 23:37:13 -05:00
Tobias Geerinckx-Rice c3f146e79a
gnu: Update opensmtpd configuration grammar.
This follows up on commit 0d48690908.

* gnu/services/mail.scm (%default-opensmtpd-config-file): Adapt to ‘new’
≥6.4 grammar.
* gnu/tests/mail.scm (%opensmtpd-os): Likewise.
2020-01-31 00:42:48 +01:00
Vagrant Cascadian 9ea68dd7be
services: getmail: Fix spelling of "address".
* gnu/services/getmail (getmail-retriever-configuration): Fix typo.
2020-01-30 15:27:31 -08:00
Leo Prikler 9111f97500
services: gdm: Disable initial system setup in GDM.
* gnu/services/xorg.scm (gdm-configuration-file): Disable gnome-initial-setup.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-01-28 21:06:24 +01:00
Damien Cassou 9a5edd0240
services: Fix typo in spice-vdagent-service.
* gnu/services/spice.scm (spice-vdagent-service): Fix typo.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-01-26 18:45:09 +01:00
宋文武 244db6bbc8
services: knot-resolver: Manage a root TA at /var/cache/knot-resolver.
* gnu/services/dns.scm (%kresd.conf): Add /var/cache/knot-resolver/root.keys
as the root TA.
2020-01-22 20:18:56 +08:00
Ludovic Courtès b2f948be9f
services: sane: Create the "scanner" account.
* gnu/services/desktop.scm (%sane-accounts, sane-service-type): New
variables.
(%desktop-services): Use SANE-SERVICE-TYPE instead of 'simple-service'.
* doc/guix.texi (Desktop Services): Document 'sane-service-type'.
2020-01-21 15:01:46 +01:00
Christopher Baines c8defb2b2a
services: getmail: Adjust a couple of default configuration values.
Change the message-log-syslog and message-log-verbose configuration values to
match the Getmail defaults.

* gnu/services/getmail.scm (getmail-options-configuration): Change defaults
for message-log-syslog and message-log-verbose
* doc/guix.texi (Mail Services): Update the Getmail documentation accordingly.
2020-01-20 19:13:16 +00:00
Christopher Baines 2e1a314871
services: getmail: Fix some configuration documentation strings.
* gnu/services/getmail.scm (getmail-retriever-configuration): Specify proper
documentation strings for some of the fields.
* doc/guix.texi (Mail Services): Update the documentation accordingly.
2020-01-20 19:09:00 +00:00
Christopher Baines 147a7f1fd2
services: getmail: Fix stopping the shepherd service.
* gnu/services/getmail.scm (getmail-shepherd-services): Add a stop component
to the shepherd services.
2020-01-20 19:01:23 +00:00
Danny Milosavljevic 19b310901c
services: Add "sane" service.
* gnu/services/desktop.scm (%desktop-services): Add "sane" service.
2020-01-20 18:46:07 +01:00
Tobias Geerinckx-Rice f460f8da68
gnu: Use HTTPS for avahi.org everywhere.
* gnu/packages/avahi.scm (avahi)[home-page]: Use HTTPS.
* gnu/services/avahi.scm (avahi-service): Likewise in docstring.
2020-01-19 06:09:01 +01:00
Alex Sassmannshausen 33ed8296c0
gnu: services: Allow extra content in mysql configuration.
* gnu/services/databases.scm (<mysql-configuration>): New field.
  (mysql-configuration-file): Use it.
2020-01-17 11:28:40 +01:00
Julien Lepiller 5c3d77c3b1
gnu: services: Fix mysql service activation.
This change is necessary after the split of mariadb outputs.

* gnu/services/databases.scm (%mysql-activation): Use mysql:lib in
mariadb-specific part.
2020-01-14 00:43:00 +01:00
Leo Prikler 71e33e32fc
services: Add pulseaudio to %desktop-services.
Fixes <https://bugs.gnu.org/38172>.
Reported by raingloom <raingloom@riseup.net>.

* gnu/services/desktop.scm (%desktop-services): Add pulseaudio service.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-01-11 18:18:51 +01:00
Leo Prikler f1022fbf2f
services: Split ladspa-service-type from pulseaudio-service-type.
* gnu/services/sound.scm (ladspa-configuration): New record.
(ladspa-environment): New procedure.
(ladspa-service-type): New service type.
(pulseaudio-environment): Remove LADSPA_PATH.
* doc/guix.texi: Adjust documentation.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-01-11 18:18:51 +01:00
Leo Prikler f6f9181130
services: pulseaudio-configuration: Set flat-volumes to no.
* gnu/services/sound (pulseaudio-configuration) [daemon-conf]: Disable
flat-volumes, which causes unpleasant experiences to users when applications
inadvertently max out the system volume (e.g. as in #38172).

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-01-11 18:18:51 +01:00
Leo Prikler f547426200
services: Add pulseaudio-configuration.
* gnu/services/sound (<pulseaudio-configuration>): New record.
(pulseaudio-etc): New procedure.
(pulseaudio-environment): Add PULSE_CONFIG and PULSE_CLIENTCONFIG.
(pulseaudio-service-type): Update accordingly.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-01-11 18:18:50 +01:00
Ricardo Wurmus 907eeac2e7
services: nfs: Add nfs-service-type.
* gnu/services/nfs.scm (<nfs-configuration>): New record.
(nfs-configuration, nfs-configuration?, nfs-configuration-nfs-utils,
nfs-configuration-nfs-version, nfs-configuration-exports,
nfs-configuration-rpcmountd-port, nfs-configuration-rpcstatd-port,
nfs-configuration-rpcbind, nfs-configuration-idmap-domain,
nfs-configuration-nfsd-port, nfs-configuration-nfsd-threads,
nfs-configuration-pipefs-directory, nfs-configuration-debug,
nfs-shepherd-services): New procedures.
(nfs-service-type): New variable.
* doc/guix.texi (Network File System): Document it.
* gnu/tests/nfs.scm (%test-nfs-server): New variable.
(%base-os): Use default value of rpcbind-service-type.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus a6bdca6b9b
services: nfs: Allow gss-service-type to be extended.
* gnu/services/nfs.scm (gss-service-type): Rewrite using SERVICE-TYPE to add
ability to extend the service.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus 2a23942e3f
services: nfs: Add verbosity control to idmap-service-type.
* gnu/services/nfs.scm (<idmap-configuration>)[verbosity]: New field.
(idmap-configuration-verbosity): New procedure.
(idmap-service-type): Use it.
* doc/guix.texi (Network File System): Document it.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus af32ea3583
services: nfs: Allow idmap-service-type to be extended.
* gnu/services/nfs.scm (idmap-service-type): Rewrite using SERVICE-TYPE to add
ability to extend the service.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus 5d4ba49891
services: nfs: Fix indentation and typo.
* gnu/services/nfs.scm (<gss-configuration>, <idmap-configuration>): Fix
indentation.
(<idmap-configuration>): Rename accessor for NFS-UTILS field to
IDMAP-CONFIGURATION-NFS-UTILS.
(idmap-service-type): Use IDMAP-CONFIGURATION-NFS-UTILS.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus 25c8c8cd4f
services: nfs: Allow pipefs-service-type to be extended.
* gnu/services/nfs.scm (pipefs-service-type): Rewrite using SERVICE-TYPE to
add ability to extend the service.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus ba1808d5e7
services: nfs: Allow rpcbind-service-type to be extended.
* gnu/services/nfs.scm (rpcbind-service-type): Rewrite using SERVICE-TYPE to
add ability to extend the service.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus 981ce38937
services: nfs: Fix name of package variable.
* gnu/services/nfs.scm (rpcbind-service-type): Correct name from nfs-utils to
rpcbind.
2020-01-08 23:56:11 +01:00
Oleg Pykhalov a66ee82a05
services: Add pulseaudio service.
* gnu/services/sound.scm (pulseaudio-environment): New procedure.
(pulseaudio-service-type): New variable.
* doc/guix.texi (Sound Services): Document it.
2020-01-08 10:21:45 +03:00
Ludovic Courtès 6a7c4636d4
Adjust module autoloads.
In Guile < 2.9.7, autoloading a module would give you access to all its
bindings.  In future versions, autoloading a module gives access only to
the listed bindings, as per #:select (see <https://bugs.gnu.org/38895>).

This commit adjusts autoloads to the new semantics, allowing Guix to be
built with Guile 2.9.7/2.9.8.

* guix/build/download.scm <top level>: Remove call to 'module-autoload!'.
(load-gnutls): New procedure.
(tls-wrap): Call it.
* guix/git.scm <top level>: Remove call to 'module-autoload!'.
(load-git-submodules): New procedure.
(update-submodules): Call it instead of 'resolve-interface'.
* gnu/bootloader/grub.scm: Replace #:autoload with #:use-module.
* gnu/packages.scm: Likewise.
* gnu/packages/ssh.scm: Likewise.
* gnu/packages/tex.scm: Likewise.
* gnu/services/cuirass.scm: Likewise.
* gnu/services/mcron.scm: Likewise.
* guix/lint.scm: Augment list of bindings in #:autoload.
* guix/scripts/build.scm: Likewise.
* guix/scripts/gc.scm: Likewise.
* guix/scripts/pack.scm: Likewise.
* guix/scripts/publish.scm: Likewise.
* guix/scripts/pull.scm: Likewise.
* guix/utils.scm: Remove unnecessary #:autoload clauses; replace one
of them with #:use-module.
2020-01-06 16:31:54 +01:00
Efraim Flashner 71fc086ae9
services: host-name: Make service one-shot.
* gnu/services/base.scm (host-name-service-type): Remove 'respawn?'
keyword from shepherd-service-type, add 'one-shot?'.
2020-01-05 20:28:29 +02:00
Jan Nieuwenhuizen 022ad24c41
services: console-font: Update example with HDPI font suggestion.
This solution was kindly provided by Bernard M. Wiedemann.

* gnu/services/base.scm (console-font-service-type): Add ter132n (terminus 132
nomal) font example, for HDPI displays.
* doc/guix.texi (Invoking guix system): Update to `guix system search console'
example output.
2019-12-30 23:40:12 +01:00
Brice Waegeneire 747b7246a6
services: dhcp-client: Ignore interfaces that cannot be activated.
Fixes <https://bugs.gnu.org/38524>.

* gnu/services/networking.scm (dhcp-client-service-type): Filter interfaces
that cannot be activated.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-29 18:24:55 +01:00
Ludovic Courtès 6ee87461e0
services: Add Mumi service.
* gnu/services/web.scm (%mumi-activation, %mumi-accounts): New variables.
(mumi-shepherd-services): New procedure.
(mumi-service-type): New variable.
* doc/guix.texi (Web Services): Document it.
2019-12-21 23:55:25 +01:00
Robert Vollmert e7d45693d9
services: mcron: Add description.
* gnu/services/mcron.scm (mcron-service-type): Add description.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-08 00:47:26 +01:00
Leo Prikler fe7b59c6b1
services: Add GNOME Keyring service.
* gnu/services/desktop.scm: (<gnome-keyring-configuration>): New record type.
(pam-gnome-keyring): New procedure.
(gnome-keyring-service-type): New variable.
* doc/guix.texi (Desktop Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-04 18:16:08 +01:00
Leo Famulari 1a7633c239
services: SSH services: Provide 'ssh' and 'sshd' Shepherd services.
* gnu/services/ssh.scm (lsh-shepherd-service, dropbear-shepherd-service,
openssh-sheperd-service): Add 'ssh' and 'sshd' to provision.
2019-12-04 08:31:39 -05:00
Leo Prikler 27b77228cf
services: Add polkit-wheel-service to %desktop-services.
* gnu/services/desktop.scm: (%desktop-services): Add polkit-wheel-service.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-30 23:50:40 +01:00
Leo Prikler 7f25ff10e1
services: Add polkit-wheel-service.
* gnu/services/desktop.scm: (polkit-wheel): New variable.
(polkit-wheel-service): New service.
* doc/guix.texi: Document polkit-wheel-service.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-30 23:50:40 +01:00
Guillaume Le Vaillant c1c6650e28
services: Add pam-mount.
* gnu/services/pam-mount.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (PAM Mount Service): New subsection.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-28 13:30:53 +01:00
Ludovic Courtès 73765c91ce
services: nginx: Add description.
* gnu/services/web.scm (nginx-service-type)[description]: New field.
2019-11-28 13:30:53 +01:00
Efraim Flashner 77ed06a8bf
services: sysctl: Make service one-shot.
* gnu/services/sysctl.scm (sysctl-shepherd-service): Adjust shepherd
service to use the 'one-shot?' keyword. Remove 'stop' command. Remove
'respawn' option.
2019-11-20 21:23:19 +02:00
Ludovic Courtès 1f8ca28b9e
services: dbus: Simplify 'dbus-uuidgen' invocation.
* gnu/services/dbus.scm (dbus-activation): Use the "--ensure" option of
'dbus-uuidgen' instead of forking and redirecting ports.
2019-11-13 23:26:36 +01:00
Ludovic Courtès 7462a1de22
services: dbus: Log to syslog.
* gnu/services/dbus.scm (dbus-shepherd-service): Add 'syslogd' to
'requirement'.  Pass the "--syslog-only" command-line option.
2019-11-13 23:26:36 +01:00
Ludovic Courtès a01d2e300a
services: dbus: Add description.
* gnu/services/dbus.scm (dbus-root-service-type)[description]: New
field.
2019-11-13 23:26:36 +01:00
Alex Griffin a2161c861f
services: Add pagekite-service-type.
* gnu/services/networking.scm (pagekite-service-type): New service type.
(<pagekite-configuration>): New record type.
(pagekite-shepherd-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
2019-11-11 14:03:45 -06:00
宋文武 6ec68c69b0
services: Add knot-resolver-service-type.
* gnu/services/dns.scm (<knot-resolver-configuration>): New record type.
(knot-resolver-activation, knot-resolver-shpherd-services): New procedures.
(%knot-resolver-accounts, %kresd.conf, knot-resolver-service-type): New
variables.
* doc/guix.texi (DNS Services): Document it.
2019-11-11 20:30:53 +08:00
Ludovic Courtès 7c34c62c80
services: hpcguix-web: Delete lock files during activation.
* gnu/services/web.scm (%hpcguix-web-activation): Delete ".lock" files
from HOME-DIR.
2019-11-09 23:04:14 +01:00
Ludovic Courtès 1ce0d7e190
services: hpcguix-web: Explicitly import (guix build utils).
* gnu/services/web.scm (%hpcguix-web-activation): Add explicit
'with-imported-modules'.
2019-11-09 23:04:14 +01:00
Robert Smith 970cb5cece
services: mpd: Connect to the user's PulseAudio socket.
* gnu/services/audio.scm (mpd-shepherd-service): Set the XDG_RUNTIME_DIR
environment variable.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2019-11-08 21:32:45 +01:00
Florian Pelz 00e680a411
services: Make it possible to include dynamic modules in nginx.
* gnu/services/web.scm (<nginx-configuration>): Add modules field.
(nginx-configuration-modules): New field accessor.
(emit-load-module): New procedure.
(default-nginx-config): Add support for the modules field.
* doc/guix.texi (NGINX): Document it.
2019-11-07 22:15:11 +00:00
Miguel Ángel Arruga Vivas 2dfb9ba406
services: libvirtd: Provide ip binary at runtime.
* gnu/services/virtualization.scm (libvirt-shepherd-service): Add sbin to
the PATH variable, as ip binary is installed there.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-05 15:13:15 +01:00
Efraim Flashner 548efa8bdf
services: patchwork: Fix typo.
* gnu/services.web.scm (define-gexp-compiler): Use 'enable-rest-api?'
where appropriate in place of 'enable-xmlrpc?'
2019-11-05 14:51:57 +02:00
Oleg Pykhalov 13f0414ece
gnu: zabbix-agentd: Update to 4.4.1.
* gnu/packages/monitoring.scm (zabbix-agentd): Update to 4.4.1.
* gnu/services/monitoring.scm (%zabbix-front-end-configuration-nginx): Add
listen record field.
2019-11-03 14:46:51 +03:00
Ludovic Courtès 27727b18b8
services: dbus: Remove non-existent directories from 'system-local.conf'.
This typically halves the number of entries in
/etc/dbus-1/system-local.conf.

* gnu/services/dbus.scm (dbus-configuration-directory)[build](directives):
New macro.
(services->sxml): Use it.
2019-11-02 00:12:19 +01:00
Ludovic Courtès 33f9778bc8
services: dbus: Include each service's "share/dbus-1/system.d".
Fixes <https://bugs.gnu.org/37911>.
Reported by Jack Hill <jackhill@jackhill.us>.

Sometime between 1.1.8 and 1.4.3, 'colord' moved had its
'org.freedesktop.ColorManager.conf' file moved from
"etc/dbus-1/system.d" to "share/dbus-1/system.d".  Adjust to this
change.

* gnu/services/dbus.scm (dbus-configuration-directory): Add an
'includedir' directive for DIR/share/dbus-1/system.d.
2019-11-02 00:12:19 +01:00
Ludovic Courtès 5afa23e180
services: colord: Deprecate 'colord-service' procedure.
* gnu/services/desktop.scm (colord-service-type)[default-value]: New field.
(colord-service): Define with 'define-deprecated'.
(%desktop-services): Use 'colord-service-type' instead of 'colord-service'.
* doc/guix.texi (Desktop Services): Adjust accordingly.
2019-11-01 12:23:45 +01:00
Maxim Cournoyer f37ad658ea
services: ntp: Fix a crash when using legacy configuration.
Fixes issue #37504 (see: https://bugs.gnu.org/37504).

The bug was caused by the fact that destructuring an <ntp-configuration>
record using match would bind the 'servers' field without using the
compatibility accessor.

* gnu/services/networking.scm (ntp-shepherd-service): Replace `match-lambda'
by distinct `lambda' and `match' calls, so that the 'servers' field can be
generated by applying the `ntp-configuration-servers' procedure to the
configuration object.
2019-10-31 23:37:47 -04:00
Maxim Cournoyer 97bc3cbea5
services: ntp: Ensure no double quotes are output to config file.
* gnu/services/networking.scm (ntp-server->string): Use the textual
representation of the values as printed by 'display' rather than 'write', to
avoid inserting double quotes in the generated config.
* tests/networking.scm (%ntp-server-sample): Add a comment and make one of the
options a string, to exercise the fix.
("ntp-server->string"): Move the expected value to the first argument.
("ntp configuration servers deprecated form"): Likewise.
("openntpd generated config string ends with a newline"): Likewise.
2019-10-30 18:15:54 -04:00
Ricardo Wurmus 878e0e1bb0
gnu: mpd-service-type: Support configuration of outputs.
* gnu/services/audio.scm (<mpd-output>): New record type.
(<mpd-configuration>)[outputs]: New field.
(mpd-output, mpd-output?, mpd-output->string): New procedures.
(mpd-config->file): Use mpd-output->string.
* doc/guix.texi (Audio Services): Document mpd-output fields.
2019-10-29 15:14:22 +01:00
Timothy Sample 88f95687c7
services: gdm: Add 'debug?' configuration field.
* gnu/services/xorg.scm (<gdm-configuration>)[debug?]: New field.
(gdm-configuration-file): Use it.
* doc/guix.texi: Document it.
2019-10-26 17:04:36 -04:00
Ludovic Courtès b40f4a5995
services: cuirass: Create /var/log/cuirass during activation.
* gnu/services/cuirass.scm (cuirass-activation): Create "/var/log/cuirass".
2019-10-23 21:48:51 +02:00
Ludovic Courtès 00850bb836
services: elogind, gnome, mate, xfce: Fix config type predicate identifiers.
* gnu/services/desktop.scm (<elogind-configuration>): Add question mark
in type predicate identifier.
(<gnome-desktop-configuration>): Likewise.
(<mate-desktop-configuration>): Likewise.
(<xfce-desktop-configuration>): Likewise.
2019-10-22 18:32:52 +02:00
Tim Gesthuizen 84261a233e
services: inputattach: Add 'baud-rate' parameter.
* gnu/services/desktop.scm (inputattach-configuration): Add baud-rate field.
  (inputattach-shepherd-service): Add baud-rate to parameters when specified.
* doc/guix.texi (Miscellaneous Services): [inputattach Service] Document
  baud-rate parameter.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-10-21 23:26:33 +02:00
Ludovic Courtès 5f15b42273
services: agetty: Really import (gnu build linux-boot).
This is a followup to commit 62c2217570.

* gnu/services/base.scm (agetty-shepherd-service)[start]: Wrap un
'with-imported-modules'.  This fixes a build error when TTY is true
("no code for module (gnu build linux-boot)").
2019-10-21 18:16:16 +02:00
Ludovic Courtès cfe8d8063b
services: sddm: Add description.
* gnu/services/sddm.scm (sddm-service-type)[description]: New field.
2019-10-21 18:16:16 +02:00
Ludovic Courtès 8cf3e167c1
services: sddm: Deprecate 'sddm-service' procedure.
* gnu/services/sddm.scm (sddm-service): Mark as deprecated.
* doc/guix.texi (X Window): Document 'sddm-service-type' and
'sddm-configuration'.
2019-10-21 18:16:16 +02:00
Brendan Tildesley 5ac5f2c129
services: sddm: Add default configuration.
Unlike gdm-service-type, sddm-service-type cannot be configured in an
operating-system configuration by simply adding (service
sddm-service-type). This adds the default SDDM configuration just like
GDM does..

* gnu/services/sddm.scm (sddm-service-type)[default-value]: New field.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-10-21 18:16:16 +02:00
David Wilson 849af4ae1b
services: xfce: Add xfce4-power-manager to polkit settings.
* gnu/services/desktop.scm (xfce-desktop-service-type): Add
xfce4-power-manager to polkit-service-type service extension via
new procedure 'xfce-polkit-settings'.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-10-20 12:08:03 +02:00
Ludovic Courtès e52b953434
services: network-manager: Create account for 'network-manager-openconnect'.
Previously, on startup, we'd see:

  dbus: Unknown username nm-openconnect in message bus configuration file

This fixes it.

* gnu/services/networking.scm (network-manager-accounts): New procedure.
(network-manager-service-type): Extend 'account-service-type'.
* gnu/packages/gnome.scm (network-manager-openconnect)[properties]: Add
'user-accounts'.
2019-10-18 23:22:25 +02:00
Ludovic Courtès 4e37cf35c0
services: network-manager: Export 'network-manager-configuration-vpn-plugins'.
* gnu/services/networking.scm (<network-manager-configuration>): Export
'network-manager-configuration-vpn-plugins'.
2019-10-18 23:22:25 +02:00
Ludovic Courtès 6aeae5b90b
herd: Define 'shepherd-message-port'.
* gnu/services/herd.scm (shepherd-message-port): New variable.
(display-message): Use it instead of 'current-error-port'.
2019-10-18 23:22:25 +02:00
Florian Pelz 99190575a0
Fix documentation of delete_after in the getmail service.
* doc/guix.texi (Getmail service): Remove the word `not'.
* gnu/services/getmail.scm (getmail-options-configuration): Ditto.
2019-10-18 07:53:55 +00:00
Ricardo Wurmus e08902d3cb
Merge branch 'master' into core-updates 2019-10-06 22:02:20 +02:00
Ludovic Courtès 63b0ce391f
services: shepherd: Compile service files.
This reduces resident memory for PID 1 from 29.8MiB to 28.7MiB right
after boot on a bare-bones system (x86_64-linux).

* gnu/services/shepherd.scm (scm->go): New procedure.
(shepherd-configuration-file)[config]: Call it and use 'load-compiled'
instead of 'primitive-load'.
2019-10-06 14:45:35 +02:00
Ludovic Courtès 38b1ea0434
services: udev: Explicitly depend on (gnu build linux-boot).
* gnu/services/base.scm (udev-shepherd-service): Wrap 'start' method in
'with-imported-modules'.
2019-10-06 14:45:35 +02:00
Ludovic Courtès 62c2217570
services: agetty: Explicitly depend on (gnu build linux-boot).
* gnu/services/base.scm (default-serial-port): Wrap in
'with-imported-modules'.
2019-10-06 14:45:35 +02:00
Ludovic Courtès 81bc4533aa
services: urandom-seed: Credit the entropy added to the PRNG.
Partly fixes <https://bugs.gnu.org/37501>.
Reported by Marius Bakke <mbakke@fastmail.com>.

* gnu/services/base.scm (urandom-seed-shepherd-service): In 'start'
method, add calls to 'add-to-entropy-count'.
2019-10-05 22:05:02 +02:00
Jan Nieuwenhuizen 3a69dd5c15
services: httpd: Fix virtual-host doc and config.
* doc/guix.texi (Web Services): Fix httpd-virtualhost examples.
* gnu/services/web.scm (httpd-process-extensions): Add missing newline
separator.
2019-10-04 17:10:58 +02:00
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 #37318 (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 #3731.
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