summaryrefslogtreecommitdiff
path: root/gnu/services
AgeCommit message (Collapse)Author
2025-11-02services: gitile: Add git-owner-validation? configuration.Nguyễn Gia Phong
* gnu/services/version-control.scm (gitile-configuration): Add git-owner-validation? field. * doc/guix.text (Version Control Services): Document it. Change-Id: I7d35e66e512fcaae25a5eac138b0fb2437a7c70c
2025-11-02services: git-http-nginx-location-configuration: Add gitconfig.Evgeny Pisemsky
* gnu/services/version-control.scm (git-http-nginx-location-configuration): Specify a global gitconfig that marks git-root as a safe directory. Fixes: guix/guix#3649 Change-Id: I503cd05e3247a71a4bd07df49c276e04d3a43a81 Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2025-10-25services: getmail: Correct deprecated package.Andreas Enge
* gnu/services/getmail.scm (getmail-configuration)[package]: Replace getmail by getmail6. Change-Id: I53389da5afca7684275e6d7e6dae3d71d115c71d
2025-10-25tests: nar-herder: Test the control port.Christopher Baines
* gnu/services/guix.scm (nar-herder-shepherd-services): Add missing variables. * gnu/tests/guix.scm (%nar-herder-os): Have the control server listen on all interfaces. (run-nar-herder-test): Test connecting to the control server. Change-Id: I40949e8adaf0c6491ee56c59d611395a639d497b
2025-10-25services: nar-herder: Fix the control options.Christopher Baines
* gnu/services/guix.scm (nar-herder-shepherd-services): Fix the control server options. Change-Id: Iae17300f7ae6dffb0905936389b49032e763c401
2025-10-25services: nar-herder: Add storage-minimum-free-space and extra-options.Christopher Baines
Also export the control-host and control-port accessors. * gnu/services/guix.scm (<nar-herder-configuration>): Add storage-minimum-free-space and extra-options fields. (nar-herder-shepherd-services): Use these. Change-Id: Ie03b5c2ffd0daf295ebf51a1998ae01d5f0f4ef6
2025-10-24services: forgejo-runner: Add ‘log-file’ option.Romain GARBAGE
* gnu/services/ci.scm (<forgejo-runner-configuration>) [log-file]: New field. (forgejo-runner-shepherd-service): Use new field. * doc/guix.texi (Continuous Integration): Add documentation. Change-Id: Ie03e6d4b9b4f2c1cad0e9cd20032fca5ae4a4410 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-10-24services: herd: Remove ‘load-services/safe’.Ludovic Courtès
This is a followup to 95731b4ef1991f5b85aa9ec9d4fb97c006bec65d. * gnu/services/herd.scm (load-services/safe): Remove. * guix/scripts/system/reconfigure.scm (upgrade-services-program): Use ‘load-services’. Change-Id: Ie5ab99e69e2d7c1934fddd37794c07e6e07489a3
2025-10-24services: herd: Use the non-deprecated form of ‘register-services’.Ludovic Courtès
Passing a rest list to ‘register-services’ is deprecated since version 0.10.0 of the Shepherd. * gnu/services/herd.scm (load-services): Pass a list to ‘register-services’. Change-Id: Id6325259aed86d02510d4c741c0cd41c4566d3c8
2025-10-23services: unbound: Remove dns from provision.Evgeny Pisemsky
Fixes <https://issues.guix.gnu.org/76301>. The ‘dns’ provision collides with that of Knot. * gnu/services/dns.scm (unbound-shepherd-service): Remove dns from provision. Change-Id: Ice774a9a338416e865dbc4d26a8f37243f084a35 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-10-23services: nar-herder: Add control server options.Christopher Baines
* gnu/services/guix.scm (<nar-herder-configuration>): Add control host and control port fields. (nar-herder-shepherd-services): Use them. * doc/guix.texi (Guix Services): Document them. Change-Id: Ie738fb30302496d2ec530ca3b5c8b0628fdd4c05
2025-10-21services: guix: Populate /etc/subgid so guix-daemon can map the “kvm” GID.Ludovic Courtès
* gnu/services/base.scm (guix-activation): Add a line for ‘guix-daemon’ in /etc/subgid. (guix-shepherd-services): Add /run/privileged/bin to ‘PATH’. Change-Id: Ic103d86986ce2ace194b0a4296a00278bf0617eb
2025-10-21services: guix: Preserve ‘guix-daemon’ user supplementary groups.Ludovic Courtès
When running ‘guix-daemon’ unprivileged, supplementary groups such as “kvm” were dropped by ‘run-with-writable-store’. * gnu/services/base.scm (run-with-writable-store): Use ‘read-group’ to determine the list of supplementary groups for ‘user’ and pass that to ‘setgroups’. Change-Id: I21cc546a91a1a24cc94cafb44fa93e088f8673a7
2025-10-17gnu: services/desktop.scm: Remove reference to (gnu packages kde-frameworks).Sughosha
* gnu/services/desktop.scm: Remove reference to (gnu packages kde-frameworks) module. Change-Id: I3a8fa749af7b6141fe09609da32914e6f57fb70d
2025-10-17gnu: qca, qca-qt6: Move to kde-frameworks.scm.Sughosha
* gnu/packages/kde.scm: Remove file. * gnu/local.mk: Deregister it. * po/packages/POTFILES.in: Ditto. * gnu/packages/kde-frameworks.scm (qca): New variable. (qca-qt6): Ditto. * gnu/packages/geo.scm: Replace (gnu packages kde) with (gnu packages kde-frameworks). * gnu/packages/messaging.scm: Ditto. * gnu/packages/web.scm: Ditto. * gnu/packages/irc.scm: Remove reference to (gnu packages kde) module. * gnu/packages/kde-education.scm: Ditto. * gnu/packages/kde-games.scm: Ditto. * gnu/packages/kde-graphics.scm: Ditto. * gnu/packages/kde-internet.scm: Ditto. * gnu/packages/kde-office.scm: Ditto. * gnu/packages/kde-pim.scm: Ditto. * gnu/packages/kde-plasma.scm: Ditto. * gnu/packages/kde-systemtools.scm: Ditto. * gnu/packages/kde-utils.scm: Ditto. * gnu/services/desktop.scm: Ditto. Change-Id: Ib632bc46588a2400c61fd549389001ff367c0d66
2025-10-16services: cuirass: Start ‘cuirass register’ eagerly.Ludovic Courtès
* gnu/services/cuirass.scm (cuirass-shepherd-service): Pass #:lazy-start?. Change-Id: Ib91c82e74ce9c80616a3de693d858939e670a03d
2025-10-16services: cuirass: Validate specifications at build time.Ludovic Courtès
This ensures problems in the spec are caught before the system is instantiated. * gnu/services/cuirass.scm (cuirass-configuration->specification-file): New procedure. (cuirass-shepherd-service): Use it instead of ‘scheme-file’. Change-Id: I90187ed4ed1a51958159741a55b6dc635c97312a
2025-10-11services/base: Only remount read-write if needed in run-with-writable-store.Maxim Cournoyer
* gnu/services/base.scm (run-with-writable-store): Make it a no-op when the store is already writable (useful for testing). Change-Id: If598638e9d3eeac242c265cba77f27e4a15f8d9b
2025-10-07services: libvirt: Add configurable service requirements.Oleg Pykhalov
This enhances flexibility by allowing users to specify custom service dependencies for libvirt, rather than being limited to the default hardcoded requirements. This is particularly useful for complex deployments or when integrating with custom service configurations. Note that default 'dbus-system' requirement may not be strictly necessary for basic libvirt operation. For instance, libvirt can function without issues in many cases even when dbus-system is not included in the requirements, allowing for more minimal deployments. * gnu/services/virtualization.scm (list-of-symbols?, serialize-list-of-symbols): New procedures. (libvirt-configuration): Add 'requirement' field to allow custom service dependencies. (libvirt-shepherd-service): Use the configured requirements instead of hardcoded ones. * doc/guix.texi (Virtualization Services): Document the new 'requirement' option. Change-Id: I05cfbb5227cff9b7d9b55ee37774c96e39c4c526
2025-10-07services: libvirt: Make dmidecode available to fix SMBIOS error.Oleg Pykhalov
The libvirt daemon requires 'dmidecode' to provide Host SMBIOS information to virtual machines. Without it in the PATH, it fails with the error: "Host SMBIOS information is not available". * gnu/services/virtualization.scm (libvirt-configuration): Add 'dmidecode' field to specify the dmidecode package. (libvirt-service-type): Add dmidecode to system profile to ensure it's available in PATH. * doc/guix.texi (Virtualization Services): Document the new 'dmidecode' option. Change-Id: I8e5e565e95149c5aeba2dc0c5c757046efa6de2d
2025-10-06services: log-rotation: Allow to pass procedure as compression method.Benjamin Chabanne
* gnu/services/admin.scm (log-rotation-configuration): Change validation method and accept gexp procedure. Change-Id: I67cd5051a05d211349ecbc66ee3a55ab5b1a5971 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-30services: rottlog: Remove.Nguyễn Gia Phong
* gnu/services/admin.scm (rottlog-service{,-type}, rottlog-configuration{,?,-rottlog,-rc-file,-rotations,-jobs} log-rotation{,?,-frequency,-files,-options,-post-rotate}, %default-rotations, %rotated-files, %default-log-rotation-options): Remove variables. * doc/guix.texi (Rottlog): Remove subheading. * .dir-locals.el: De-register rottlog-configuration. References: a9f21036e43f ("services: rottlog: Deprecate.") Change-Id: I9d62deb4dba31a07c3ef82cde0fca3a05ece064d Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-30gnu: sane-backends: Remove hplip dependency.Sergey Trofimov
* gnu/packages/scanner.scm (sane-backends)[inputs]: Omit hplip. [arguments]: Remove hplip phases. * gnu/services/desktop.scm (lift-sane-configuration): Warn user that hplip needs to be explicitly enabled in sane-configuration. Change-Id: I05ffc3a2d04c5ee3da2739b68085557ff791814f
2025-09-30services: sane: Support pluggable backends.Sergey Trofimov
* gnu/services/desktop.scm (sane-configuration): New record. (sane-service-type): Add native search paths to environment. Change-Id: Ia7b66b62cf027200dd94533f32c1e4bc0ed373d3
2025-09-29services: tor: Add nss-certs.Trevor Arjeski
When using a tor-transport-plugin, namely a webtunnel with lyrebird, it is necessary to have access to ssl certs to establish a connection to the bridge over https. * gnu/services/networking.scm (tor-shepherd-service): add nss-certs file-sytem-mapping Change-Id: Ifb7488d406cc6300eb6ac95e7dc0dfef0ff571db Signed-off-by: Ludovic Courtès <ludo@gnu.org> Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-09-26services: Add miniflux-service-type.Rodion Goritskov
* doc/guix.texi: Document Miniflux service and configuration. * gnu/services/web.scm: New service. * gnu/services/web.scm: Define shepherd service and account roles. * gnu/tests/web.scm: (%miniflux-create-admin-credentials, miniflux-base-system, %test-miniflux-admin-string, %test-miniflux-admin-file, %test-miniflux-socket): Add system tests for Miniflux service. Change-Id: I4a336e677ec8b46aed632f0ded9cc11c2d38975f Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-25services: mumi: Raise maximum duration of indexing job.Arun Isaac
Indexing all Debbugs issues from scratch can take more than an hour. * gnu/services/web.scm (mumi-shepherd-services): Raise #:max-duration to 2 hours.
2025-09-25services: mumi: Add Debbugs rsync as shepherd timer.Arun Isaac
* gnu/services/web.scm (<mumi-configuration>)[data-directory, rsync-remote, rsync-flags]: New fields. (%mumi-worker-log): Delete variable. (%mumi-rsync-and-index-log): New variable. (mumi-rsync-and-index): New function. (mumi-shepherd-services): Remove mumi-worker service. Add mumi-rsync-and-index service. (mumi-service-type): Remove default value. * doc/guix.texi (Web Services)[mumi]: Document data-directory, rsync-remote and rsync-flags fields. Co-authored-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-09-24services: nginx: Add stream configuration.Arun Isaac
* gnu/services/web.scm (<nginx-stream-configuration>): New record type. (<nginx-configuration>)[stream]: New field. (emit-nginx-server-config): Add context argument. (default-nginx-config): Serialize stream. * doc/guix.texi (Web Services): Document it.
2025-09-23services: dhcpcd: Add shepherd-provision field.Alexey Abramov
* doc/guix.texi (Networking Setup)<dhcpcd-configuration>: Regenerate the dhcpcd-configuration documentation. * gnu/services/networking.scm (dhcpcd-configuration) <shepherd-provision>: Add new field. Fix typo in client-id description. (dhcpcd-shepherd-service): Use it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-23services: fail2ban: Extend profile with fail2ban package.Maxim Cournoyer
* gnu/services/security.scm (fail2ban-service-type): Register profile-service-type extension. Change-Id: Ia7d908ba68c82fb7b5f016d4d246112679c49415
2025-09-21services: nix: Point Nix to bin/bash.Jean-Pierre De Jesus DIAZ
The nix-service-type will create the nix.conf file pointing to `bin/sh' file in the bash-minimal package, however this is a symbolic link to `bin/bash' in that same package, so when the sandbox gets created there will be a symlink in the Nix sandbox like this: drwxr-xr-x 2 nobody nogroup 4096 Sep 18 13:10 . drwxr-x--- 10 nobody nixbld 4096 Sep 18 13:10 .. lrwxrwxrwx 1 nobody nogroup 4 Jan 1 1970 sh -> bash Making builds that depend on /bin/sh fail since /bin/bash does not exist in the sandbox. * gnu/services/nix.scm (nix-service-etc): Change ‘build-sandbox-paths’ to point to ‘bin/bash’. Change-Id: I9138e9b772b8468382cfde6d133f0758837d03ff Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-21services: secret-service: Add missing import for ‘reboot’.Ludovic Courtès
* gnu/services/virtualization.scm (secret-service-shepherd-services): In ‘modules’, add (shepherd system). Change-Id: I23201f0ee3ce102f0d48d4f5ea24ddbfc06c247f
2025-09-20services: plasma-desktop: Add "packagekit" to plasma-dbus-service.Sughosha
* gnu/services/desktop.scm (plasma-dbus-service): Add "packagekit". Change-Id: I4c1a3509ee8d5fa512b715188f32652f70f67506 Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-20services: plasma-desktop: Add "packagekit" to plasma-polkit-settings.Sughosha
* gnu/services/desktop.scm (plasma-polkit-settings): Add "packagekit". Change-Id: I8f201f6dbab587b8075e45e10725d8bebf05ca3b Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-20services/vfs-mapping: Fix default name.Edouard Klein
* gnu/services/linux.scm (vfs-mapping): Fix vfs-mapping default name. Fixes: #1953 Change-Id: I7e05cc19d9dbcd7a4ccb86ee009ee947349738da Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-18services: sddm: Require ‘pam_env.so’.Amy Pillow
* gnu/services/sddm.scm (sddm-pam-service): New pam entry Change-Id: Ia5912258a8da974b60fd74b02d0779c31ea7edf3 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-09-18services: oci: Fix OCI backed Shepherd services HOME variable.Giacomo Leidi
This patch allows containers run with podman to run each with their own specific user. * doc/guix.texi: Fix wrong type for oci-container-configuration's shepherd-dependencies field. * gnu/services/containers.scm (oci-container-shepherd-service): In case a specific container is not run through the user provisioned by the oci-service-type, its environment is different from the globally provisioned one and must be recomputed. Change-Id: I5d636ad0616ced0af124002de4403da3067334de Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-18Reapply "Update Maxim's email address."Maxim Cournoyer
This reverts commit a7db92d9b389cbe565395523882c34c6eff2c21a, this time with the more careful command, to avoid a world rebuild: grep -rl --exclude-dir=build --exclude-dir=patches --exclude=ld-wrapper.in \ --exclude=sitecustomize.py --exclude=guix-emacs.el maxim.cournoyer@gmail.com | xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g' Change-Id: I0871f5cf9ace79e34e78e24154d0da6ea95a3a91
2025-09-18Revert "Update Maxim's email address."Maxim Cournoyer
This reverts commit d0d87a744d724b7e7d5ac013c586039652087bb3. Oops! This caused a world rebuild. Change-Id: I25fff644b2b61d0ee93d69b457b04c72b5b74d15
2025-09-18Update Maxim's email address.Maxim Cournoyer
The change was automated via: git grep -l maxim.cournoyer@gmail.com | xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g' * .mailmap: New entry. Change-Id: Iaa88b1e51c94159c49138fb43910badb990eb169
2025-09-14gnu: Remove Tailon services and documentation.Ian Eure
The tailon package was removed in 63023deaf96bd0d90aba262b194bf1445ec5a0b6, but the associated service and documentation weren’t, leading to `guix pull` breaking. Fixes guix/guix#2689. * doc/guix.texi: Remove Tailon documentation. * gnu/services/web.scm (tailon-service-type): Delete variable. (tailon-configuration-file): Delete variable. (tailon-configuration-file?): Delete variable. (tailon-configuration-file-files): Delete variable. (tailon-configuration-file-bind): Delete variable. (tailon-configuration-file-relative-root): Delete variable. (tailon-configuration-file-allow-transfers?): Delete variable. (tailon-configuration-file-follow-names?): Delete variable. (tailon-configuration-file-tail-lines): Delete variable. (tailon-configuration-file-allowed-commands): Delete variable. (tailon-configuration-file-debug?): Delete variable. (tailon-configuration-file-http-auth): Delete variable. (tailon-configuration-file-users): Delete variable (tailon-configuration): Delete variable. (tailon-configuration?): Delete variable. (tailon-configuration-config-file): Delete variable. (tailon-configuration-package): Delete variable. * gnu/tests/web.scm (%test-tailon): Delete variable. Change-Id: I3b507df8233b0440baa6a2bce4604b5813cb3bb0
2025-09-14services: greetd: Accept gexps in initial-session.Rutherther
Recently initial-session-user and initial-session-command has been added, but they accept only strings, not gexps. * gnu/services/base.scm (make-greetd-terminal-configuration-file): Ungexp initial-session-user and initial-session-command. Change-Id: I2b247464528b6147eab8acea08c6942ac7bfd0ab Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-14services: keepalived: Add ‘shepherd-requirement’ field.Daniel Lakeland
* gnu/services/networking.scm (<keepalived-configuration>)[shepherd-requirement]: New field. (keepalived-shepherd-service): Honor it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-06services: network-manager: Create /etc/ipsec.secrets directory in activation.Grigory Shepelev
* gnu/services/networking.scm (network-manager-activation): Create the /etc/ipsec.secrets directory. Change-Id: Ib347cc00e7cbd314b2a465b5ee681285ba0d3115 Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop> Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-05services: cuirass: Add more configuration fields.Ludovic Courtès
* gnu/services/cuirass.scm (<cuirass-configuration>)[parallel-evaluations] [evaluation-ttl, web-threads]: New fields. (cuirass-shepherd-service): Honor them. * doc/guix.texi (Continuous Integration): Document them. Change-Id: I33485b978d2a37ee93230b1d425731e6cb3b80e4
2025-09-05services: cuirass: Socket activation for ‘cuirass register’.Ludovic Courtès
Fixes guix/cuirass#16. * gnu/services/cuirass.scm (cuirass-shepherd-service)[endpoint]: New procedure. Use ‘make-systemd-constructor’ for ‘cuirass register’. Set the ‘COLUMNS’ environment variable. Change-Id: If58e4e8a889ab11e4b5b89a7abaf0af24600751b
2025-09-03services: nginx: Ensure ‘stop’ is synchronous.Ludovic Courtès
Fixes guix/maintenance#17. Fixes a bug whereby ‘nginx -s stop’ might return before the main nginx process has actually stopped, which in turn would lead ‘herd restart nginx’ to hang. * gnu/services/web.scm (nginx-shepherd-service): Change ‘stop’ to use ‘make-kill-destructor’. Reported-by: Maxim Cournoyer <maxim@guixotic.coop> Change-Id: I69e8626aab07f806ddc8b1d09d9f0e052a85cf47
2025-08-30services: hurd-vm: Support different hurd types.Yelninei
* gnu/services/virtualization.scm (sanitize-hurd-vm-configuration-type): New procedure. (hurd-vm-confiuration): Add type field. (hurd-vm-disk-image): Use it. * doc/guix.texi (hurd-vm-configuration): Document it. * gnu/tests/virtualization.scm (%childhurd64-os): New variable. (run-childhurd-test): Add the os a parameter. (%test-childhurd): Adjust accordingly. (%test-childhurd64): New system test. Change-Id: Ie1c55a9414657ced4bf8b4324527037f1a1f78f4 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-08-29services: cuirass: Increase default polling interval to 5mn.Ludovic Courtès
* gnu/services/cuirass.scm (<cuirass-configuration>)[interval]: Change to 300. * doc/guix.texi (Continuous Integration): Update accordingly and explain where it is used. Change-Id: I30e38ffe0d75cd1f5857b422b4fa5d05dd47a7e5