Subject: [bug#43494] [PATCH 3/4] services: guix: Add guix-build-coordinator-agent-service-type.

From: Ludovic Courtès <[email-masked]>
Date: Fri, 18 Sep 2020 22:25:05 +0200

Christopher Baines <[email-masked]> skribis:

> * 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.

[...]

> +@defvar {Scheme Variable} guix-build-coordinator-agent-service-type
> +Service type for a Guix Build Coordinator agent.  Its value must be a

Perhaps “coordinator” and “agent” should be defined in a few sentences
above to clarify what this is about.

> +@item @code{derivation-substitute-urls} (default: @code{1})
> +URLs from which to attempt to fetch substitutes for derivations, if the
> +derivations aren't already available.
> +
> +@item @code{non-derivation-substitute-urls} (default: @code{1})
> +URLs from which to attempt to fetch substitutes for build inputs, if the
> +input store items aren't already available.

This is interesting, I wonder how you can distinguish between the two in
code.  You have to open different sessions, right?  Or to call
‘set-build-options’ again?

> +   (description
> +    "Run an instance of the Guix Build Coordinator.")))

+ “agent”

Otherwise LGTM!

Ludo’.