diff options
author | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2023-09-15 18:20:38 +0200 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2023-09-15 18:47:00 +0200 |
commit | e9ff5d51e3297089e66c124195e1f1b42dbded65 (patch) | |
tree | ce3993c90b76a2275b57bf3231628966897ee122 /doc | |
parent | 43cdc8a07517e936812782c313fe145bcf5c7ed3 (diff) | |
parent | b696fb41bc0dfcb7130a5aa6d69aff2ae191c283 (diff) |
Merge branch 'master' into gnome-team.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/guix.texi | 94 |
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 |