Commit Graph
2545 Commits
Author SHA1 Message Date
Yelninei 3ee8ffb3dd services: Add hurd-login-service-type.
* gnu/services/hurd.scm (<hurd-login-accounts>): New record.
  (hurd-login-accounts): New procedure.
  (hurd-login-service-type): Add accounts-service-type extension.

Merges: https://codeberg.org/guix/guix/pulls/10548
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-08-26 16:03:45 +09:00
Herman Rimm 933ef6f5f4 services: elogind: Remove deprecated fields.
* gnu/services/desktop.scm (elogind-deprecated-empty-serializer): Remove
variable.
(elogind-configuration): Remove deprecated fields.
* doc/guix.texi (Desktop Services): Remove descriptions for deprecated
configuration fields.

Change-Id: Ic4847d9da352671eb0dd7a7ffe507b8b5ff149e4
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2026-08-26 11:18:07 +09:00
Maxim Cournoyer 836beed08e Revert "services: nscd: Create /etc/resolv.conf if it does not exist."
This reverts commits 49f9d7f697 and
c298fb133a.  Since glibc version 2.22 (Guix was
already on 2.25 when these commits were introduced), nscd's inotify support is
improved and can track a newly added /etc/resolv.conf.  There is no need to
create it beforehand.

Fixes: #10192
Reported-by: brian cully <bjc@spork.org>
2026-08-26 09:29:04 +09:00
Noé Lopez 20d5c55337 services: gdm: Add gdm-greeter user.
* gnu/services/xorg.scm (%gdm-accounts): Add gdm-greeter user.

Change-Id: I6a0ddabfe9a7671f4bd8d2f19d631f04653deba5
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-08-25 01:15:33 +02:00
Maxim Cournoyer 11bbd9b45b gnu: elogind: Update to 257.14.
* gnu/packages/freedesktop.scm (elogind): Update to 257.14.
* gnu/services/desktop.scm (elogind-dbus-service): Delete variable.
(elogind-service-type) [extensions] {dbus-root-service-type}: De-register it.
2026-08-25 01:15:28 +02:00
Christopher Baines 9ceab34e9b gnu: services: audio: Add snapcast snapserver service.
This is just the server component, another service definition is needed for
the snapclient.

* gnu/services/audio.scm: (snapserver-stream, snapserver-stream?,
snapserver-stream-name, snapserver-stream-type, snapserver-stream-location,
snapserver-stream-codec, snapserver-stream-sampleformat,
snapserver-stream-chunk-ms, snapserver-stream-parameters,
snapserver-configuration, snapserver-configuration?,
snapserver-configuration-package, snapserver-configuration-user,
snapserver-configuration-group, snapserver-configuration-shepherd-requirement,
snapserver-configuration-log-file, snapserver-configuration-log-filter,
snapserver-configuration-data-directory, snapserver-configuration-mdns?,
snapserver-configuration-http?, snapserver-configuration-http-port,
snapserver-configuration-http-bind-address, snapserver-configuration-doc-root,
snapserver-configuration-tcp-control?,
snapserver-configuration-tcp-control-port,
snapserver-configuration-tcp-streaming?,
snapserver-configuration-tcp-streaming-port, snapserver-configuration-streams,
snapserver-configuration-codec, snapserver-configuration-sampleformat,
snapserver-configuration-buffer-ms, snapserver-configuration-chunk-ms,
snapserver-configuration-send-to-muted?,
snapserver-configuration-extra-content): New procedures.
(snapserver-service-type): New variable.
* doc/guix.texi (Audio Services): Document it.

Change-Id: I5dd2c15ff8c1b560abd481147312a8d6fc844776
2026-08-22 20:03:01 +01:00
coopi 2407608d5a gnu: services: Add gpu-screen-recorder-service-type.
* gnu/services/desktop.scm: Import (gnu packages video).
(gpu-screen-recorder-configuration): Export.
(gpu-screen-recorder-configuration?): Export.
(gpu-screen-recorder-service-type): Export.
(<gpu-screen-recorder-configuration>): New record type.
(gpu-screen-recorder-privileged-programs): New procedure.
(gpu-screen-recorder-service-type): New variable.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Merges: guix/guix#10400
2026-08-22 16:49:17 +02:00
Christopher Baines dd12ee2847 gnu: services: pm: Add hd-idle.
* gnu/services/pm.scm: (hd-idle-disk, hd-idle-disk?, hd-idle-configuration, hd-idle-configuration?):
New prodedures.
(hd-idle-service-type): New variable.
* doc/guix.texi (Power Management Services): Document it.

Change-Id: I205b9a8de9aa8a15314d03962582aa3ae245a31e
2026-08-21 16:42:58 +01:00
Ludovic Courtès f5326e03e2 services: cuirass: Add ‘minimum-disk-space’ field.
* gnu/services/cuirass.scm (<cuirass-remote-worker-configuration>)
[minimum-disk-space]: New field.
(cuirass-remote-worker-shepherd-service): Honor it.
* doc/guix.texi (Continuous Integration): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #10691
2026-08-21 16:00:23 +02:00
Sergio Pastor Pérez 08edc6d5ef services: Rewrite 'zulip-irc-bridge-configuration' with 'define-configuration/no-serialization'.
* gnu/services/messaging.scm (zulip-irc-bridge-configuration): Rewrite using
'define-configuration/no-serialization'.
(zulip-irc-bridge-services): Adjust for handling 'maybe-string' types.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #10180
2026-08-21 16:00:23 +02:00
Simen Endsjø 6645016c22 services: kerberos: Add missing module for the pam-krb5 package.
The package pam-krb5 which is the default value for
pam-krb5-configuration reside in this module.

* gnu/service/kerberos.scm: Add missing (gnu packages admin) module.

Merges: https://codeberg.org/guix/guix/pulls/10611
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-08-18 21:28:11 +09:00
Christopher Baines de1d58f01b gnu: services: guix: Change directory for build coordinator agent.
So that it can write core files to the current working directory, as
previously it was running in /.

* gnu/services/guix.scm (guix-build-coordinator-agent-shepherd-services): Set
 #:directory to /var/log/guix-build-coordinator.

Change-Id: Ie002c6a5729f421f32741f5121693d6ac5cb8f6e
2026-08-17 20:33:38 +01:00
Douglas Deslauriers 910e426076 services: vmware-vmtoolsd: Add vmware-vmtoolsd service.
Reasoning on running these executables outside a VMWare hypervisor is
difficult, which mean we can't implement service tests in current state
of the art in upstream QEMU.

Essentially the first thing any `open-vm-tools' executable checks is
whether it is executing in a VMWare hypervisor via
`CPUID_VMWARE_HYPERVISOR_VENDOR_STRING' [1]. This would fail for any
machine not running inside VMWare.

Marionette evaluations in Guix use QEMU to run the virtual machines that
some tests run on. QEMU emulates and allow configuration of some CPUID
flags and vendor strings. It does not emulate the hypervisor flag, or
allow configuration of the hypervisor vendor flag, which would be
required for this program to run and output anything observable, other
than a non-zero exit code.

In the case someone added upstream QEMU support for custom CPUID
hypervisor flags and vendor strings, these executables would initialize
a log file, but could not test anything meaningful without a hypercall
interface. QEMU sort-of emulates such an interface when it is told to
act like the Xen hypervisor, but doesn't seem to support the required
`vmcall', `vmmcall', or `inl' x86 assembly instruction communication
mechanism between the host and guest.

The Linux KVM supports a limited set of hypercalls [2], but certainly
not the ones required for these executables, the same applies for
Hurd. Since the KVM project already has a functional serial interface
between the guest and host [3], it is a low possibility upstream would
want to greatly expand the `vmcall' hypercall support in any case.

An alternative path would be to add the `USE_VALGRIND' define when
compiling the `vmware-open-vm-tools' package, which skips the hypervisor
CPUID flag checking, but still would require proper hypercall support to
test anything useful.  Additionally, this would require another package,
or perhaps a "testing" output of the `vmware-open-vm-tools' pacakge,
which would be a nearly entire duplicate of the executables and would be
used exclusively for whichever test is written.

1. <https://github.com/vmware/open-vm-tools/blob/stable-13.1.x/open-vm-tools/lib/vmCheck/vmcheck.c#L335>
2. <https://docs.kernel.org/virt/kvm/x86/hypercalls.html>
3. <https://linux-kvm.org/page/VMchannel_Requirements>

* gnu/services/virtualization.scm
(vmware-vmtoolsd-shepherd-service): new procedures.
(vmware-vmtoolsd-service-type): new service type
(vmware-vmtoolsd-configuration): new struct.
update copyright commentary.
* doc/guix.texi (Virtualization Services): document it.

Merges: guix/guix!5098
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-08-14 11:07:36 +01:00
Dariqq fed5ef4baf services: opensmtpd: Add setuid lockspool to privileged programs.
* gnu/services/mail.scm (opensmtpd-set-gids): Rename to...
(opensmtpd-privileged-programs): ...this and add setuid root lockspool.
(opensmtpd-service-type): Use new variable name.
2026-08-09 14:44:26 +02:00
Nicolas Graves c46455072f jupyter: Ensure a correct home #:log-file.
* gnu/services/jupyter.scm (jupyter-shepherd-service): Add an optional
log-file argument and export it.

* gnu/home/services/jupyter.scm (home-jupyter-service-type): Change
the log-file so that it matches expectations for home-services.

Merges: guix/guix!8657
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-08-09 13:30:49 +01:00
Nicolas Graves 83022166ef gnu: services: Add jupyter services.
* gnu/services/jupyter.scm : New file.  Introduce jupyter-service-type
and jupyter-configuration.
* gnu/home/services/jupyter.scm : New file.  Introduce home variants.
* gnu/local.mk : Record files.

Relates-to: guix/guix!8657
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-08-09 13:30:03 +01:00
Arun Isaac 027110a650 gnu: services: Export nginx-server-configuration-try-files.
* gnu/services/web.scm: Export nginx-server-configuration-try-files.

Change-Id: Ia6132547b32c887fb6353c2eeb3104bd82d07acf
2026-08-03 02:27:04 +01:00
Alex Korzh a8d004f695 services: btrfs-scrub: Fix list serializer name.
* gnu/services/linux.scm (btrfs-scrub-serialize-list-of-strings): Fix typo.

Signed-off-by: Ian Eure <ian@retrospec.tv>
2026-08-01 13:39:09 -07:00
Maxim Cournoyer 598966a9e0 services: rsync: Remove deprecated configuration options.
These have been deprecated since 2021.

* gnu/services/rsync.scm (warn-share-field-deprecation): Delete syntax.
(<rsync-configuration>) [use-chroot?, share-path, share-comment]
[read-only?, timeout]: Delete deprecated fields.
(rsync-configuration-modules): Delete compatibility procedure.
* doc/guix.texi (Networking Services) <rsync-configuration>: Update doc.

Change-Id: Ia7742deaf61dc87824e70172647f2974c5ddb758
2026-07-29 15:59:08 +09:00
Maxim Cournoyer 6572e884cb services: rsync: Remove default /srv/rsyncd module.
* gnu/services/rsync.scm (%default-modules): Set to '().
(%default-modules): Delete variable.

Change-Id: I60be41a4adfbce8c5e6ee38178d1e22413847868
2026-07-29 15:59:08 +09:00
Herman Rimm 90a0b71c0c services: elogind: Fix runtime-directory-size field.
Both runtime-directory-size and runtime-directory-size-percent field currently
cause an error if set.  A comment above the latter already calls for its
deprecation.  This patch combines both into a single field and fixes
their serialization.

* gnu/services/desktop.scm (percent?, percent, elogind-serialize-percent):
Replace with…
(non-negative-integer-and-suffix?, non-negative-integer-and-suffix)
(elogind-serialize-non-negative-integer-and-suffix): … these.
(elogind-configuration)[runtime-directory-size-percent]: Remove field,
integrating logic into …
[runtime-directory-size]: … here.  Serialize it.
* doc/guix.texi (Desktop Services): Adjust accordingly.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Merges: guix/guix#9987
2026-07-28 18:32:32 +02:00
Nguyễn Gia Phong a614981453 services: Eliminate tab-based indentations.
* gnu/services/admin.scm: Replace tabs with 8 spaces.
* gnu/services/dbus.scm: Likewise.
* gnu/services/power.scm: Likewise.
* gnu/services/ssh.scm: Likewise.
* gnu/services/virtualization.scm: Likewise.
* gnu/services/web.scm: Likewise.
* gnu/services/xorg.scm: Likewise.
* gnu/services/networking.scm: Reindent lines with tabs.
2026-07-27 11:53:41 +09:00
wrobell 0257734a40 services: rabbitmq: Depend on epmd.
* gnu/services/high-availability.scm (rabbitmq-shepherd-service):
  Change requirement to epmd service.
* doc/gnu.texi (High Availability Services): Document it.
* gnu/tests/high-availability.scm (%rabbitmq-os): Add epmd service.

Merges: https://codeberg.org/guix/guix/pulls/9607
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-07-26 15:25:57 +09:00
wrobell ce8df30021 services: Add epmd-service-type.
Add Erlang Port Mapper Daemon (epmd) service.
Run the service on localhost by default.

* gnu/services/high-availability.scm (<epmd-configuration>): New record.
  (epmd-service-type): New variable.
* gnu/tests/high-availability.scm (run-epmd-test): New procedure.
  (%epmd-os, %tests-epmd): New variables.
* doc/gnu.texi (High Availability Services): Document it.

Merges: https://codeberg.org/guix/guix/pulls/9607
References: https://www.rabbitmq.com/blog/2024/12/18/epmd-public-exposure
References: https://erlef.org/blog/eef/epmd-public-exposure
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-07-26 15:23:19 +09:00
Sergio Pastor Pérez b0231ab7ee services: Add `zulip-irc-bridge-service-type'.
* gnu/services/messaging.scm: (zulip-irc-bridge-configuration): New configuration record.
(%zulip-accounts): New variable.
(zulip-irc-bridge-services): New procedure.
(zulip-irc-bridge-service-type): New service.
* doc/guix.texi (Messaging Services): Document `zulip-irc-bridge-service-type'
and `zulip-irc-bridge-configuration'.

Change-Id: Ie74aa71f2912ccd905c0866ede9ead7b397f7c64
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7047
2026-07-25 01:30:26 +02:00
Anderson Torres 650080f7a6 gnu: services: Change (gnu packages wm) to (gnu packages window-management).
* gnu/services/base.scm: Change (gnu packages wm) to (gnu packages window-management).

Change-Id: Ifb750c6ac9db6dff23825144e4890556fe3f6df5
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-07-14 19:00:39 +02:00
Julien Lepiller 675e84a77e services: Fix typo.
* gnu/services/base.scm (nwg-hello-configuration): Fix typo.
* doc/guix.texi: Modify accordingly.

Change-Id: I64d91588773978d45d8df3562ef4dde900da9bf0
2026-07-11 08:01:24 +02:00
Julien Lepiller 17c0a1d553 services: Fix typo.
* gnu/services/audio.scm (mympd-service-type): Fix typo.

Change-Id: I88dc81014e33efe2d5100ae5856f34a19eabce7a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-07-11 08:01:14 +02:00
Sergey Trofimov 2977beee11 services: syncthing: Update configuration file version.
* gnu/services/syncthing.scm: (<syncthing-config-file>,
<syncthing-folder>, syncthing-config-file->sxml): Align for config
version 52.

* gnu/packages/syncthing.scm (syncthing): Add a comment to refresh
configuration file version during update of the package.

Merges: guix/guix!9822
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-07-08 22:55:19 +01:00
Hilton Chain 7a9d01dce7 services: sddm: Use sddm-qt5 by default.
This improves out-of-box experience of the service, since the default theme
only supports sddm-qt5.

* gnu/services/sddm.scm (<sddm-configuration>) [sddm]: Use sddm-qt5.
* doc/guix.texi (X Window) [sddm-configuration]: Adjust accordingly.

Change-Id: I97825751fc230b41fbc3d5d1ae86eb2408c4dc29
Merges: #7480
2026-07-06 16:08:21 +08:00
Thanos ApolloandNguyễn Gia Phong ee71b7003d services: git-http-nginx-location-configuration: Enable configuration of the root URI path /.
* gnu/services/version-control.scm
  (git-http-nginx-location-configuration): Handle the case
  where uri-path is "/" by not adding an extra slash prefix.
* gnu/tests/version-control.scm (git-nginx-root-configuration):
  Generalize from %git-nginx-root-configuration
  to take uri-path as an argument from...
  (git-http-os): ...this new procedure generalized from %git-http-os
  to take uri-path as an argument from...
  (git-http-test): ...this new procedure generalized
  from run-git-http-test to return a system test
  instead of just its store value.  Additionally
  take name, description, and uri-path arguments.
  (%test-git-http): Adjust accordingly.
  (%test-git-http-root-path): Duplicate %test-git-http
  with "/" instead of "/git/" as uri-path.

Merges: https://codeberg.org/guix/guix/pulls/6140
Co-authored-by: Nguyễn Gia Phong <cnx@loang.net>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-07-03 16:09:28 +09:00
coopi 980d0d6f76 services: Add kanata-service-type.
* gnu/services/desktop.scm: Import (gnu packages rust-apps).
(kanata-configuration): New record type.
(kanata-shepherd-services): New procedure.
(%kanata-group, %kanata-user, %kanata-accounts, %kanata-udev-rule)
(kanata-service-type): New variables.
* doc/guix.texi (Desktop Services): Document `kanata-service-type'.

Change-Id: I5e8041c6dba17ae0fad33b8ca74099c053c4a3ea
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #9093
2026-07-02 19:17:19 +02:00
Ludovic Courtès ab28c1f602 services: guix: Factorize /etc/guix configuration file installation.
This also fixes a bug in ‘install-channels-file’ whereby, if
/etc/guix/channels.scm is a dangling symlink, the activation would go on
calling ‘symlink’, which would fail with EEXIST.

This is the same problem as was fixed in
91e1a457b5 for /etc/guix/machines.scm and in
e9cd72875e for /etc/guix/acl.

* gnu/services/base.scm (guix-configuration-file-installation): New procedure.
(substitute-key-authorization): Use it.
(install-channels-file): Use it.
(guix-machines-files-installation): Use it.

Change-Id: I6eb245e329e83802fc8a0d12643e249a4474aa82
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #8851
2026-06-29 23:19:31 +02:00
wrobell bfb35abf16 services: Update rabbitmq service
Update RabbitMQ default configuration to use localhost interface by
default and avoid listening on public interfaces.

Change the default configuration file to set inter-node communication
listener to localhost network interface (see also
https://www.rabbitmq.com/docs/networking#distribution). This requires
setting RabbitMQ node name to `rabbit@localhost`, so introduce
`node-name` RabbitMQ configuration field with such default value.

Path to the RabbitMQ environment configuration file was hardcoded.
Remove the hardcoding and allow to create such file with env-config-file
RabbitMQ configuration field.

Add new RabbitMQ service tests to check RabbitMQ broker startup and
status after the service is started.

* gnu/services/high-availability.scm (<rabbitmq-configuration>)
  [<node-name>, <env-config-file>]: New fields.
  (rabbitmq-shepherd-service): Use them.
  (%default-rabbitmq-config-file): Update.
* gnu/tests/high-availability.scm (run-rabbitmq-test): Add new tests.
* doc/gnu.texi (High Availability Services): Document new fields and
  provide information about local interfaces.

Merges: guix/guix!9360
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-06-28 23:38:21 +01:00
Sughosha c64bf4fe73 services: Add nwg-hello greeter for greetd.
* gnu/services/base.scm (nwg-hello-configuration): New configuration.
(nwg-hello-configuration-file): New variable.
(nwg-hello-style): New configuration.
(nwg-hello-stylesheet): New variable.
(greetd-nwg-hello-sway-session): New configuration.
(make-greetd-nwg-hello-sway-session-sway-config): New variable.
(greetd-nwg-hello-sway-session-compiler): New gexp compiler.
* doc/guix.texi (Base Services): Document the new greeter.

Merges: guix/guix!7644
Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-06-24 21:30:45 +01:00
Maxim Cournoyer 16b1072f66 services: postgresql: Log to stderr instead of syslog by default.
This corresponds to postgresql's own default; it means we can let go of the
syslogd dependency by default and arguably makes it easier to find some
postgresql related errors.

* doc/guix.texi (Database Services) <postgresl-config-file>: Adjust example
to showcase something different than the new default.  Change documented
default to stderr.
* gnu/services/databases.scm (<postgresql-config-file>)
[log-destination]: Change default value to stderr.
(postgresql-shepherd-service) <requirement>: Conditionally add
syslogd dependency only if found in log-destination value.
(postgresql-role-shepherd-service) <#:log-file>: Uncomment.
2026-06-19 11:04:25 +09:00
coopi bc47330122 gnu: services: desktop: Secure kmonad-service-type.
This runs the KMonad daemon as a dedicated, unprivileged user, isolates
synthetic event creation to a uinput group, and automatically loads the uinput
kernel module via udev rules.

* gnu/services/desktop.scm (%uinput-group, %kmonad-group, %kmonad-udev-rule)
(%kmonad-user, %kmonad-accounts): New variables.
(kmonad-shepherd-services): Pass #:user, #:group, and #:supplementary-groups
to 'make-forkexec-constructor'.
(kmonad-service-type): Extend 'account-service-type' and 'udev-service-type'.

Change-Id: Icea21049d0427e25052c952bb08a03379e3a3e1f
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-06-18 12:31:24 +02:00
Sergio Pastor Pérez a3d5dc72ec services: kmonad: Add missing accessors and adjust documentation.
* doc/guix.texi (Desktop Services): Use generated documentation for
`kmonad-configuration'.
* gnu/services/desktop.scm (kmonad-configuration): Export accessors.

Change-Id: I3b5dadd86b1234004222105013dcf0e635f585c4
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-06-18 12:31:24 +02:00
Sergio Pastor Pérez 80a47a522e gnu: services: desktop: Fix kmonad-shepherd-services documentation.
* gnu/services/desktop.scm (kmonad-shepherd-services): Replace
'computed-file-name' with a numeric index in the documentation string to
support all file-like objects.

Change-Id: Id9ee0939e3c6e156576f78452c0465c54744cb32
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-06-18 12:31:24 +02:00
Sören Tempel 3e713ae41c services: dhcp-client: Remove service.
This services has been deprecated for a while in favor of
dhcpcd-service-type as the ISC DHCP implementation used
by this services has reached end-of-life upstream.

* gnu/services/networking.scm (dhcp-client-service-type): Remove.
(dhcp-client-shepherd-service): Remove.
(<dhcp-client-configuration>): Remove.
* doc/guix.texi (Networking Services): Remove dhcp-client-service-type
section.

Change-Id: I53f87c6ece8608a0f46d9973d6e70abb88ba7c2b
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-06-18 12:31:24 +02:00
Nigko Yerden 8215ee8419 services: autossh: Add shepherd-provision configuration option.
Allow to have several autossh services in system configuration.

gnu/services/ssh.scm (autossh-configuration)[shepherd-provision]: New field.
(autossh-file-name): Use first symbol from shepherd-provision as a base name
for the runtime autossh directory.
(autossh-shepherd-service)[shepherd-service]{provision}: Set to shepherd-provison.
doc/guix.texi (Networking Services)[autossh-configuration]: Document it.

Merges: !9285
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2026-06-16 14:25:14 +09:00
Nigko Yerden 98d0f9e6b5 services: autossh: Add auto-start? configuration option.
gnu/services/ssh.scm (autossh-configuration)[auto-start?]: New field.
(autossh-shepherd-service)[shepherd-service]{auto-start?}: New field.
doc/guix.texi (Networking Services)[autossh-configuration]: Document it.

Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2026-06-16 14:24:46 +09:00
Noé Lopez a25b934e1a gnu: shepherd: Move guile-fibers to propagated inputs.
Fixes guix/guix#1079.
Fixes <https://issues.guix.gnu.org/75833>.

* gnu/packages/admin.scm (shepherd-0.10, shepherd-1.0):
Move guile-fibers from inputs to propagated-inputs.
Use new inheritance style.
(shepherd-for-home): Don’t inherit propagated-inputs.
* gnu/services/shepherd.scm (scm->go): Find guile-fibers in propagated-inputs
instead of inputs.

Reported-by: Tomas Volf <~@wolfsden.cz>
Change-Id: I9a406ba763408c064df0e68928564888b76b43b5
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-06-15 18:51:09 +02:00
Tomas Volf 07e3d705d5 services: elogind: Move settings to correct file, correct names.
For quite some time now, elogind was logging the following warnings one every
start.

    [..]/logind.conf:2: Unknown key 'AllowPowerOffInterrupts' in section [Login], ignoring.
    [..]/logind.conf:3: Unknown key 'AllowSuspendInterrupts' in section [Login], ignoring.
    [..]/logind.conf:4: Unknown key 'BroadcastPowerOffInterrupts' in section [Login], ignoring.
    [..]/logind.conf:5: Unknown key 'BroadcastSuspendInterrupts' in section [Login], ignoring.
    [..]/logind.conf:21: Unknown key 'RemoveIpc' in section [Login], ignoring.

First 4 should have been in sleep.conf, and the last one had bad casing.  This
commit addresses both those problems.

* gnu/services/desktop.scm (elogind-name->string): New procedure.
(elogind-serialize-boolean, elogind-base-serializer, elogind-list-serializer):
Use it.
(%elogind-configuration-sleep-fields): Add allow-power-off-interrupts?,
allow-suspend-interrupts?, broadcast-power-off-interrupts? and
broadcast-suspend-interrupts?.

Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2026-06-15 09:13:22 +09:00
Nox 7828ae694d services: prosody-shepherd-service: Execute prosody directly.
System services should start the prosody binary directly,
with the prosody user and group.

* gnu/services/messaging.scm (prosody-shepherd-service):
  Run prosody directly.

Change-Id: Iaf39d2fbd362f44f0d4de32cfbac1a31754d95dc
Merges: https://codeberg.org/guix/guix/pulls/8711
Reviewed-by: Carlo Zancanaro <carlo@zancanaro.id.au>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-06-07 22:38:56 +09:00
Anderson Torres c02088e487 gnu: Remove deprecated (gnu packages avahi) references.
* gnu/packages/games.scm: Remove the deprecated
  (gnu packages avahi) module reference.
* gnu/packages/gnome.scm: Likewise.
* gnu/packages/linux.scm: Likewise.
* gnu/packages/audio.scm: Change (gnu packages avahi)
  to (gnu packages dns).
* gnu/packages/cups.scm: Likewise.
* gnu/packages/databases.scm: Likewise.
* gnu/packages/distributed.scm: Likewise.
* gnu/packages/freedesktop.scm: Likewise.
* gnu/packages/guile-xyz.scm: Likewise.
* gnu/packages/hardware.scm: Likewise.
* gnu/packages/kde-frameworks.scm: Likewise.
* gnu/packages/kodi.scm: Likewise.
* gnu/packages/linphone.scm: Likewise.
* gnu/packages/messaging.scm: Likewise.
* gnu/packages/mpd.scm: Likewise.
* gnu/packages/package-management.scm: Likewise.
* gnu/packages/printers.scm: Likewise.
* gnu/packages/pulseaudio.scm: Likewise.
* gnu/packages/radio.scm: Likewise.
* gnu/packages/robotics.scm: Likewise.
* gnu/packages/samba.scm: Likewise.
* gnu/packages/scanner.scm: Likewise.
* gnu/packages/scheme.scm: Likewise.
* gnu/packages/synergy.scm: Likewise.
* gnu/packages/telephony.scm: Likewise.
* gnu/packages/video.scm: Likewise.
* gnu/packages/vnc.scm: Likewise.
* gnu/services/avahi.scm: Likewise.
* gnu/services/desktop.scm: Likewise.

Merges: https://codeberg.org/guix/guix/pulls/8572
Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop>
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-06-04 13:07:32 +09:00
Maxim Cournoyer 2aa2bbc5fe services: nginx: Use a fixed location for the nginx configuration file.
The motivation is twofold:

 1. We can ensure the presence of the nginx default configuration fragments in
    the configuration file directory;
 2. 'herd reload nginx' can now be used to reload an updated configuration
    file.

Before this change, 'include fastcgi_params;', for example, would fail with
error:

  nginx: [emerg] open() "/gnu/store/fastcgi_params" failed
  (2: No such file or directory) in /gnu/store/...-nginx.conf:50

* gnu/services/web.scm (%nginx-configuration-file): New variable.
(nginx-activation): Delay configuration file check to...
(nginx-shepherd-service): ... a new one-shot 'nginx-init' service.  Adjust to
use the %nginx-configuration-file variable for the configuration file.
<actions>: Add a new 'configuration' action.
(nginx-conf-files, nginx-etc-directory): New procedures.
(nginx-service-type): Extend etc-service-type with nginx-service-type.
* gnu/tests/web.scm (%nginx-servers): Add an include directive to test config
to ensure it now works.

Merges: !8811
Change-Id: I26882ab01288ec4dd374e9f282e95ffa33dfa3cc
2026-06-03 13:52:35 +09:00
Maxim Cournoyer adbee8d605 Revert "services: Add forgejo-service-type."
This reverts commit e8ac9c3c3a, pushed by mistake.
2026-06-01 15:46:21 +09:00
Maxim Cournoyer e8ac9c3c3a services: Add forgejo-service-type.
* gnu/services/forgejo.scm: New file.
* gnu/tests/forgejo.scm: Likewise.
* doc/guix.texi (Forge Services): Document it.

Change-Id: I2c4e7b570d137b8d2fb7c02a29cb9aaf5366b9e1
2026-06-01 15:44:59 +09:00
Angus Gibson 14c9a6720e services: network-manager: Only delete symlinks into store
Instead of potentially deleting in the store itself, ensure
only the symlink to the store is deleted by using delete-file.

* gnu/services/networking.scm (network-manager-activation):
<dnsmasq-configuration-files>: Use readlink instead of canonicalize path.
Use delete-file instead of delete-files-recursively.
<extra-configuration-files>: Likewise.

Change-Id: I2e84ecfebb8a6c8797d851b35e90bb747432c0b2
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-31 08:30:21 +02:00