aboutsummaryrefslogtreecommitdiff
#!/sbin/openrc-run
# GNU Guix --- Functional package management for GNU
# Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
#
# This file is part of GNU Guix.
#
# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

export GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale
export LC_ALL=en_US.utf8
command="@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon"
command_args="--build-users-group=guixbuild --discover=no"
command_background="yes"
pidfile="/var/run/guix-daemon.pid"

output_log="/var/log/guix-daemon-stdout.log"
error_log="/var/log/guix-daemon-stderr.log"
td>services: connman: Add 'connman-general-configuration'....Currently connman has no main.conf as specified in 'man 5 connman.conf' which would allow setting NetworkInterfaceBalcklist and other useful options. This patch adds connman-general-configuration, serializes it and passes to connmad with --config= flag. All configuration fields are 'maybe-*' deliberately, to not disturb current users and not require supporting configuration changes for connmand. * gnu/services/networking.scm (<connman-general-configuration>): New configuration record to represent main.conf for connmand. (<connman-configuration>)[general-configuration]: New field. (connman-shepherd-service): Honor it. *doc/guix.texi (Networking Services): Add generated configuration. Change-Id: I5d78f49e8b2d5e0b3cbd7b8b604e8a254b6397e8 Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> muradm 2024-01-12gnu: guix-build-coordinator: Update to 0-94.c4c4f5a....This also switches to use guile-next, which includes important fixes to invalid unicode handling with suspendable ports, which is necessary for the agent. * gnu/packages/package-management.scm (guix-build-coordinator): Update to 0-94.c4c4f5a. * gnu/services/guix.scm: Use guile-next for the coordinator service. Change-Id: I853539a612fd0b41a6c63069c6291b3f42e5cdee Christopher Baines 2024-01-08services: bitlbee: Use ‘make-inetd-constructor’ unconditionally....This construct was introduced in Shepherd 0.9.0. * gnu/services/messaging.scm (bitlbee-shepherd-service): Use ‘make-inetd-constructor’ unconditionally. Change-Id: Id1b79077d60609c7f95439ee0d097dfe6e66dd2e Ludovic Courtès 2024-01-08services: shepherd: Use the 0.10.x GOOPS-less interface....* gnu/services/shepherd.scm (%default-modules): Remove (oop goops). (shepherd-service-file): Use (service …) instead of (make <service> …). Use ‘actions’ instead of ‘make-actions’. (scm->go): Remove use of (oop goops). (shepherd-configuration-file): Pass ‘register-services’ a list. Use ‘start-in-the-background’ unconditionally. Change-Id: I0ad1ba32e339c56ee31e59f160b53d3581277d97 Ludovic Courtès 2024-01-08services: openssh: Add dependency on ‘networking’....* gnu/services/ssh.scm (openssh-shepherd-service): Add ‘networking’ to ‘requirement’. Change-Id: I14c48fe40cce86810a544de6bb7f925bc360653a Ludovic Courtès 2024-01-05services: xorg: ‘dbus-daemon-wrapper’ handles Home profile....* gnu/services/xorg.scm (dbus-daemon-wrapper): Handle Home profile. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Change-Id: Ib2f2330b7ea017ddf33d636de71aaa1c316808cb Feng Shu 2024-01-05daemon: Change default ‘timeout’ and ‘max-silent-time’ values....Having a timeout seems generally preferable as it makes sure build slots are not kept busy for no good reason (few package builds, if any, are expected to exceed these values). * nix/libstore/globals.cc (Settings::Settings): Change ‘maxSilentTime’ and ‘buildTimeout’. * gnu/services/base.scm (<guix-configuration>)[max-silent-time] [timeout]: Change default values. * doc/guix.texi (Invoking guix-daemon, Base Services): Adjust accordingly. Change-Id: I25c50893f3f7fcca451b8f093d9d4d1a15fa58d8 Ludovic Courtès 2024-01-05services: shepherd: Remove ‘dynamic-wind’ in ‘call-with-*-file’....Fixes <https://issues.guix.gnu.org/64653>. The ‘dynamic-wind’ was causing files to be closed prematurely when leaving the dynamic extent of PROC for instance via a delimited continuation, using Fibers (that ‘dynamic-wind’ call was also semantically incorrect in the first place). * gnu/services/shepherd.scm (shepherd-configuration-file) [config](call-with-file): Remove. (call-with-input-file, call-with-output-file): Rewrite in terms of ‘call-with-port’. Change-Id: Ica8af71a04f525a15be99985552063cb98cd6ee8 Ludovic Courtès 2024-01-03services: docker: Add config-file option....* gnu/services/docker.scm (docker-configuration)[config-file] Add file-like field. * doc/guix.texi (Docker Service): Add information about config-file. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Connor Clark 2023-12-28services: laminar: Add configuration option for supplementary groups....* gnu/services/ci (<laminar-configuration>)[supplemental-groups]: New field. (laminar-shepherd-service): Exec laminard with supplementary groups. (laminar-account): Add supplementary groups to laminar user. * doc/guix.texi (Laminar): Document new configuration field. Change-Id: Iebfdbb58ea8c6dfa22bb8f64f6463e3ad133d2f9 David Thompson 2023-12-22services: guix: Move GUIX_LOCPATH handling to packages....I think this might be better than handling it in the service. I'm seeing locale issues on the hurd which I hope this will address. * gnu/packages/package-management.scm (guix-build-coordinator, guix-build-coordinator/agent-only): * gnu/services/guix.scm (guix-build-coordinator-shepherd-services, guix-build-coordinator-agent-shepherd-services): Change-Id: I07ca424f434854176326a19177dc5573d53b59c2 Christopher Baines 2023-12-22services: guix: Remove guix-build-coordinator-queue-builds service....This has been effectively replaced by the bffe. * gnu/services/guix.scm (<guix-data-service-configuration>): Remove record type. (guix-build-coordinator-queue-builds-shepherd-services, guix-build-coordinator-queue-builds-activation, guix-build-coordinator-queue-builds-account): Remove procedures (guix-build-coordinator-queue-builds-service-type): Remove service type. Change-Id: I2a233fb10b12cc9bfddebaa35928b25c243f82a2 Christopher Baines 2023-12-22services: Remove unnecessary references to (gnu build shepherd)....* gnu/services/databases.scm (memcached-shepherd-service): Remove ‘with-imported-modules’ form and ‘modules’ field. * gnu/services/security-token.scm (pcscd-shepherd-service): Remove ‘with-imported-modules’ form. * gnu/services/web.scm (hpcguix-web-shepherd-service): Likewise. Change-Id: Ieb817508f1751e0c1ff551a0e078789a4a813c1c Ludovic Courtès 2023-12-22services: jami: Use ‘least-authority-wrapper’....* gnu/services/telephony.scm (jami-configuration->command-line-arguments) [wrapper]: New procedure. Use it. (jami-shepherd-services): In ‘start’ method of ‘jami’ service, use ‘fork+exec-command’ instead of ‘make-forkexec-constructor/container’. Remove use of (gnu build shepherd). Change-Id: Ic71c0c88477d92bf137d9d0a5832bae8721cc210 Ludovic Courtès 2023-12-22services: jami-dbus-session: Use ‘least-authority-wrapper’....* gnu/services/telephony.scm (jami-shepherd-services): Use ‘least-authority-wrapper’ for ‘dbus-daemon’. Use ‘fork+exec-command’ instead of ‘make-forkexec-constructor/container’ in the ‘start’ method’. Remove reference to (gnu build shepherd). Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: I9d9f8de6ecea77950000ff64aa8c8d097dc028a0 Ludovic Courtès 2023-12-22services: bitlbee: Remove use of ‘make-forkexec-constructor/container’....This will only affect systems running Shepherd < 0.9.0, which was released in August 2022. * gnu/services/messaging.scm (bitlbee-shepherd-service): Remove ‘with-imported-modules’ and ‘modules’ field. Use ‘make-forkexec-constructor’ instead of ‘make-forkexec-constructor/container’ when ‘make-inetd-constructor’ is missing. Change-Id: I35a0487bccaee4799ad0d81388d540e5c7891f7e Ludovic Courtès 2023-12-22services: pagekite: Add ‘configuration’ action....* gnu/services/networking.scm (pagekite-shepherd-service): Add ‘actions’ field. Change-Id: I04daa846d505b0700b574a82472ecd99b492d7c4 Ludovic Courtès 2023-12-22services: pagekite: Use ‘least-authority-wrapper’....* gnu/services/networking.scm (pagekite-shepherd-service): Define ‘config-file’ and ‘mappings’; define ‘pagekite’ in terms of ‘least-authority-wrapper’. Remove now-unneeded ‘with-imported-modules’ form and ‘modules’ field. Use ‘make-forkexec-constructor’ instead of ‘make-forkexec-constructor/container’. Change-Id: I7c6c6266785f6a0f81a69d85f070779a0d6edd91 Ludovic Courtès 2023-12-14services: Add rspamd-service-type....* gnu/services/mail.scm (rspamd-service-type): New variable. * gnu/tests/mail.scm (%test-rspamd): New variable. * doc/guix.texi: Document it. Co-authored-by: Saku Laesvuori <saku@laesvuori.fi> Change-Id: I7196643f087ffe9fc91aab231b69d5ed8dc9d198 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Thomas Ieong 2023-12-14services: hpcguix-web: Add ‘configuration’ action....* gnu/services/web.scm (hpcguix-web-shepherd-service): Define ‘config-file’ and use it. Add ‘actions’ field. Change-Id: I085df403270039ede3c13f21a5d60682c7510e2e Ludovic Courtès 2023-12-14services: guix: Allow gexps evaluating to a list of build-machines....* gnu/services/base.scm (guix-machines-files-installation): Handle machines being a mixed list of build-machines and lists of build-machines. * doc/guix.texi (Base Services): Document it. Change-Id: Ie404562ca0b564413233c3a624046da831893dc3 Co-authored-by: Ludovic Courtès <ludo@gnu.org> Saku Laesvuori 2023-12-10services: Fix oci-container-service-type container user....The oci-container-configuration supports two user fields: one is the user, from the host system, under whose authority the OCI-backed Shepherd service is run; the other is an optional user/UID that can be passed to the docker run invokation to override the user defined in the OCI image. The user from the host system is incorrectly passed to docker run command, this patches reverts the incorrect behavior and passes the correct container-user field value. * gnu/services/docker.scm (oci-container-configuration): Fix the user passed to the docker run invokation. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Giacomo Leidi 2023-12-03gnu: gmnisrv: Fix typo....* gnu/services/web.scm (gmnisrv-service-type): Change the service name to gmnisrv Change-Id: I1ca46c312db851486313c431fe0454786f0a673e Signed-off-by: Ludovic Courtès <ludo@gnu.org> Michal Atlas 2023-12-02gnu: Use ‘libc-utf8-locales-for-target’....* guix/packages.scm (%standard-patch-inputs): Use ‘libc-utf8-locales-for-target’ instead of ‘glibc-utf8-locales’. * guix/self.scm (%packages): Likewise. * gnu/home/services/ssh.scm (file-join): Likewise * gnu/installer.scm (build-compiled-file): Likewise. * gnu/packages/chromium.scm (ungoogled-chromium/wayland): Likewise. * gnu/packages/gnome.scm (libgweather4, tracker): Likewise. * gnu/packages/javascript.scm (js-mathjax): Likewise. * gnu/packages/package-management.scm (guix, flatpak): Likewise. * gnu/packages/raspberry-pi.scm (raspi-arm64-chainloader): Likewise. * gnu/packages/suckless.scm (svkbd): Likewise. * gnu/services.scm (cleanup-gexp): Likewise. * gnu/services/base.scm (guix-publish-shepherd-service): Likewise. * gnu/services/guix.scm (guix-build-coordinator-shepherd-services) (guix-build-coordinator-agent-shepherd-services): Likewise. * gnu/services/guix.scm (guix-build-coordinator-queue-builds-shepherd-services): (guix-data-service-shepherd-services) (nar-herder-shepherd-services) (bffe-shepherd-services): Likewise. * gnu/services/web.scm (anonip-shepherd-service) (mumi-shepherd-services): Likewise. * gnu/system/image.scm (system-disk-image, system-iso9660-image) (system-docker-image, system-tarball-image): Likewise. * gnu/system/install.scm (%installation-services): Likewise. * guix/profiles.scm (info-dir-file): Likewise. (ca-certificate-bundle, profile-derivation): Likewise. * guix/scripts/pack.scm (store-database, set-utf8-locale): Likewise. * tests/pack.scm: Likewise. * tests/profiles.scm ("profile-derivation, cross-compilation"): Likewise. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Co-authored-by: Christopher Baines <mail@cbaines.net> Change-Id: I24239f427bcc930c29d2ba5d00dc615960a6c374 Janneke Nieuwenhuizen 2023-11-27services: xvnc: Do not specify display number when using inetd....* gnu/services/vnc.scm (xvnc-configuration->command-line-arguments): Omit X display number when inetd? is #t. Change-Id: I0fc8e3068f3ae22421e60e96bd40e3b6e477ca99 David Thompson 2023-11-26services: rsync: Provide a prettier Shepherd inetd service name....Previously, a default name would be used for transient inetd services, leading to names such as #{5rjnskb6011jgmfmpgp63jp9mh9nkl20-rsync-3274}#. * gnu/services/rsync.scm (rsync-shepherd-service): Pass #:service-name-stem. Change-Id: I4d0a4a01e122c6eeaa85f104b083cf7e8709eac3 Ludovic Courtès 2023-11-23services: Add oci-container-service-type....* gnu/services/docker.scm (oci-container-configuration): New variable; (oci-container-shepherd-service): new variable; (oci-container-service-type): new variable. * doc/guix.texi (Miscellaneous Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Change-Id: I17cede1975051a9fdd0e0a13b2191d8055266f80 Giacomo Leidi