Reported by nigko on #guix:
https://logs.guix.gnu.org/guix/2025-04-05.log#201718
* gnu/services/base.scm (urandom-seed-shepherd-service): Return #f when
stopped.
Change-Id: I8212508e4a017270e4e9284b43170cd17999e8b4
* gnu/services/web.scm (anonip-log-files): New procedure.
(anonip-service-type): Use it to extend ‘log-rotation-service-type’.
* doc/guix.texi (Log Rotation): Document it.
Change-Id: I903bb79e0992b794bb0a40e504283cd57a8a087b
* gnu/services/pm.scm (tlp-shepherd-service): Make destructor
return #f on success. Destructor "should return #f if it is
now possible again to start the service at a later point"
(shepherd manual).
Change-Id: Ic0d21d32af158da1ae940d9c32c05a3471767764
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/services/virtualization.scm (qemu-binfmt-shepherd-services)
[requirement]: Add file-system-/gnu/store.
qemu-binfmt service write references to the store to
/proc/sys/fs/binfmt_misc/qemu-[architecture] files, therefore
/gnu/store needs to be mounted during the lifetime of the service
instance. If /gnu/store does not remain mounted, the issues
discussed by nigko and Rutherther on IRC are arisen:
https://logs.guix.gnu.org/guix/2025-04-05.loghttps://logs.guix.gnu.org/guix/2025-04-08.log
Change-Id: I7e7a42a5ba0e39aa58c997739898f3457dd793a9
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/services/messaging.scm (ngircd-configuration): Adjust comment.
(ngircd-wrapper): Nest bindings within the (maybe-value-set? ssl) check, to
avoid errors when not providing an explicit value to the ssl field.
(ngircd-service-type) [default-value]: New field.
Change-Id: I1d2d7973cc9314e9bbc5870bf7b5f872d074b49b
* gnu/services/base.scm (guix-shepherd-service): Change ‘start’ to use
‘make-systemd-constructor’ in the default case. Remove now-redundant
code creating /var/guix/daemon-socket/. Adjust ‘stop’ method to use
‘make-systemd-destructor’ when appropriate.
Change-Id: I3572670c90f65509fbad01dcf13a60f772a86839
* gnu/services/base.scm (guix-shepherd-service): In ‘start’ method, use
‘fork+exec-command’ in the default case.
Change-Id: Id04d3d2651f89fbcdb2f17f027df91e132ff9ed1
* gnu/services/base.scm (guix-shepherd-service): In ‘start’ method,
move ‘fork+exec-command/container’ arguments to the new variables
‘daemon-command’ and ‘environment-variables’.
Change-Id: Ic04a1006849697e4e185ad94185bbdec8a91a05a
* gnu/services/version-control.scm (<gitolite-configuration>): Add admin-name
field.
(gitolite-activation): Use it.
* doc/guix.texi (Version Control Services): Document it. Remove the wrong
default value of admin-pubkey. State the need for .pub extension.
Change-Id: Idadf4b2697cee6d1da10e6ba03bdc2e1d729c417
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
In preparation for further customizability of the git configuration, extract
the current setup into a separate record type.
* gnu/services/version-control.scm (<gitolite-git-configuration>): New record
type.
(gitolite-git-configuration-compiler): And gexp compiler for it.
(<gitolite-configuration>): Add git-config field.
(gitolite-activation): Use it.
* doc/guix.texi (Version Control Services): Document both.
Change-Id: I7658698a93f938f62f41a4fa45b72de1eeb14414
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
It is not ideal to pollute the path with the binaries from the gitolite
package, so adjust the package to support that and the service to no longer
install it.
* gnu/packages/version-control.scm (make-gitolite)[arguments]<#:phases>
{'patch-scripts}: Use store file name of gitolite-shell.
* gnu/services/version-control.scm (gitolite-service-type): Drop the extension
of profile-service-type.
Change-Id: I25459ccd80bda892b6d188b2b6fa99baee339cba
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* gnu/services/version-control.scm (gitolite-rc-file-default-enable): New
exported variable.
(gitolite-rc-file-compiler)[enable]: Use it.
Change-Id: Ie6326ff69f3d454d96db6629dd5387757567d68f
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Copied over from the official configuration file, this sets a correct major
mode when you visit the generated file.
* gnu/services/version-control.scm (gitolite-rc-file-compiler): Add local
variables.
Change-Id: I8a9d794a1e3c7049ae606165cf939d81b5dbdf6e
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* gnu/services/version-control.scm (gitolite-rc-file-compiler): Use
match-record instead of match with $.
Change-Id: Ia2f4985e921aee5f8859d1858f7c186b707d7a36
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
`file-database-service-type' appends 'bin/updatedb' path to the `package'
field provided by `file-database-configuration'. This prevents users from
using alternate packages which also provide 'updatedb' but in a different
location.
For example, the `plocate' package installs 'updatedb' in 'sbin/updatedb'.
Fallback to 'sbin/' if 'updatedb' is not found in 'bin/'.
* gnu/services/admin.scm (<file-database-configuration>)[package]:
Update docstring.
(file-database-shepherd-services): Locate 'updatedb' binary.
* doc/guix.texi (File Search Services): Update accordingly.
Change-Id: Ic741716044be3a8f51a157510f9f923bd66c41d7
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
This makes libvirt able to boot images that require a UEFI bootloader, with
the available firmwares exposed to libvirt made configurable via a new
configuration field. For more background on the problem this fixes, see the
same issue that was reported in NixOS (see:
https://github.com/NixOS/nixpkgs/issues/115996).
* gnu/services/virtualization.scm: (list-of-file-likes?): New predicate.
(libvirt-configuration): [firmwares]: New field.
(/etc/qemu/firmware): New procedure.
(libvirt-service-type): Extend the etc-service-type with it.
(generate-libvirt-documentation): Delete obsolete procedure.
* doc/guix.texi: Re-generate doc.
* gnu/tests/virtualization.scm (run-libvirt-test): Augment memory from 256 to
512 MiB. Test it.
Series-to: 77110@debbugs.gnu.org
Change-Id: I40694964405f13681520bf1e28b7365b0200d8f7
The previous used Mozilla Location Service (MLS) was retired in 2024:
https://github.com/mozilla/ichnaea/issues/2065
* gnu/services/desktop.scm (<geoclue-configuration>)
[wifi-geolocation-url]: Switch default provider to beaconDB.
[wifi-submission-url]: Likewise.
Change-Id: I95e4600a2d5454bdde4be44b09273694536bd44e
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Until now, the service would always exit with 0, which makes failures
harder to distinguish in the output of ‘herd status’, for instance.
* gnu/services/admin.scm (unattended-upgrade-shepherd-services)[code]:
Call ‘exit’ after ‘report-invoke-error’.
Change-Id: Idfc74a48a6a798e813db96d5770a897595b27240
Create cache directory and log directory with 755 permission, which passes
run-readymedia-test.
* gnu/services/upnp.scm (readymedia-activation): Change directory permissions
of cache-directory and log-directory to 755.
Change-Id: Iff30040c3fd52564510f66d3568dab0ef89e0449
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/services/ganeti.scm (shepherd-wconfd-force-start-action)[procedure]:
Use ‘enable-service’ and ‘perform-service-action’ instead of ‘action’,
which was deprecated in 0.10.x and replaced in 1.0.
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I2ba7d973b95f17f6ce093185fec7b246cf427be9
This is a followup to 7238114911.
* gnu/services/cuirass.scm (cuirass-shepherd-service): Turn
‘--parameters=’ bit into a gexp.
Change-Id: I5dd886b90ecea45157873e9c701e34988d6d31cc