aboutsummaryrefslogtreecommitdiff
path: root/gnu/services/guix.scm
Commit message (Collapse)AuthorAge
* gnu: Use ‘libc-utf8-locales-for-target’.Janneke Nieuwenhuizen2023-12-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* services: bffe: Use guile from the package.Christopher Baines2023-09-15
| | | | | | | | Rather than hardcoding a particular guile in the service definition. * gnu/services/guix.scm (bffe-shepherd-services): Use guile from the package. * gnu/packages/package-management.scm (bffe)[inputs]: Remove unnecessary guile-next input.
* services: guix: Add bffe-service-type.Christopher Baines2023-09-15
| | | | | | | | | | | | | | | | This is intended to replace the functionality of the Guix Build Coordinator queue builds script, and also provide a web interface for build farms. * gnu/services/guix.scm (<bffe-configuration>): New record type. (bffe-configuration, bffe-configuration?, bffe-configuration-package, bffe-configuration-user, bffe-configuration-group, bffe-configuration-arguments bffe-configuration-extra-environment-variables): New procedures. (bffe-service-type): New variable. * gnu/tests/guix.scm (%test-bffe): New variable. * doc/guix.texi (Guix Services): Document the new service.
* services: nar-herder: Specify a working directory.Christopher Baines2023-08-26
| | | | | | | Mostly so that core dumps end up here. * gnu/services/guix.scm (nar-herder-shepherd-services): Specify a working directory.
* services: guix-data-service: Specify a working directory.Christopher Baines2023-08-26
| | | | | | | Mostly so that core dumps end up here. * gnu/services/guix.scm (guix-data-service-shepherd-services): Specify a working directory.
* services: guix-build-coordinator: Specify a working directory.Christopher Baines2023-08-26
| | | | | | | Mostly so that core dumps end up here. * gnu/services/guix.scm (guix-build-coordinator-shepherd-services): Specify a working directory.
* services: Add missing 'user-processes' requirements.Ludovic Courtès2023-08-21
| | | | | | * gnu/services/guix.scm (guix-build-coordinator-agent-shepherd-services): Add 'user-processes' requirement. * gnu/services/linux.scm (earlyoom-shepherd-service): Likewise.
* services: guix-data-service: Unlink the two shepherd services.Christopher Baines2023-07-26
| | | | | | | So that they can be restarted in dependently. * gnu/services/guix.scm (guix-data-service-shepherd-services): Don't require the main service from the jobs service.
* services: nar-herder: Support extra environment vars.Christopher Baines2023-05-13
| | | | | | | | * gnu/services/guix.scm (nar-herder-configuration-extra-environment-variables): New procedure. (nar-herder-shepherd-services): Pass the environment variables to the shepherd. * doc/guix.texi (Guix Services): Document it.
* services: guix-build-coordinator-agent: Support max-parallel-uploads.Christopher Baines2023-05-10
| | | | | | | | | | | This should be usable with the new guile-gnutls. * gnu/services/guix.scm (guix-build-coordinator-agent-configuration-max-parallel-uploads): New procedure. * gnu/services/guix.scm (guix-build-coordinator-agent-shepherd-services): Use the new argument. * doc/guix.texi (Guix Services): Document it.
* services: guix-build-coordinator: Support extra environment vars.Christopher Baines2023-05-09
| | | | | | | | | | | | I'm looking at this because I need to do some debugging of Guile's GC, and there are some useful environment variables for that, but it should be generally useful. * gnu/services/guix.scm (guix-build-coordinator-configuration-extra-environment-variables): New procedure. (guix-build-coordinator-shepherd-services): Pass the environment variables to the shepherd. * doc/guix.texi (Guix Services): Document it.
* services: guix-build-coordinator: Simpify service startup.Christopher Baines2023-05-06
| | | | | | | | Take advantage of changes in the build coordinator to reduce the complexity of the service startup script. * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Remove the metrics registry and datastore.
* services: nar-herder: Add cached compression support.Christopher Baines2023-02-03
| | | | | | | | | | | | | | | | | * gnu/services/guix.scm (<nar-herder-cached-compression-configuration>): New record type. (nar-herder-configuration-cached-compressions, nar-herder-configuration-cached-compression-min-uses, nar-herder-configuration-cached-compression-workers, nar-herder-configuration-cached-compression-nar-source, nar-herder-cached-compression-configuration, nar-herder-cached-compression-configuration?, nar-herder-cached-compression-configuration-type, nar-herder-cached-compression-configuration-level, nar-herder-cached-compression-configuration-directory, nar-herder-cached-compression-configuration-directory-max-size): New procedures. * doc/guix.texi (Guix Services): Document this.
* services: guix-build-coordinator: Fix service startup.Christopher Baines2022-12-12
| | | | | | | Previously the service would keep starting more and more processes. * gnu/services/guix.scm (guix-build-coordinator-shepherd-services): Fix how make-forkexec-constructor is called.
* services: guix-build-coordinator: Remove duplicate log timestamp.Christopher Baines2022-11-20
| | | | | | | | | * gnu/services/guix.scm (guix-build-coordinator-shepherd-services, guix-build-coordinator-agent-shepherd-services, guix-build-coordinator-queue-builds-shepherd-services): Set %current-logfile-date-format to "". Signed-off-by: Christopher Baines <mail@cbaines.net>
* services: guix: Include max-allocated-builds gbc agent option.Christopher Baines2022-10-11
| | | | | | | * gnu/services/guix.scm (guix-build-coordinator-agent-configuration-max-allocated-builds): New procedure. (guix-build-coordinator-agent-shepherd-services): Use max-allocated-builds. * doc/guix.texi (Guix Build Coordinator): Document this new field.
* gnu: tests: Fix guix-data-service test.Timotej Lazar2022-07-15
| | | | | | | | | | | | Since revision 32, guix-data-service starts immediately but returns an HTTP error code until initialization is complete. Adjust the test accordingly, and remove the increased startup time limit. * gnu/services/guix.scm (guix-data-service): Use default #:pid-file-timeout. * gnu/tests/guix.scm (guix-data-service): Retry the http-get test several times to give the service time to initialize. Signed-off-by: Christopher Baines <mail@cbaines.net>
* services: guix-build-coordinator: Fix passing parallel-hooks.Christopher Baines2022-07-03
| | | | | | | The previous approach didn't support a simple alist. * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Fix passing parallel-hooks in to the start gexp.
* services: guix: Support guix-build-coordinator parallel hooks.Christopher Baines2022-07-01
| | | | | | | | | * gnu/services/guix.scm (guix-build-coordinator-configuration-parallel-hooks): New procedure. (make-guix-build-coordinator-start-script): Accept and use #:parallel-hooks. (guix-build-coordinator-shepherd-services): Pass parallel-hooks to make-guix-build-coordinator-start-script. * doc/guix.texi (Guix Build Coordinator): Document this new field.
* services: guix-data-service: Increase timeout for service start.Timotej Lazar2022-06-05
| | | | | | | | | The guix-data-service system test fails on a slower machine with a one-minute time limit. * gnu/services/guix.scm (guix-data-service): Double the #:pid-file-timeout. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu: guix-build-coordinator: Update to 0-53.3de63f1.Christopher Baines2022-05-25
| | | | | | | | | | * gnu/packages/package-management.scm (guix-build-coordinator): Update to 0-53.3de63f1. * gnu/services/guix.scm (guix-build-coordinator-queue-builds-configuration-guix-data-service-build-server-id): New procedure. (guix-build-coordinator-queue-builds-shepherd-services): Use the guix-data-service-build-server-id. * doc/guix.texi (Guix Build Coordinator): Document the new queue builds configuration field.
* services: nar-herder: Allow specifying the log level.Christopher Baines2022-04-22
| | | | | | * gnu/services/guix.scm (nar-herder-configuration-log-level): New procedure. (nar-herder-shepherd-services): Pass the log-level to the nar-herder process. * doc/guix.texi (Nar Herder): Document configuring the log-level.
* services: nar-herder: Support ttl and negative-ttl options.Christopher Baines2022-02-04
| | | | | | | | * gnu/services/guix.scm (<nar-herder-configuration>): Add ttl and negative-ttl fields. (nar-herder-shepherd-services): Pass the ttl and negative-ttl values to the service. * doc/guix.texi (Guix Services): Document this.
* services: guix: Add nar-herder-service-type.Christopher Baines2022-01-31
| | | | | | | | | | | | | | | | | | | | | * gnu/services/guix.scm (<nar-herder-configuration>): New record type. (nar-herder-configuration, nar-herder-configuration?, nar-herder-configuration-package, nar-herder-configuration-user, nar-herder-configuration-group, nar-herder-configuration-mirror nar-herder-configuration-database nar-herder-configuration-database-dump nar-herder-configuration-host nar-herder-configuration-port nar-herder-configuration-storage nar-herder-configuration-storage-limit nar-herder-configuration-storage-nar-removal-criteria nar-herder-shepherd-services, nar-herder-activation, nar-herder-account): New procedures. (nar-herder-service-type): New variable. * gnu/tests/guix.scm (%test-nar-herder): New variable. * doc/guix.texi (Guix Services): Document the new service.
* services: guix-build-coordinator: Fix variable name in agent config.Christopher Baines2022-01-02
| | | | | | * gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): Fix variable name. * doc/guix.texi (Guix Services): Update accordingly.
* gnu: Add guix-build-coordinator/agent-only.Christopher Baines2022-01-02
| | | | | | | | | | | This avoids issues where the coordinator component dependencies (like sqitch and guile-fibers) make it harder to use the agent. * gnu/packages/package-management.scm (guix-build-coordinator/agent-only): New variable. * gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): Use the guix-build-coordinator/agent-only package by default. * doc/guix.texi (Guix Services): Update accordingly.
* services: guix-build-coordinator: Fix queue builds state directory.Christopher Baines2021-05-02
| | | | | | | | This service doesn't create a PID file, but it does write a file with the processed commits in it, so create a directory to contain that. * gnu/services/guix.scm (guix-build-coordinator-queue-builds-activation): Ensure /var/cache/guix-build-coordinator-queue-builds exists.
* services: guix-build-coordinator: Fix queue builds default config.Christopher Baines2021-04-23
| | | | | | | | Use the default client port rather than the default agent communication port for the queue builds script. * gnu/services/guix.scm (<guix-build-coordinator-queue-builds-configuration>): Change coordinator default.
* services: guix-build-coordinator: Remove incorrect pid file.Christopher Baines2021-04-23
| | | | | | | | The queue builds script doesn't create a pid file, so don't have the shepherd expect to find one. * gnu/services/guix.scm (guix-build-coordinator-queue-builds-shepherd-services): Remove #:pid-file.
* services: guix-build-coordinator: Fix service activation parts.Christopher Baines2021-04-23
| | | | | | | | | Don't hardcode usernames, as these are in the config. Also fix the %user being missing from the queue-builds service activation. * gnu/services/guix.scm (guix-build-coordinator-activation, guix-build-coordinator-agent-activation): Use config for the user name. (guix-build-coordinator-queue-builds-activation): Define %user.
* services: guix-build-coordinator: Add max-1min-load-average option.Christopher Baines2021-04-23
| | | | | | | | | | | To the agent configuration. * gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): New field, max-1min-load-average. (guix-build-coordinator-agent-configuration-max-1min-load-average): New procedure. (guix-build-coordinator-agent-shepherd-services): If set, include the max-1min-load-average in the agent arguments.
* services: guix-build-coordinator: Add dynamic auth with file record.Christopher Baines2021-03-05
| | | | | | | | | | | * gnu/services/guix.scm (guix-build-coordinator-agent-dynamic-auth-with-file, guix-build-coordinator-agent-dynamic-auth-with-filen?, guix-build-coordinator-agent-dynamic-auth-with-file-agent-name, guix-build-coordinator-agent-dynamic-auth-with-file-token-file): New procedures. (guix-build-coordinator-agent-shepherd-services): Handle new dynamic auth with file record. * doc/guix.texi (Guix Build Coordinator): Document the new dynamic auth with file record.
* services: guix-build-coordinator: Add dynamic auth record.Christopher Baines2021-02-28
| | | | | | | | | | | * gnu/services/guix.scm (guix-build-coordinator-agent-dynamic-auth, guix-build-coordinator-agent-dynamic-auth?, guix-build-coordinator-agent-dynamic-auth-agent-name, guix-build-coordinator-agent-dynamic-auth-token): New procedures. (guix-build-coordinator-agent-shepherd-services): Handle new dynamic auth record. * doc/guix.texi (Guix Build Coordinator): Document the new dynamic auth record.
* services: guix-build-coordinator: Rework authentication config.Christopher Baines2021-02-28
| | | | | | | | | | | | | | | | | | | | | | | A new authentication approach has been added to the coordinator, so to better represent the options, this commit changes the configuration to accept different records, each for different authentication approaches. * gnu/services/guix.scm (guix-build-coordinator-agent-configuration-uuid, guix-build-coordinator-agent-configuration-password, guix-build-coordinator-agent-configuration-password-file): Removed procedures. (guix-build-coordinator-agent-password-auth, guix-build-coordinator-agent-password-auth?, guix-build-coordinator-agent-password-auth-uuid, guix-build-coordinator-agent-password-auth-password, guix-build-coordinator-agent-password-file-auth, guix-build-coordinator-agent-password-file-auth?, guix-build-coordinator-agent-password-file-auth-uuid, guix-build-coordinator-agent-password-file-auth-password-file): New procedures. (guix-build-coordinator-agent-shepherd-services): Adjust to handle the authentication field and it's possible record values. * doc/guix.texi (Guix Build Coordinator): Update documentation.
* services: guix: Fix Guix Build Coordinator substitute urls bug.Christopher Baines2020-11-07
| | | | | * gnu/services/guix.scm (guix-build-coordinator-agent-shepherd-services): Pass the correct value as the --non-derivation-substitute-urls.
* services: guix: Remove the Guix Build Coordinator agent pid file.Christopher Baines2020-11-07
| | | | | | | | | As it doesn't use one. * gnu/services/guix.scm (guix-build-coordinator-agent-shepherd-services): Remove #:pid-file. (guix-build-coordinator-agent-activation): Don't create the /var/run directory.
* services: guix: Add guix-build-coordinator-agent cache directory.Christopher Baines2020-11-07
| | | | | | | | | As this is needed when substituting derivations. * gnu/services/guix.scm (guix-build-coordinator-agent-shepherd-services): Set XDG_CACHE_HOME. (guix-build-coordinator-agent-activation): Create /var/cache/guix-build-coordinator-agent.
* gnu: guix-build-coordinator: Propagate the guile inputs.Christopher Baines2020-10-23
| | | | | | | | | | | This means the package is usable as a library, which is useful when using the procedures to send requests to the Guix Build Coordinator. * gnu/packages/package-management.scm (guix-build-coordinator)[inputs]: Move guile inputs to propagated inputs. [propagated-inputs]: Receive some inputs. * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Adjust the start script to include propagated inputs.
* services: guix: Fix the guix-build-coordinator metrics namespace.Christopher Baines2020-10-23
| | | | | | | The underscore is now handled in the guile prometheus library. * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Remove the underscore from the end of the metrics namespace.
* services: guix-build-coordinator: Configure output buffering.Christopher Baines2020-10-23
| | | | | | | Otherwise the logging is garbled. * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Configure line output buffering for stdout and stderr.
* services: guix-build-coordinator: Include the system profile in PATH.Christopher Baines2020-10-23
| | | | | | | As this allows hooks to use the system profile, if that's desired. * gnu/services/guix.scm (guix-build-coordinator-shepherd-services): Set PATH to include the system profile.
* services: guix-build-coordinator: Output the start script name.Christopher Baines2020-10-23
| | | | | | | As this can be useful for debugging purposes. * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Output the current filename.
* services: guix: Fix hooks gexp issue for the Guix Build Coordinator.Christopher Baines2020-10-23
| | | | | * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Fix handling the name within the hook gexp.
* services: guix: Fix coordinator agent.Mathieu Othacehe2020-10-20
| | | | | * gnu/services/guix.scm (guix-build-coordinator-agent-activation): Define %user variable.
* services: guix: Don't use normalized codeset for Guix Data Service.Christopher Baines2020-10-08
| | | | | | | | This matches up with changes in the Guix Data Service to not use the normalized codeset. * gnu/services/guix.scm (guix-data-service-shepherd-services): Change the LC_ALL codeset to UTF-8.
* services: guix: Add guix-build-coordinator-queue-builds-service-type.guix-build-coordinatorChristopher Baines2020-10-05
| | | | | | | | | | | | | | | | | | | * gnu/services/guix.scm (<guix-build-coordinator-queue-builds-configuration>): New record type. (guix-build-coordinator-queue-builds-configuration, guix-build-coordinator-queue-builds-configuration?, guix-build-coordinator-queue-builds-configuration-package, guix-build-coordinator-queue-builds-configuration-user, guix-build-coordinator-queue-builds-coordinator, guix-build-coordinator-queue-builds-configuration-systems, guix-build-coordinator-queue-builds-configuration-system-and-targets, guix-build-coordinator-queue-builds-configuration-guix-data-service, guix-build-coordinator-queue-builds-configuration-processed-commits-file, guix-build-coordinator-queue-builds-shepherd-services, guix-build-coordinator-queue-builds-activation, guix-build-coordinator-queue-builds-account): New procedures. (guix-build-coordinator-queue-builds-service-type): New variable. * doc/guix.texi (Guix Services): Document it.
* services: guix: Add guix-build-coordinator-agent-service-type.Christopher Baines2020-10-05
| | | | | | | | | | | | | | | | | | | | | | * gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): New record type. (guix-build-coordinator-agent-configuration, guix-build-coordinator-agent-configuration?, guix-build-coordinator-agent-configuration-package, guix-build-coordinator-agent-configuration-user, guix-build-coordinator-agent-configuration-coordinator, guix-build-coordinator-agent-configuration-uuid), guix-build-coordinator-agent-configuration-password, guix-build-coordinator-agent-configuration-password-file, guix-build-coordinator-agent-configuration-systems, guix-build-coordinator-agent-configuration-max-parallel-builds, guix-build-coordinator-agent-configuration-derivation-substitute-urls, guix-build-coordinator-agent-configuration-non-derivation-substitute-urls, guix-build-coordinator-agent-shepherd-services, guix-build-coordinator-agent-activation, guix-build-coordinator-agent-account): New procedures. (guix-build-coordinator-agent-service-type): New variable. * doc/guix.texi (Guix Services): Document it.
* services: guix: Add guix-build-coordinator-service-type.Christopher Baines2020-10-05
| | | | | | | | | | | | | | | | | | | | | * gnu/services/guix.scm (<guix-build-coordinator-configuration>): New record type. (guix-build-coordinator-configuration, guix-build-coordinator-configuration?, guix-build-coordinator-configuration-package, guix-build-coordinator-configuration-user, guix-build-coordinator-configuration-group, guix-build-coordinator-configuration-datastore-uri-string, guix-build-coordinator-configuration-agent-communication-uri-string, guix-build-coordinator-configuration-client-communication-uri-string, guix-build-coordinator-configuration-allocation-strategy, guix-build-coordinator-configuration-hooks, guix-build-coordinator-configuration-guile, make-guix-build-coordinator-start-script, guix-build-coordinator-shepherd-services, guix-build-coordinator-activation, guix-build-coordinator-account): New procedures. (guix-build-coordinator-service-type): New variable. * gnu/tests/guix.scm (%test-guix-build-coordinator): New variable. * doc/guix.texi (Guix Services): Document it.
* services: guix-data-service: Allow passing extra options.guix-data-service-package-and-service-updatesChristopher Baines2020-03-08
| | | | | | | | | | | | This is so that the options supported by the service configuration don't have to always be changed. Generally though all options should be explicitly supported and documented, so this is mostly to facilitate experimentation. * gnu/services/guix.scm (<guix-data-service-configuration>): Add extra-options and extra-process-jobs-options to the record type. (guix-data-service-shepherd-services): Handle these new configuration record fields. * doc/guix.texi (Guix Data Service): Document these new options.
* services: Add the Guix Data Service.wip-guix-data-serviceChristopher Baines2019-09-25
* gnu/services/guix.scm: New file. * gnu/tests/guix.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add both new files. * doc/guix.texi (Guix Services): New section documenting the Guix Data Service.