Commit graph

2144 commits

Author SHA1 Message Date
Sören Tempel
ac6aba1fd7
services: dns: Minor cleanup of unbound service.
In #68757, v3 instead of v4 of the patchset was committed by accident.
This patch revives the (minor) changes made in the v4.

* gnu/service/dns.scm: Remove exports of no longer existing names.
(unbound-service-type): Fix at typo (unbound -> Unbound).
(unbound-shepherd-service): Run after user processes.
(unbound-account-service): Determine shell based on shadow package.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-01-16 12:51:48 +01:00
Karl Hallsby
145b51aeb3
services: Add xe-guest-utilities-service-type.
* gnu/services/virtualization.scm (xe-guest-utilities-configuration,
  xe-guest-utilities-service-type): New variables.
* doc/guix.texi: Document them.

Change-Id: Ife4e79fa6d1a9d5a21bf7479488884f2a5cf8d56
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-01-16 12:51:48 +01:00
Raven Hallsby
9d7a9b6dc6
service: plasma: Allow access bluetooth devices in "System Settings".
This adds the Bluetooth section back to KDE Plasma 6's System Settings menu.

* gnu/packages/kde-plasma.scm (bluedevil): Propagate bluez-qt.
* gnu/packages/kde-plasma.scm (plasma)[inputs]: Add bluedevil.
* gnu/services/desktop.scm (plasma-dbus-service): Add bluedevil as dbus-based
application.

Change-Id: If6a740c88e81bac4ccc220e918c17045eaa8e597
2025-01-16 00:38:14 +08:00
宋文武
5d6c8767f6
gnu: xfce: Enable xfce4-screensaver.
This fixes <https://issues.guix.gnu.org/75288>.

* gnu/packages/xfce.scm (xfce)[inputs]: Add xfce4-screensaver.
* gnu/services/desktop.scm (xfce-pam-services): New procedure.
(xfce-desktop-service-type): Add a extension for pam-root-service-type.

Change-Id: I4bdf5088f4ccc743afdcfdd2d68541c2d883552d
2025-01-12 14:18:03 +08:00
Giacomo Leidi
24a12aeb91
services: rootless-podman: Enable I/O delegation.
Based on
https://rootlesscontaine.rs/getting-started/common/cgroup2/#enabling-cpu-cpuset-and-io-delegation
, this patch enables I/O delegation for cgroups v2 enabled users.

* gnu/services/containers.scm (cgroups-limits-entrypoint): Enable I/O
controller delegation.
* gnu/tests/containers.scm: Test it.

Change-Id: I7caba33695f11830bea477c4ab3afb89cfaa2fa5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-01-11 23:36:58 +01:00
Leo Nikkilä
5ee26f0bf4
services: nginx: Make log formats configurable.
* gnu/services/web.scm (<nginx-log-format-configuration>): New record.
(<nginx-configuration>)[log-format, log-formats]: New fields.
(assert-valid-log-format-escape): New procedure.
(emit-nginx-log-format-config): New procedure.
(default-nginx-config): Make log formats configurable.
* doc/guix.texi (Web Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I8a16a1a9a20f64606dac0a1e14f1c5217d351f90
2025-01-11 23:36:58 +01:00
Sören Tempel
8db6cfe022
services: dns: Add unbound service.
This allows using Unbound as a local DNSSEC-enabled resolver. This
commit also allows configuration of the Unbound DNS resolver via a
Scheme API. The API currently provides very common options and
includes an escape hatch to enable less common configurations.

* gnu/service/dns.scm (unbound-serialize-field): New procedure.
(unbound-serialize-alist, unbound-serialize-section)
(unbound-serialize-string, unbound-serialize-boolean)
(unbound-serialize-list-of-strings): New procedures.
(unbound-zone): New record type.
(unbound-serialize-unbound-zone)
(unbound-serialize-list-of-unbound-zone): New procedures.
(unbound-remote): New record type.
(unbound-serialize-unbound-remote): New procedure.
(unbound-server): New record type.
(unbound-serialize-unbound-server): New procedure.
(unbound-configuration): New record type.
(unbound-config-file, unbound-shepherd-service): New procedures.
(unbound-account-service): New variable.
(unbound-service-type): New services.
* gnu/tests/dns.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (DNS Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I4c9646c9e17d4882e596d33ff8f738e1877fa1ae
2025-01-11 23:36:58 +01:00
Ludovic Courtès
d081b41d2e
services: cuirass: Add ‘build-expiry’ field.
* gnu/services/cuirass.scm (<cuirass-configuration>)[build-expiry]: New
field.
(cuirass-shepherd-service): Honor it.
* doc/guix.texi (Continuous Integration): Document it.

Change-Id: I1f9e21368437fd8fc236719e32bad7656928c926
2025-01-11 23:36:57 +01:00
Ludovic Courtès
431ab10344
services: static-networking: Fail when devices don’t show up.
Fixes <https://issues.guix.gnu.org/71173>.

* gnu/services/base.scm (network-set-up/linux): Define
‘max-set-up-duration’ and use it.
* gnu/tests/networking.scm (%static-networking-with-nonexistent-device):
New variable.
(run-static-networking-failure-test): New procedure.
(%test-static-networking-failure): New variable.

Change-Id: Idba9b36750aa8c6368c8f6d1bc1358066f7432e4
2025-01-08 22:54:37 +01:00
Ludovic Courtès
8d649a8d17
services: static-networking: Run set-up/tear-down as a separate process.
Running that code in PID 1 was fun but it’s not really beneficial and
somewhat risky: risk of blocking, file descriptor leak, inability to
reload Guile-Netlink in shepherd when it’s upgraded, and so on.

This change runs set-up and tear-down as separate processes, which, for
the price of one fork(1), buys us peace of mind.

* gnu/services/base.scm (network-set-up/hurd, network-tear-down/hurd)
(network-tear-down/linux): Use ‘program-file’ instead of ‘scheme-file’.
(network-set-up/linux): Likewise, and remove #:blocking? argument to
‘wait-for-link’.

Change-Id: Ia41479b50eab31ea40c67243fcb1cffe29ac874a
2025-01-08 22:54:37 +01:00
Tomas Volf
cc58b52e15
services: rootless-podman-service-type: Allow not installing podman.
Sometimes you would want to skip on actually installing the podman package in
order to save disk space and bandwidth.  Even without installing it globally,
podman can still be fetched via guix shell when required.

* gnu/services/containers.scm (package-or-#f?): New procedure.
(rootless-podman-configuration)<podman>: Change type to package-or-#f.
(rootless-podman-service-profile): Produce empty list if not podman package.
* doc/guix.texi (Miscellaneous Services): Document the change.

Change-Id: If533d913ea190558ce7e206d98ada4d805270594
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-01-06 16:05:04 +01:00
45mg
66df3296c4
services: dnsmasq: Allow custom Shepherd provision
Allow users to have multiple dnsmasq instances by specifying different
`provision` values for the corresponding Shepherd services, similar to
what is done with `static-networking-service-type`.

* gnu/services/dns.scm (<dnsmasq-configuration>)[provision]: new option.
(dnsmasq-shepherd-service): Use supplied provision value.
* doc/guix.texi (DNS Services)[dnsmasq-configuration]: Document it.

Change-Id: I78c7f015cb1db239a600bc5373b2fd80e8b9b9f4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-01-04 23:35:40 +01:00
45mg
8695dcf9d2
services: elogind: Support hook directories.
Allow the user to specify scripts to be added into Elogind's hook
directories. These scripts will be run before/after
suspend/hibernate/poweroff/reboot.

Also allow setting the associated config options.

* gnu/services/desktop.scm (elogind-configuration): add
`system-sleep-hook-files`, `system-shutdown-hook-files`,
and 4 new config options.
(elogind-configuration-file): Add entries for the new config options
under the `[Sleep]` section.
(elogind-etc-directory): New procedure.
(elogind-service-type): Extend `etc-service-type` using `/etc/elogind`.
* doc/guix.texi (Desktop Services): Document the new options.

Change-Id: I7e22cbaa9d031049b9d085ba0ce4cc8a8b4f16ff
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-30 13:49:57 +01:00
Ludovic Courtès
13e7caf52c
services: resize-file-system: Remove invalid default value.
The default value of #f for the ‘file-system’ field is invalid and would
trigger a type error when running ‘guix system search’.

* gnu/services/admin.scm (<resize-file-system-configuration>)[file-system]:
Remove default value.
(resize-file-system-service-type)[default-value]: Remove.
* doc/guix.texi (Miscellaneous Services): Adjust accordingly.

Change-Id: If73f8923f49d38827059ba98bd53636a7f3917fe
2024-12-30 11:01:43 +01:00
Giacomo Leidi
a75b2d614a
services: rootless-podman: Fix PATH lookup for Shepherd services.
One-shot Shepherd services required to correctly setup Podman in the
Guix System, are failing to find executables upon boot.  This patch
changes the executable references to absolute paths to avoid PATH
lookup.

* gnu/services/containers.scm (cgroups-fs-owner-entrypoint): Hardcode
bash path;
(rootless-podman-cgroups-fs-owner-service): Ditto;
(rootless-podman-fs-entrypoint): Hardcode mount path.

Change-Id: Id6a27cadf51326ce57af93f57809b77e28dbeaef
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-25 23:51:10 +01:00
45mg
dbbef3d57f
services: syslog: fix configuration file argument
* gnu/services/base.scm (syslog-shepherd-service): Separate incorrectly
combined arguments which resulted in an argument like "-f
/etc/syslog.conf" being passed to syslogd, leading it to ignore the
argument and execute without a configuration file. Effects of this
included no log files being written, though the Shepherd service ran
successfully.

Ref: https://issues.guix.gnu.org/70677#4-lineno7
Change-Id: I3dbe00eabd4a10804e554c12e1466483c0b185b7
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-25 23:51:04 +01:00
Jean-Baptiste Note
786aff3785
services: syslog: Adjust service for rsyslog compatibility.
* gnu/services/base.scm (syslog-shepherd-service): Change flag for designating
configuration file. The long option is not compatible with rsyslog while the
short is; switch to the short one.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-23 20:45:32 +01:00
Jean-Baptiste Note
b732d702f9
services: syslog: Add extra-options argument to syslog service.
* gnu/services/base.scm (<syslog-configuration>): Add extra-options field.
  (syslog-shepherd-service): Use it when running the service.

* doc/guix.texi: Document it.

Change-Id: I540d070b9a9678b45ec9fa28d6fdc761f9b3fd9a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-23 20:45:31 +01:00
Giacomo Leidi
2767b4ef03
services: Add rootless-podman-service-type.
* gnu/services/containers.scm: New file;
(rootless-podman-configuration): new variable;
(rootless-podman-service-subids): new variable;
(rootless-podman-service-accounts): new variable;
(rootless-podman-service-profile): new variable;
(rootless-podman-shepherd-services): new variable;
(rootless-podman-service-etc): new variable;
(rootless-podman-service-type): new variable.
* gnu/local.mk: Test it.
* gnu/local.mk: Add them.
* doc/guix.texi (Miscellaneous Services): Document it.

Change-Id: I041496474c1027da353bd6852f2554a065914d7a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 18:32:41 +01:00
Giacomo Leidi
17e5ca8190
services: iptables: Provide a default value.
There doesn't seem to be a reason to force users to write

(service iptables-service-type
         (iptables-configuration))

instead of simply

(service iptables-service-type)

This patch provides a default value for the iptables-service-type.

* gnu/services/networking.scm (iptables-service-type): Set default-value.

Change-Id: I93b6c544dfb064c7a0a999549dff61007a38f842
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 18:32:41 +01:00
Giacomo Leidi
9411a1495f
services: pam: Allow extension of pam limits.
* gnu/services/pam.scm (pam-limits-service-type): Allow extension of pam
limits rules from users and services.

Change-Id: I93a363d1a2887493d52ef3ae32fc9721f81ddfa8
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 18:32:40 +01:00
Efraim Flashner
8e71580aae
gnu: set-xorg-configuration: Update code comment.
* gnu/services/xorg.scm (set-xorg-configuration): Update the comment
about platforms with rust support.

Change-Id: I6237ee9d26b5a74fb0d0b6680d3ff827d2a67418
2024-12-17 18:12:22 +02:00
Efraim Flashner
9583296f72
gnu: desktop-services-for-system: Update code comment.
* gnu/services/desktop.scm (desktop-services-for-system): Update the
comment about platforms with rust support.

Change-Id: Ibefa826494e29498870f392c0fec87d606d386ec
2024-12-17 18:12:18 +02:00
Christopher Baines
acb256d458
services: guix-data-service: Support specifying configuration.
The database contains some tables that are effectively used for configuration.
This commit starts to expose these to the guix service, enabling the
configuration to be handled by the service.

* gnu/services/guix.scm (<guix-data-service-configuration>): Add
git-repositories and build-servers.
(guix-data-service-configuration-git-repositories,
guix-data-service-configuration-build-servers): New procedures.
(guix-data-service-shepherd-services): Add new shepherd service to setup the
database.

Change-Id: I519efd9157b60f18c7e80e3bdc92c0e3c5729334
2024-12-16 09:20:40 +00:00
Dariqq
3a8e19a61d
gnu: lightdm-service-type: Add lightdm.conf to /etc/lightdm.
* gnu/services/lightdm.scm
(lightdm-configuration->greeters-config-dir): Rename to...
(lightdm-configuration-directory): ... this, and add the
lightdm-configuration-file.
(lightdm-shepherd-service): Don't pass the configuration file, don't set
XDG_CONFIG_DIRS
(lightdm-etc-service): New procedure.
(lightdm-service-type): Use lightdm-etc-service as the etc-extension.

Change-Id: I982ec1f7bdfd085621f45a8a1e4b175ab481202f
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-12-16 09:54:23 +09:00
Richard Sent
6ec3c260a1
services: Add resize-file-system-service.
* gnu/services/admin.scm (resize-file-system-configuration): New configuration
type.
(resize-file-system-shepherd-service): New procedure.
(resize-file-system-service-type): New variable.
* doc/guix.texi (Miscallaneous Services): Document it.

Change-Id: Icae2fefc9a8d936d4c3add47520258b341f689a4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-16 00:21:05 +01:00
Tomas Volf
e92b20a41a
services: mingetty: Support waiting on shepherd services.
For auto-login on systems with elogind, dbus-system needs to be started.  This
commit adds ability to express that ordering.

* gnu/services/base.scm (<mingetty-configuration>): Add shepherd-requirement
field.
(mingetty-shepherd-service): Use it.
* doc/guix.texi (Base Services)<mingetty-configuration>: Document it.

Change-Id: Iedbdc4375180740379d561aa193d7c63350d2e7b
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-12-15 00:19:41 +09:00
Tomas Volf
a64a3a14e8
services: mingetty: Rename misnamed accessors.
Rename the accessors to ensure all start with `mingetty-configuration-'
prefix.  Some were named just `mingetty-$FIELD', instead of
`mingetty-configuration-$FIELD'.

The renaming *is* backwards compatible, since in the define-module's #:export
argument the correct (`mingetty-configuration-$FIELD') were used already and
thus the accessors were not accessible.

* gnu/services/base.scm (<mingetty-configuration>): Rename accessors for
auto-login, login-program, login-pause?, clear-on-logout?.

Change-Id: I4557a82498805ade0b341feda9d33eccc305690f
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-12-15 00:19:41 +09:00
Tomas Volf
7068f6f7a5
services: mingetty: Add additional configuration options.
Not all aspects of mingetty were configurable, so this commit adds the
additional configuration fields to support that.

* gnu/services/base.scm (<mingetty-configuration>): Add delay, print-issue,
print-hostname, nice, working-directory, root-directory fields.
(mingetty-shepherd-service): Use the new fields.
(define-module)<#:export>: Export the new accessors.
* doc/guix.texi (Base Services)<mingetty-configuration>: Document the
additional field.

Change-Id: I4557a82498805ade0b341feda9d33eccc305690f
2024-12-15 00:19:41 +09:00
Ludovic Courtès
33bed95107
services: cuirass: Run in a UTF-8 locale.
Fixes <https://issues.guix.gnu.org/73751>.

* gnu/services/cuirass.scm (cuirass-shepherd-service): Add ‘LC_ALL’.

Reported-by: Noé Lopez <noelopez@free.fr>
Change-Id: I9121a213405d287e2f15338c8608153e11c2508d
2024-12-12 12:52:07 +01:00
Janneke Nieuwenhuizen
285f0862d8
services: hurd-vm: Set overload-threshold to 1.8.
The uptime/ /proc/loadavg reporting in the Hurd is 1.0 for a machine without
load.  This may have been caused by recent SMP work.

* gnu/services/virtualization.scm (hurd-vm-guix-extension): Set
overload-threshold to 1.8 to allow offloading to actually happen.

Change-Id: I2b5be4d8e8d884cba767702f9cdccf91717eb95d
2024-12-10 17:43:49 +01:00
Richard Sent
b0421cc964
services: admin: Improve use of unattended-upgrade reboot? field.
This ensures the unattended upgrade job successfully reboots regardless of the
value for services-to-restart. Previously the mcron service may be restarted
which would halt script execution before the system rebooted.

* gnu/services/admin.scm (unattended-upgrade-mcron-jobs): Do not restart
services when reboot? is #t.
* doc/guix.texi (Unattended Upgrades): Document it.

Change-Id: I8e486a764ec1dc5c3090130cc447a0cc3f5a2e00
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-09 23:15:45 +01:00
Ludovic Courtès
e065384eee
services: shepherd: Remove ‘call-with-{input,output}-file’ replacements.
Shepherd 1.0.0 provides similar replacements.

* gnu/services/shepherd.scm (shepherd-configuration-file): Remove
‘call-with-input-file’ and ‘call-with-output-file’ O_CLOEXEC
replacements.

Change-Id: Id8a4d5cfcb9b9213f3a017cafead21cc86fdb51e
2024-12-09 23:15:44 +01:00
Ludovic Courtès
2a5c003c53
services: shepherd: Default to 1.0.
* gnu/services/shepherd.scm (<shepherd-configuration>)[shepherd]:
Default to SHEPHERD-1.0.
* gnu/system/hurd.scm (%base-packages/hurd): Change to SHEPHERD-1.0.

Change-Id: I7b0c3041d61a6f5d89c9d6d3caf7a8eedf5d8ca5
2024-12-09 23:15:44 +01:00
Richard Sent
0972a27572
services: wireguard: Support lists of gexps for most fields.
In order to support more flexibility in Wireguard configuration, ungexp the
configuration fields directly instead of ungexp-splicing a sexp
calculator. This allows for the fields to take arbitrary gexps instead of only
strings which is particularly helpful for the Pre/Post Up/Down commands.

* gnu/services/vpn.scm (wireguard-configuration-file): Ungexp configuration
lists instead of ungexp-splicing the code surrounding them.
* doc/guix.texi (VPN Services)[wireguard]: Document it.

Change-Id: If074cbb78473b6fd34e0e4e990d2ed268001d6c7
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2024-12-06 20:09:28 +01:00
Richard Sent
1a17a0f90d
services: wireguard: Add the bootstrap-private-key? field.
The syntax from using the private-key field is more convenient than writing a
custom PreUp command (more formatting and preshared keys). Instead of trying
to guess if private-key is/is not a file path, add an option to disable
bootstrapping while still using private-key.

* gnu/services/vpn.scm (<wireguard-configuration>): Add
bootstrap-private-key?.
(wireguard-activation): Check bootstrap-private-key? before bootstrapping.
* doc/guix.texi (VPN Services)[wireguard]: Document it.

Change-Id: I6ba71ad58b26743057a221a54a246369022f83a5
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2024-12-06 20:09:28 +01:00
Richard Sent
aa12068c91
services: wireguard: Make the private-key field optional.
Users who retrieve the private-key via a PreUp field need to be able to
disable the default retrieval mechanism.

* gnu/services/vpn.scm (<wireguard-configuration>)[private-key]: Change
comment.
(wireguard-configuration-file): Conditionally serialize private-key.
* gnu/services/vpn.scm (wireguard-activation): Do not create private-key if
the field is #f.
* doc/guix.texi (VPN Services)[wireguard-configuration]: Document it.

Change-Id: Iac419809ae94eb76e97ff1f1749e2f4b3e65bb04
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2024-12-06 20:09:28 +01:00
Ian Eure
ea5ee89274
gnu: Add powertop-service-type.
* gnu/services/pm.scm (powertop-shepherd-service)
(powertop-service-type, powertop-configuration): New variables.
* doc/guix.texi (Power Management Services): Document powertop-service-type.

Change-Id: I1c5ef855526458ad54f62ca6e755da82acce1c4a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-11-23 16:09:25 +01:00
Dariqq
f0543c5b6d
gnu: services: power-profiles-daemon: Beautify service.
* gnu/services/pm.scm (power-profiles-daemon-shepherd-service): Change indentation.
[requirement]: Add user-processes.
[documentation]: Change name to Power Profiles Daemon.

(power-profiles-daemon-service-type)
[description]: Change name to Power Profiles Daemon.

Change-Id: Ibbd06cf1fbadd812ad3f0eac92b9772e3387f875
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-11-20 23:43:13 +01:00
Tomas Volf
ad09bf9638
services: nginx-upstream-configuration: Allow file-like objects
* gnu/services/web.scm (emit-nginx-upstream-config): Support file-like
objects.
* doc/guix.texi (Web Services)[nginx-upstream-configuration]: Document it.

Change-Id: I49996e358174dc77b31e3c91b908a6a72f3eb705
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-11-20 23:41:08 +01:00
Tomas Volf
123dcaefe9
services: nginx: Print extra-content before the server-blocks.
The configuration file is processed sequentially, which meant that there was
no way to set for example log format shared between the server-blocks, because
the final configuration file would have this order:

  ...
  http {
    ...
    server {
    }
    ...
    $extra-content
  }

Moving the extra-content before the serialization of server-blocks resolves
this.

* gnu/services/web.scm (default-nginx-config): Move extra-content before
server-blocks.

Change-Id: Ie8286a533dfed575abc58a0f4800706b3ad6adc2
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-11-20 23:39:11 +01:00
Nicolas Graves via Guix-patches via
b93434e656
gnu: postgresql-configuration: Unset default postgresql.
* gnu/services/databases.scm (postgresql-configuration)[postgresql]:
Unset default.
(postgresql-service-type): Remove default-value.
(postgresql-service): Revert default to postgresql-10 (rationale: We
can remove this service at the same time than postgresql-10, in
something like 6 months to a year).
* doc/guix.texi: Remove postgresql default reference in documentation.

Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-11-16 18:13:02 +01:00
Janneke Nieuwenhuizen
a16c94446e
system: hurd: Add swap-services to hurd-default-essential-services.
* gnu/services/base.scm (swap-service-type): Do not include 'udev' requirement
for the Hurd.  Use system* with "swapon", "swapoff" for the Hurd.
* gnu/system.scm (hurd-default-essential-services): Add swap-services.
* gnu/services/base.scm (swap-service-type):

Change-Id: I1d4d445c614921752dc84aa0dd6ff42cdbf62aa8
2024-11-11 07:28:33 +01:00
Janneke Nieuwenhuizen
6dbfe1a118
system: hurd: Remove qemu networking from %base-services/hurd.
This allows us to use %base-services/hurd for services in a Hurd config for a
real machine without removing static-networking.

* gnu/system/hurd.scm (%base-services/hurd): Factor networking out to...
(%base-services+qemu-networking/hurd): ..this new variable.
* gnu/system/examples/bare-hurd.tmpl (%hurd-os): Use it.
* gnu/services/virtualization.scm (%hurd-vm-operating-system): Use it.
* gnu/system/images/hurd.scm (hurd-barebones-os): Use it.  Add comment about
QEMU and networking for a real machine.

Change-Id: I777a63410383b9bf8b5740e4513dbc1e9fb0fd41
2024-11-11 07:28:33 +01:00
Reepca Russelstein
6a8a6171a7
services: guix: Add access control to daemon socket.
* gnu/services/base.scm
  (guix-configuration-socket-directory-{permissions,group,user}): New fields.
  (guix-shepherd-service): Use them.
* doc/guix.texi (Base Services): Document them.

Change-Id: I8f4c2e20392ced47c09812e62903c87cc0f4a97a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-11-03 23:05:06 +01:00
Ludovic Courtès
e7a445571d
services: cuirass: Run ‘remote-worker’ under its own user/group.
The ‘--user’ option was added to ‘cuirass remote-worker’ in Cuirass
commit 3a6abc17f904f38098d3ab08e9d82de2e821d348 (Nov. 2023).

* gnu/services/cuirass.scm (%cuirass-remote-worker-accounts): New
variable.
(cuirass-remote-worker-shepherd-service): Pass ‘--user’.
(cuirass-remote-worker-service-type): Add ACCOUNT-SERVICE-TYPE
extension.

Change-Id: I075ea02b6972adcad0a75e330073e85c4dacbbc5
2024-11-03 22:48:36 +01:00
Maxim Cournoyer
2c322884b4
services: anonip: Add 'debug?' configuration field.
* gnu/services/web.scm (<anonip-configuration>) [debug?]: New field.
(anonip-shepherd-service): Honor it.
* doc/guix.texi (Log Rotation) <anonip-configuration>: Document it.

Change-Id: Iaf57b5992808374b069a55c34a9adfdfe52b046c
2024-11-01 23:15:20 +09:00
Maxim Cournoyer
49375f83fc
services: web: Fix race between nginx activation and anonip.
* gnu/services/web.scm (anonip-shepherd-service): Recreate the input file when
it's not a FIFO.

Fixes: <https://issues.guix.gnu.org/59181>
Change-Id: I8ba87f9fc48ecfd515e34bdee9e2949a2a559f9c
2024-11-01 21:58:28 +09:00
Nicolas Graves
351fdf69f7
gnu: postgresql: Deprecate unsupported versions.
Versions 10 and 11 are unsupported according to
https://www.postgresql.org/support/versioning/

postgresql-10 also has a CVE.

* doc/guix.texi: Change default value of postgresql-service-type's
postgresql field.
* gnu/packages/databases.scm (postresql-10, postgresql-11): Use
define-deprecated/public to warn users.
* gnu/services/databases.scm (postgresql-configuration): Change the
default value of postgresql-configuration-postgresql.
* gnu/tests/guix.scm (%guix-data-service-os): Change the default value
of postgresql.

Signed-off-by: Andreas Enge <andreas@enge.fr>
Change-Id: Ie8744c8e1f246e9b45ff5e29d4e98214de3ca66a
2024-10-28 10:41:27 +01:00
Maxim Cournoyer
e4e1e16bc1
services: lightdm: Fix activation script and default vnc server command.
* gnu/services/lightdm.scm (lightdm-configuration)
[vnc-server-command]: Add missing '/' in binary file name..
(%lightdm-activation): Apply 'directory' *variable*, not string, to
'find-files'.

Reported-by: Dariqq <dariqq@posteo.net>
Change-Id: Iec67051d18026c87800552f9dd3198f065f2dc7d
2024-10-23 23:46:50 +09:00