summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2023-09-15 18:20:38 +0200
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2023-09-15 18:47:00 +0200
commite9ff5d51e3297089e66c124195e1f1b42dbded65 (patch)
treece3993c90b76a2275b57bf3231628966897ee122 /doc
parent43cdc8a07517e936812782c313fe145bcf5c7ed3 (diff)
parentb696fb41bc0dfcb7130a5aa6d69aff2ae191c283 (diff)
Merge branch 'master' into gnome-team.
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi94
1 files changed, 79 insertions, 15 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 339dcb2a41..46cc8e1b80 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -16834,24 +16834,37 @@ instance to support new system services.
The operating system is configured by providing an
@code{operating-system} declaration in a file that can then be passed to
the @command{guix system} command (@pxref{Invoking guix system}). A
-simple setup, with the default system services, the default Linux-Libre
-kernel, initial RAM disk, and boot loader looks like this:
+simple setup, with the default Linux-Libre
+kernel, initial RAM disk, and a couple of system services added to those
+provided by default looks like this:
@findex operating-system
@lisp
@include os-config-bare-bones.texi
@end lisp
-This example should be self-describing. Some of the fields defined
+The configuration is declarative and hopefully mostly self-describing.
+It is actually code in the Scheme programming language; the whole
+@code{(operating-system @dots{})} expression produces a @dfn{record}
+with a number of @dfn{fields}.
+Some of the fields defined
above, such as @code{host-name} and @code{bootloader}, are mandatory.
Others, such as @code{packages} and @code{services}, can be omitted, in
-which case they get a default value.
+which case they get a default value. @xref{operating-system Reference},
+for details about all the available fields.
-Below we discuss the effect of some of the most important fields
-(@pxref{operating-system Reference}, for details about all the available
-fields), and how to @dfn{instantiate} the operating system using
+Below we discuss the effect of some of the most important fields,
+and how to @dfn{instantiate} the operating system using
@command{guix system}.
+@quotation Do not panic
+@cindex Scheme programming language, getting started
+Intimidated by the Scheme language or curious about it? The Cookbook
+has a short section to get started that explains the fundamentals, which
+you will find helpful when hacking your configuration. @xref{A Scheme
+Crash Course,,, guix-cookbook, GNU Guix Cookbook}.
+@end quotation
+
@unnumberedsubsec Bootloader
@cindex legacy boot, on Intel machines
@@ -17025,14 +17038,6 @@ Alternatively, the @code{modify-services} macro can be used:
(delete avahi-service-type))
@end lisp
-@quotation Do not panic
-@cindex Scheme programming language, getting started
-Intimidated by the Scheme language or curious about it? The Cookbook
-has a short section to get started that explains the fundamentals, which
-you will find helpful when hacking your configuration. @xref{A Scheme
-Crash Course,,, guix-cookbook, GNU Guix Cookbook}.
-@end quotation
-
@unnumberedsubsec Instantiating the System
Assuming the @code{operating-system} declaration
@@ -38083,6 +38088,65 @@ File name of the file system key for the target volume.
@node Guix Services
@subsection Guix Services
+@subsubheading Build Farm Front-End (BFFE)
+The @uref{https://git.cbaines.net/guix/bffe/,Build Farm Front-End}
+assists with building Guix packages in bulk. It's responsible for
+submitting builds and displaying the status of the build farm.
+
+@defvar bffe-service-type
+Service type for the Build Farm Front-End. Its value must be a
+@code{bffe-configuration} object.
+@end defvar
+
+@deftp {Data Type} bffe-configuration
+Data type representing the configuration of the Build Farm Front-End.
+
+@table @asis
+@item @code{package} (default: @code{bffe})
+The Build Farm Front-End package to use.
+
+@item @code{user} (default: @code{"bffe"})
+The system user to run the service as.
+
+@item @code{group} (default: @code{"bffe"})
+The system group to run the service as.
+
+@item @code{arguments}
+A list of arguments to the Build Farm Front-End. These are passed to
+the @code{run-bffe-service} procedure when starting the service.
+
+For example, the following value directs the Build Farm Front-End to
+submit builds for derivations available from @code{data.guix.gnu.org} to
+the Build Coordinator instance assumed to be running on the same
+machine.
+
+@example
+(list
+ #:build
+ (list
+ (build-from-guix-data-service
+ (data-service-url "https://data.guix.gnu.org")
+ (build-coordinator-url "http://127.0.0.1:8746")
+ (branches '("master"))
+ (systems '("x86_64-linux" "i686-linux"))
+ (systems-and-targets
+ (map (lambda (target)
+ (cons "x86_64-linux" target))
+ '("aarch64-linux-gnu"
+ "i586-pc-gnu")))
+ (build-priority (const 0))))
+ #:web-server-args
+ '(#:event-source "https://example.com"
+ #:controller-args
+ (#:title "example.com build farm")))
+@end example
+
+@item @code{extra-environment-variables} (default: @var{'()})
+Extra environment variables to set via the shepherd service.
+
+@end table
+@end deftp
+
@subsubheading Guix Build Coordinator
The @uref{https://git.cbaines.net/guix/build-coordinator/,Guix Build
Coordinator} aids in distributing derivation builds among machines