Commit graph

1381 commits

Author SHA1 Message Date
Josselin Poiret
db4681a4c1
services: gdm: Add Wayland support.
* gnu/packages/patches/gdm-wayland-session-wrapper-from-env.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gnome.scm (gdm): Use it.
* gnu/services/xorg.scm (<gdm-configuration>)[wayland-session]: New field.
(gdm-wayland-session-wrapper): New procedure.
(gdm-configuration-file): Point to this new procedure.
* doc/guix.texi (X Window): Update it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-10-02 17:24:00 +00:00
Josselin Poiret
5c3f0c3e03
gnu: Add Wayland support for GDM.
Add the optional flag `wayland?` in `gdm-configuration` to launch GDM with
Wayland, enabling the use of Wayland sessions with GDM.

* gnu/packages/patches/gdm-remove-hardcoded-xwayland-path.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gnome.scm (gdm): Use it.
* gnu/services/xorg.scm (<gdm-configuration>)[wayland?]: New field.
(gdm-configuration): Honor it.
(gdm-shepherd-service): Add the XCURSOR_PATH environment variable.
* doc/guix.texi (X Window): Document it

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-10-02 17:17:44 +00:00
Mathieu Othacehe
502925655d
services: database: Change postgresql default socket.
Adapt to the postgresql default socket directory set to /var/run/postgresql.

* gnu/services/databases.scm (<postgresql-config-file>)[socket-directory]: Set
to /var/run/postgresql.
(<postgresql-role-configuration>): Ditto.
* gnu/tests/databases.scm (run-postgresql-test): Adapt it.
2021-09-27 19:22:56 +00:00
Ludovic Courtès
d9dfbf886d
Merge branch 'master' into core-updates-frozen 2021-09-07 14:19:08 +02:00
Brice Waegeneire
4dc17cd54e
services: libvirt: Change unix-sock-group default.
When accessing libvrtd remotely, polkit can't be used unless you are
logged as root.  Instead allow libvirt groups member access to the
control socket.

* gnu/services/virtualization.scm (libvirt-configuration)
[unix-sock-group]: Change default from "root" to "libvirt".
2021-09-04 09:19:46 +02:00
Brice Waegeneire
d0fcce8baf
services: libvirt: Add qemu field.
* gnu/services/virtualization.scm (libvirt-configuration): Add 'qemu'
field.
(libvirt-service-type): Replace 'qemu' package with the one specified in
the service configuration.
2021-09-04 09:19:42 +02:00
Julien Lepiller
c60daa8e9d
gnu: version-control: Add gitile service.
* gnu/services/version-control.scm (gitile-service-type): New variable.
* doc/guix.texi (Version Control Services): Document it.
* gnu/tests/version-control.scm (%test-gitile): New variable.
2021-09-02 22:56:55 +02:00
Julien Lepiller
cc16103861
gnu: gitolite: Add unsafe-pattern configuration option.
* gnu/services/version-control.scm (gitolite-rc-file): Add
unsafe-pattern field.
(gitolite-rc-file-compiler): Write it.
* doc/guix.texi (Version Control Services): Document it.
2021-09-02 22:56:44 +02:00
Marius Bakke
c4133c43c7
Merge branch 'master' into core-updates-frozen
Conflicts:
	gnu/packages/algebra.scm
	gnu/packages/games.scm
	gnu/packages/golang.scm
	gnu/packages/kerberos.scm
	gnu/packages/mail.scm
	gnu/packages/python.scm
	gnu/packages/ruby.scm
	gnu/packages/scheme.scm
	gnu/packages/tex.scm
	gnu/packages/tls.scm
	gnu/packages/version-control.scm
2021-08-12 00:30:27 +02:00
Marius Bakke
b029be2ee0
Merge branch 'master' into core-updates-frozen
Conflicts:
	gnu/packages/bioinformatics.scm
	gnu/packages/cmake.scm
	gnu/packages/curl.scm
	gnu/packages/emacs-xyz.scm
	gnu/packages/gpodder.scm
	gnu/packages/music.scm
	gnu/packages/patches/glibc-bootstrap-system.patch
	gnu/packages/python-xyz.scm
	gnu/packages/shells.scm
	gnu/packages/statistics.scm
2021-07-29 22:34:57 +02:00
Brice Waegeneire
a85ec0bf69
services: Migrate to <setuid-program>.
* gnu/services/dbus.scm (dbus-setuid-programs, polkit-setuid-programs):
  Return setuid-programs.
* gnu/services/desktop.scm (enlightenment-setuid-programs): Return
 setuid-programs.
 (%desktop-services)[mount-setuid-helpers]: Use setuid-programs.
* gnu/services/docker.scm (singularity-setuid-programs): Return
 setuid-programs.
* gnu/services/xorg.scm(screen-locker-setuid-programs): Return
 setuid-programs.
* gnu/system.scm (%setuid-programs): Return setuid-programs.
* doc/guix.texi (Setuid Programs, operating-system Reference): Replace
  'list of G-expressions' with 'list of <setuid-program>'.
2021-07-29 11:32:48 -04:00
Ludovic Courtès
1037211d1b
services: hurd-vm: Use the new 'targets' field of <bootloader-configuration>.
* gnu/services/virtualization.scm (%hurd-vm-operating-system): Use
'targets' instead of 'target' for the 'bootloader-configuration' field.
2021-08-30 14:24:14 +02:00
Mathieu Othacehe
f91ae9425b
services: xorg: Delay the xorg-configuration-modules field evaluation.
When building an image with the "system" parameter set to an emulated
architecture, the xorg-configuration-modules field needs to be evaluated once
the %current-system parameter is set, otherwise this parameter is set to the
current host system.

* gnu/services/xorg.scm (<xorg-configuration>)[modules]: Make it a thunked
field.
2021-08-30 10:59:18 +02:00
Efraim Flashner
9734da36f2
services: Remove i486 qemu target.
The i486 target has been removed from qemu since at least 5.2.0.

* gnu/services/virtualization.scm (%i486): Remove variable.
(%qemu-platforms): Remove it.
2021-08-29 09:50:11 +03:00
Maxim Cournoyer
8ad6624b96
services: base: Honor file-system-create-mount-point? at all times.
Fixes <https://issues.guix.gnu.org/40158>.

* gnu/services/base.scm (file-system-shepherd-service): Update doc.  Return a
shepherd service for the mount point when either MOUNT? or CREATE? is true.
[start]: Only mount when MOUNT? is true.
(file-system-shepherd-services): Also consider file systems with
create-mount-point? set to #t.
2021-08-29 01:31:52 -04:00
Oleg Pykhalov
b948ab8b56
services: slim: Add pam-gnupg support.
* gnu/system/pam.scm (unix-pam-service): Add account and session PAM entries
for pam-gnupg.  Don't pass "#f" to "allow-root?" argument, because "lambda*"
already does this by default.
* doc/guix.texi (X Window): Document this.
* gnu/services/xorg.scm (<slim-configuration>)[gnupg?]: New record field.
(slim-pam-service): Pass "#:gnupg?" argument to "unix-pam-service".
2021-08-17 01:10:25 +03:00
Christopher Lemmer Webber
9455143907
Update copyright/name notices for Christine Lemmer-Webber.
* doc/guix-cookbook.texi: Update copyright/name for Christine Lemmer-Webber.
* gnu/build/image.scm: Likewise.
* gnu/build/vm.scm: Likewise.
* gnu/packages/admin.scm: Likewise.
* gnu/packages/assembly.scm: Likewise.
* gnu/packages/audio.scm: Likewise.
* gnu/packages/backup.scm: Likewise.
* gnu/packages/check.scm: Likewise.
* gnu/packages/databases.scm: Likewise.
* gnu/packages/emacs-xyz.scm: Likewise.
* gnu/packages/finance.scm: Likewise.
* gnu/packages/gnupg.scm: Likewise.
* gnu/packages/guile-xyz.scm: Likewise.
* gnu/packages/guile.scm: Likewise.
* gnu/packages/haskell-xyz.scm: Likewise.
* gnu/packages/linux.scm: Likewise.
* gnu/packages/mail.scm: Likewise.
* gnu/packages/password-utils.scm: Likewise.
* gnu/packages/perl.scm: Likewise.
* gnu/packages/python-web.scm: Likewise.
* gnu/packages/python-xyz.scm: Likewise.
* gnu/packages/python.scm: Likewise.
* gnu/packages/sphinx.scm: Likewise.
* gnu/packages/ssh.scm: Likewise.
* gnu/packages/xdisorg.scm: Likewise.
* gnu/services/networking.scm: Likewise.
* gnu/system/vm.scm: Likewise.
2021-08-15 14:15:37 -04:00
Mathieu Othacehe
cfd2442488
services: cuirass: Reverse the no-publish logic.
This is a follow-up of d128c6fd33.

* gnu/services/cuirass.scm (<cuirass-remote-server-configuration>)
[no-publish?]: Rename it to ...
[publish?]: ... this new field.
(cuirass-shepherd-service): Adapt it.
* doc/guix.texi (Cuirass remote building): Document it.
2021-08-13 13:46:21 +02:00
Mathieu Othacehe
8221cf8349
services: cuirass: Fix the substitute-urls argument.
This is a follow-up of: 23b5b168ae.

* gnu/services/cuirass.scm (cuirass-remote-worker-shepherd-service): Fix it.
2021-08-12 14:58:18 +02:00
Mathieu Othacehe
23b5b168ae
services: cuirass: Add a substitute-urls argument.
* gnu/services/cuirass.scm (<cuirass-remote-worker-configuration>): Add a
substitute-urls field.
(cuirass-remote-worker-shepherd-service): Honor it.
* doc/guix.texi (Cuirass remote building): Document it.
2021-08-12 14:31:54 +02:00
Mathieu Othacehe
d128c6fd33
services: cuirass: Add a no-publish argument.
* gnu/services/cuirass.scm (<cuirass-remote-server-configuration>): Add a
no-publish? field.
(cuirass-shepherd-service): Honor it.
* doc/guix.texi (Cuirass remote building): Document it.
2021-08-12 12:59:55 +02:00
muradm
29883f1130
services: pam-limits: fix limits.conf location
* gnu/services/base.scm: fix limits.conf location

This fixes #49771

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2021-08-07 17:34:23 +02:00
Brice Waegeneire
92605326ae
services: guix: Use "match-record" in activation.
It's more explicit to specify used fields instead of depending on their
position.

* gnu/services/base.scm (guix-activation): Replace "match" with
  "match-record".
2021-08-04 06:36:50 +02:00
Maxim Cournoyer
10f554700c
Reinstate "services: Add a service for Jami."
This reverts commit 4673f81793, which reverted
commit 69dcc24c9f with the fix detailed below.

Thanks to Christopher Baines for reporting the failure and proposing a fix.

* guix/self.scm (compiled-guix) [*system-test-modules*]: Add the test data
files via the 'extra-files' argument.
* gnu/local.mk (dist_patch_DATA): Move the tests/data/jami-dummy-account.dat
file to...
* gnu/local.mk (MODULES_NOT_COMPILED): ... here.
2021-08-02 17:23:30 -04:00
Maxim Cournoyer
4673f81793
Revert "services: Add a service for Jami."
This reverts commit 69dcc24c9f.  It broke 'guix
pull'.
2021-08-02 15:48:59 -04:00
Maxim Cournoyer
69dcc24c9f
services: Add a service for Jami.
* gnu/services/telephony.scm (string-or-computed-file?)
(string-list?, account-fingerprint-list?): New procedures.
(maybe-string-list, maybe-account-fingerprint-list)
(maybe-boolean, maybe-string, jami-account-list): New configuration field
types.
(serialize-string-list, serialize-boolean, serialize-string)
(jami-account, jami-account->alist, jami-configuration)
(jami-account-list?, jami-account-list-maybe): New procedures.
(%jami-accounts): New variable.
(jami-configuration->command-line-arguments): New procedure.
(jami-dbus-session-activation, jami-shepherd-services): New procedures.
(jami-service-type): New variable.
* gnu/build/jami-service.scm: New file.
* gnu/tests/data/jami-dummy-account.dat: Likewise.
* gnu/tests/telephony.scm: Likewise.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register them.
* Makefile.am (SCM_TESTS): Register the test file.
(dist_patch_DATA): Register the new data file.
* doc/guix.texi (Telephony Services): Document it.
2021-08-02 15:15:02 -04:00
Xinglu Chen
8e1f944218
services: configuration: Derive the default value from the package variable.
If the type of a configuration field is a package, show the name of its
package *variable* as the default value.

* gnu/services/configuration.scm (generate-documentation){show-default}
{package->symbol}: New nested procedures.  Use them to format the field
entries.

Co-authored-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-08-02 14:16:23 -04:00
Xinglu Chen
ad945029a2
services: configuration: Uniformize the generated documentation.
Make the formatting of the generated docs more consistent with the rest of the
docs in the “Services” section of the manual.

* gnu/services/configuration (generate-documentation): Represent the data type
documentation of a field using a DEFTP table rather than DEFTYPEVR elements.

Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-08-02 14:16:22 -04:00
Guillaume Le Vaillant
e463e09dc2
services: dhcpd: Fix activation with IPv6 configuration.
* gnu/services/networking.scm (dhcpd-activation): Pass the IP version
  parameter to dhcpd.
2021-07-24 15:38:03 +02:00
Ludovic Courtès
1665bb0cec
gnu: hpcguix-web: Update to 0.1.0.
* gnu/packages/web.scm (hpcguix-web): Update to 0.1.0.
[arguments]: In 'wrap-program' phase, change "/bin/run" to
"/bin/hpcguix-web".
[inputs]: Add BASH-MINIMAL.
* gnu/services/web.scm (hpcguix-web-shepherd-service): Run
"/bin/hpcguix-web".
2021-07-23 17:02:28 +02:00
Ludovic Courtès
0e47fcced4
Merge branch 'master' into core-updates 2021-07-18 19:50:01 +02:00
Brice Waegeneire
a5fa05dfc7
services: ntp: Log to file.
* gnu/services/networking.scm (ntp-shepherd-service)[start]: Specify log
file.
2021-07-13 07:25:00 +02:00
Brice Waegeneire
8bb45504dd
services: tor: Log to file.
* gnu/services/networking.scm (tor-shepherd-service)[start]: Specify log
file.
2021-07-13 07:24:56 +02:00
Brice Waegeneire
1beeef6261
services: gpm: Use "make-forkexec-contstructor".
* gnu/services/base.scm (gpm-shepherd-service)[start]: Replace custom
logic with "make-forkexec-constructor".
2021-07-13 07:24:52 +02:00
Ludovic Courtès
2ea2bca1dd
services: qemu-binfmt: Preserve argv[0] by default.
Previously, argv[0] would be replaced by the absolute file name of the
executable.  This could cause discrepancies, for example in the
Coreutils test suite: <https://issues.guix.gnu.org/49485>.

* gnu/services/virtualization.scm (<qemu-platform>)[flags]: Default to "FP".
2021-07-10 00:24:59 +02:00
Raghav Gururajan
02562e2f1e
services: Add bitmask-service-type.
* gnu/services/vpn.scm (bitmask-service-type): New variable.
* doc/guix.texi: Document it.

Co-authored-by: jgart <jgart@dismail.de>
2021-07-07 10:20:28 -04:00
Brice Waegeneire
e789ce538e
services: pcscd: Fix daemon signal handling.
"pcscd" wouldn't handle SIGTERM as it inherit ignoring this signal (and
others) from its parent shepherd; fork+exec-command restore signal
handling.  Fixes <https://issues.guix.gnu.org/45202>.

* gnu/services/security-token.scm (pcscd)[start]: Use
fork+exec-command to start "pcscd".
2021-07-03 20:13:42 +02:00
luhui
fda0959a14
services: kmscon: Add keyboard-layout fields.
* gnu/services/base.scm (<kmscon-configuration>): Add keyboard-layout fields.
* doc/guix.texi (Base Services): Document them.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-06-29 19:01:25 +02:00
Xinglu Chen
2ad896751c
services: configuration: Allow specifying prefix for serializer names.
Sometimes two configurations might have the same types for their field values,
but the values might be serialized in two completely different
ways (e.g. because the two programs have different configuration languages).

An example of this would be the ‘serialize-boolean’ procedure in (gnu services
mail) and (gnu services getmail).  They both serialize a boolean value, but
because the Dovecot’s configuration language has a different syntax to the
configuration language for Getmail, two different procedures have to be
defined.

One way to workaround this would be to specify custom serializers for many
fields in order to separate the serialization of the values that have the same
type but serialize in different ways.  This could get very tedious, especially
if there are many configurations in the same module.

Another way would be to move one of the configurations to its own module, like
what was done with (gnu services getmail).  However, this would mean that
there would be multiple modules containing configurations for related
programs, e.g. we have (gnu services mail) and (gnu services getmail), it
doesn’t make much sense to keep the Getmail configuration in its own module.

This patch will allow one to write something like this:

  (define-configuration foo-configuration
    (bar
      (string "bob")
      "Option bar.")
    (prefix bar-))

and the value of the ‘bar’ field would be serialized using a procedure named
‘bar-serialize-string’ instead of just ‘serialize-string’.

* gnu/services/configuration.scm (define-maybe-helper): Accept ‘prefix’
argument for using serializer with custom prefix.
(define-maybe): Pattern match on ‘prefix’ literal.
(define-configuration-helper): Accept ‘prefix’ argument for using serializer
with custom prefix.
(define-configuration): Pattern match on ‘prefix’ literal.
* tests/services/configuration.scm ("serialize-configuration with prefix"):
New test.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-29 12:37:33 +02:00
Tobias Geerinckx-Rice
abb77e6d4c
Remove unused module imports from (gnu services vpn).
* gnu/services/vpn.scm: Remove (gnu packages networking) and (guix utils) imports.
2021-06-25 13:27:10 +02:00
Domagoj Stolfa
66be80fabb
gnu: Add strongswan service.
* gnu/services/vpn.scm (<strongswan-configuration>): New record type.
(charon-plugins, strongswan-configuration-file)
(strongswan-shepherd-service, strongswan-service-type): New variables.
* doc/guix.tex (VPN Services): Document them all.
2021-06-25 00:39:32 +02:00
Raghav Gururajan
1bf1226a4f
services: certbot: Add option to use CSR file.
* gnu/services/certbot.scm (<certificate-configuration>): Add csr field.
(certbot-command): Modify.
* doc/guix.texi (Certificate Services): Document it.
2021-06-24 18:19:39 -04:00
Tobias Geerinckx-Rice
9dea3f101f
Merge branch 'master' into core-updates
Conflicts:
	gnu/packages/cups.scm
	gnu/packages/python-web.scm
	gnu/packages/web.scm
	guix/build/maven/pom.scm
2021-06-23 18:45:21 +02:00
Tobias Geerinckx-Rice
828ceee7db
services: cups: Remove obsolete KeepAliveTimeout directive.
461bd4e501

* gnu/services/cups.scm (<cups-configuration>): Remove keep-alive-timeout field.
* doc/guix.texi (Printing Services): Likewise.
2021-06-23 03:26:33 +02:00
Tobias Geerinckx-Rice
e254287b0c
services: cups: Fix ‘files-config’ typo/left-over.
* gnu/services/cups.scm (<policy-configuration>): Substitute
<files-configuration> for <files-config> in documentation.
* doc/guix.texi (Printing Services): Likewise.
2021-06-23 03:01:48 +02:00
Tobias Geerinckx-Rice
c655bbb376
services: cups: Support CUPS 2.3.3op2's LogFileGroup directive.
* gnu/services/cups.scm (<files-configuration>): Add a log-file-group
field.
* doc/guix.texi (Printing Services): Document it.
2021-06-23 02:51:30 +02:00
Brice Waegeneire
ef3f38ea00
services: openssh: Replace 'without-password' by 'prohibit-password'.
For some time, OpenSSH's option 'PermitRootLogin' has deprecated the
ambiguous argument 'without-password' with 'prohibit-password'.

* doc/guix.texi (Network Services): Replace 'without-password by
'prohibit-password.
* gnu/machine/digital-ocean.scm (guix-infect): Change system
configuration to use 'prohibit-password.
* gnu/services/ssh.scm (openssh-configuration): Change comment to use
'prohibit-password.
(openssh-config-file): Add support for 'prohibit-password to
'permit-root-login'.  Warn about deprecated 'without-password usage.
* gnu/tests/ganeti.scm (%ganeti-os): Replace 'without-password by
'prohibit-password.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2021-06-20 16:44:08 +02:00
Brice Waegeneire
4bed8486d4
services: pcscd: Cleanup socket when started.
Otherwise when pcscd doesn't terminate properly (ie. receive a SIGKILL),
it won't start again because of it's socket already existing.

* gnu/services/security-token.scm (pcscd-shepherd-service)[start]:
Remove existing socket file.
2021-06-19 23:49:18 +02:00
Jack Hill
2e30e84b64
services: guix: Authorize 'bordeaux.guix.gnu.org.pub' by default.
This follows on from the changes in 4985a42724.

* gnu/services/base.scm (%default-authorized-guix-keys): Add
bordeaux.guix.gnu.org.pub.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2021-06-19 09:32:54 +01:00
Ludovic Courtès
f70c3429ed
services: Remove deprecated service procedures.
These service procedures were deprecated in January 2019, for instance
in commit 65a67bf711.

* gnu/services/avahi.scm (avahi-service): Remove.
* gnu/services/base.scm (console-keymap, guix-service)
(guix-publish-service, gpm-service, urandom-seed-service): Remove.
* gnu/services/desktop.scm (upower-service, colord-service): Remove.
* gnu/services/mcron.scm (mcron-service): Remove.
* gnu/services/messaging.scm (bitlbee-service): Remove.
* gnu/services/networking.scm (dhcp-client-service, ntp-service)
(tor-service): Remove.
* gnu/services/xorg.scm (slim-service, gdm-service): Remove.
2021-06-14 18:35:17 +02:00