summaryrefslogtreecommitdiff
path: root/gnu/services/guix.scm
Commit message (Expand)AuthorAgeFilesLines
* services: guix-data-service: Support specifying configuration.•••The database contains some tables that are effectively used for configuration. This commit starts to expose these to the guix service, enabling the configuration to be handled by the service. * gnu/services/guix.scm (<guix-data-service-configuration>): Add git-repositories and build-servers. (guix-data-service-configuration-git-repositories, guix-data-service-configuration-build-servers): New procedures. (guix-data-service-shepherd-services): Add new shepherd service to setup the database. Change-Id: I519efd9157b60f18c7e80e3bdc92c0e3c5729334 Christopher Baines2024-12-161-2/+44
* services: guix-build-coordinator-agent: Add extra-options.•••* gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): Add field extra-options. (guix-build-coordinator-agent-shepherd-services): Add and use EXTRA-OPTIONS argument. * doc/guix.texi (Guix Services): Adapt the documentation. Change-Id: I9e7e258e03e2b6553aa1570f5fcfaf3b0ada3e15 Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail> Andreas Enge2024-09-181-1/+7
* services: guix-build-coordinator-agent: Remove defaults.•••* gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>) [max-parallel-builds, max-parallel-uploads]: Set default to #f. (guix-build-coordinator-agent-shepherd-services): Check for max-parallel-builds. * doc/guix.texi (Guix Services): Adapt the documentation. If set to #f, the default values are now taken as the defaults of the guix-build-coordinator-agent command. Change-Id: Ide6dde0e88aa0dc851b6295095f414ca2ddc72ac Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail> Andreas Enge2024-09-181-4/+6
* services: guix-build-coordinator: Don't log with timestamps.•••As the shepherd adds these to the logs. * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Pass #:timestamp-log-output? #f to make-build-coordinator. (guix-build-coordinator-agent-shepherd-services): Add --timestamp-log-output=false to the arguments. Change-Id: I9073ee7b1cefa894d38fdf3831c59de693e087f6 Christopher Baines2024-06-061-1/+3
* Revert "services: home: Use pairs instead of lists."•••This reverts commit dbeef44f3c520816251bde74c1005915a637e1ef. Despite the more semantically correct data type, it doesn't follow the style of the most services and also breaks user-facing API. Change-Id: Ib4ef4e9cd2f53ac853a5b7c7c90e57c35c99a5ea Andrew Tropin2024-06-021-4/+2
* services: home: Use pairs instead of lists.•••* gnu/services/guix.scm: Use pairs instead of lists. * doc/guix.texi: Update accordingly. * gnu/tests/guix.scm: Update accordingly. Change-Id: I0b8d3fa5b214add89bdb84a11fa20d1b319435f0 Andrew Tropin2024-06-021-2/+4
* services: Add the Guix Home service.•••This patch adds a Guix Home service, which allows for configuring/deploying an operating-system declaration with an associated home-environment. * gnu/services/guix.scm: Add guix-home-service and guix-home-shepherd-service * gnu/home/services/shepherd.scm: Don't attempt to launch user shepherd when the system shepherd runs guix-home-<user> * doc/guix.texi: Add documentation for guix-home-service * gnu/tests/guix.scm: Add a test to verify guix-home-service-type is able to activate a home environment Change-Id: Ifbcc0878d934aa4abe34bb2123b5081fb432aa8e Signed-off-by: Ludovic Courtès <ludo@gnu.org> Richard Sent2024-04-171-0/+38
* services: nar-herder: Add new configuration options.•••* gnu/services/guix.scm (nar-herder-configuration-new-ttl, nar-herder-cached-compression-configuration-unused-removal-duration, nar-herder-cached-compression-configuration-ttl, nar-herder-cached-compression-configuration-new-ttl): New procedure. (nar-herder-shepherd-services): Handle the new options. * doc/guix.texi (Guix Services): Document the new nar-herder options. Change-Id: I161e490221a3ce394e32ada685dca27df60638bb Christopher Baines2024-03-251-3/+37
* gnu: 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 Baines2024-01-121-2/+2
* services: 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 Baines2023-12-221-8/+2
* services: 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 Baines2023-12-221-133/+0
* gnu: 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 Nieuwenhuizen2023-12-021-8/+15
* services: bffe: Use guile from the package.•••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. Christopher Baines2023-09-151-1/+1
* services: guix: Add bffe-service-type.•••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. Christopher Baines2023-09-151-1/+126
* services: nar-herder: Specify a working directory.•••Mostly so that core dumps end up here. * gnu/services/guix.scm (nar-herder-shepherd-services): Specify a working directory. Christopher Baines2023-08-261-0/+1
* services: guix-data-service: Specify a working directory.•••Mostly so that core dumps end up here. * gnu/services/guix.scm (guix-data-service-shepherd-services): Specify a working directory. Christopher Baines2023-08-261-0/+2
* services: guix-build-coordinator: Specify a working directory.•••Mostly so that core dumps end up here. * gnu/services/guix.scm (guix-build-coordinator-shepherd-services): Specify a working directory. Christopher Baines2023-08-261-0/+1
* services: Add missing 'user-processes' requirements.•••* gnu/services/guix.scm (guix-build-coordinator-agent-shepherd-services): Add 'user-processes' requirement. * gnu/services/linux.scm (earlyoom-shepherd-service): Likewise. Ludovic Courtès2023-08-211-1/+1
* services: guix-data-service: Unlink the two shepherd services.•••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. Christopher Baines2023-07-261-5/+1
* services: nar-herder: Support extra environment vars.•••* 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. Christopher Baines2023-05-131-3/+9
* services: guix-build-coordinator-agent: Support max-parallel-uploads.•••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. Christopher Baines2023-05-101-3/+11
* services: guix-build-coordinator: Support extra environment vars.•••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. Christopher Baines2023-05-091-3/+9
* services: guix-build-coordinator: Simpify service startup.•••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. Christopher Baines2023-05-061-9/+2
* services: nar-herder: Add cached compression support.•••* 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. Christopher Baines2023-02-031-3/+82
* services: guix-build-coordinator: Fix service startup.•••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. Christopher Baines2022-12-121-24/+24
* services: guix-build-coordinator: Remove duplicate log timestamp.•••* 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> Christopher Baines2022-11-201-112/+130
* services: guix: Include max-allocated-builds gbc agent option.•••* 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. Christopher Baines2022-10-111-0/+9
* gnu: tests: Fix guix-data-service test.•••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> Timotej Lazar2022-07-151-2/+0
* services: guix-build-coordinator: Fix passing parallel-hooks.•••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. Christopher Baines2022-07-031-1/+4
* services: guix: Support guix-build-coordinator parallel hooks.•••* 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. Christopher Baines2022-07-011-1/+8
* services: guix-data-service: Increase timeout for service start.•••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> Timotej Lazar2022-06-051-1/+1
* gnu: guix-build-coordinator: Update to 0-53.3de63f1.•••* 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. Christopher Baines2022-05-251-1/+13
* services: nar-herder: Allow specifying the log level.•••* 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. Christopher Baines2022-04-221-3/+9
* services: nar-herder: Support ttl and negative-ttl options.•••* 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. Christopher Baines2022-02-041-3/+15
* services: guix: Add nar-herder-service-type.•••* 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. Christopher Baines2022-01-311-2/+147
* services: guix-build-coordinator: Fix variable name in agent config.•••* gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): Fix variable name. * doc/guix.texi (Guix Services): Update accordingly. Christopher Baines2022-01-021-1/+1
* gnu: Add guix-build-coordinator/agent-only.•••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. Christopher Baines2022-01-021-1/+1
* services: guix-build-coordinator: Fix queue builds state directory.•••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. Christopher Baines2021-05-021-3/+3
* services: guix-build-coordinator: Fix queue builds default config.•••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. Christopher Baines2021-04-231-1/+1
* services: guix-build-coordinator: Remove incorrect pid file.•••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. Christopher Baines2021-04-231-1/+0
* services: guix-build-coordinator: Fix service activation parts.•••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. Christopher Baines2021-04-231-2/+10
* services: guix-build-coordinator: Add max-1min-load-average option.•••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. Christopher Baines2021-04-231-0/+9
* services: guix-build-coordinator: Add dynamic auth with file record.•••* 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. Christopher Baines2021-03-051-1/+19
* services: guix-build-coordinator: Add dynamic auth record.•••* 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. Christopher Baines2021-02-281-1/+17
* services: guix-build-coordinator: Rework authentication config.•••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. Christopher Baines2021-02-281-16/+38
* services: guix: Fix Guix Build Coordinator substitute urls bug.•••* gnu/services/guix.scm (guix-build-coordinator-agent-shepherd-services): Pass the correct value as the --non-derivation-substitute-urls. Christopher Baines2020-11-071-1/+1
* services: guix: Remove the Guix Build Coordinator agent pid file.•••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. Christopher Baines2020-11-071-7/+0
* services: guix: Add guix-build-coordinator-agent cache directory.•••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. Christopher Baines2020-11-071-0/+8
* gnu: guix-build-coordinator: Propagate the guile inputs.•••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. Christopher Baines2020-10-231-2/+5
* services: guix: Fix the guix-build-coordinator metrics namespace.•••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. Christopher Baines2020-10-231-1/+1