From patchwork Sat Jan 7 19:41:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruno Victal X-Patchwork-Id: 45916 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 6374727BBEB; Sat, 7 Jan 2023 19:50:20 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, PERCENT_RANDOM,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 3177927BBE9 for ; Sat, 7 Jan 2023 19:50:14 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pEFCe-0000lM-4j; Sat, 07 Jan 2023 14:50:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pEFCc-0000kv-GT for guix-patches@gnu.org; Sat, 07 Jan 2023 14:50:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pEFCc-0000tH-75 for guix-patches@gnu.org; Sat, 07 Jan 2023 14:50:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pEFCc-0006BW-0o for guix-patches@gnu.org; Sat, 07 Jan 2023 14:50:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#60634] [PATCH 2/3] doc: Use @defvar instead of @defvr for Scheme variables. Resent-From: Bruno Victal Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 07 Jan 2023 19:50:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60634 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 60634@debbugs.gnu.org Cc: Bruno Victal Received: via spool by 60634-submit@debbugs.gnu.org id=B60634.167312098323742 (code B ref 60634); Sat, 07 Jan 2023 19:50:01 +0000 Received: (at 60634) by debbugs.gnu.org; 7 Jan 2023 19:49:43 +0000 Received: from localhost ([127.0.0.1]:59046 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEFCJ-0006Ar-Nb for submit@debbugs.gnu.org; Sat, 07 Jan 2023 14:49:43 -0500 Received: from smtpmciv7.myservices.hosting ([185.26.106.202]:47622) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEFCH-0006Aj-Ma for 60634@debbugs.gnu.org; Sat, 07 Jan 2023 14:49:42 -0500 Received: from mail1.netim.hosting (unknown [185.26.106.172]) by smtpmciv7.myservices.hosting (Postfix) with ESMTP id 767D820C89 for <60634@debbugs.gnu.org>; Sat, 7 Jan 2023 20:49:38 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id 3295980096; Sat, 7 Jan 2023 20:42:35 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-1.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id ivy98a3W4hNV; Sat, 7 Jan 2023 20:42:31 +0100 (CET) Received: from guix-nuc.home.arpa (bl9-118-236.dsl.telepac.pt [85.242.118.236]) (Authenticated sender: lumen@makinata.eu) by mail1.netim.hosting (Postfix) with ESMTPSA id 797C580093; Sat, 7 Jan 2023 20:42:31 +0100 (CET) From: Bruno Victal Date: Sat, 7 Jan 2023 19:41:14 +0000 Message-Id: <15e0bb4bc2eecb63389316806aff4e1c51f2c62e.1673119748.git.mirai@makinata.eu> X-Mailer: git-send-email 2.38.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * doc/guix.texi (Build Systems) (Search Paths) (The Store) (The Store Monad) (File Systems) (Mapped Devices) (User Accounts) (Locales) (Base Services) (Scheduled Job Execution) (Log Rotation) (Networking Setup) (Networking Services) (Unattended Upgrades) (X Window) (Desktop Services) (Database Services) (Messaging Services) (Kerberos Services) (Web Services) (Certificate Services) (VPN Services) (Network File System) (Samba Services) (Power Management Services) (Audio Services) (Virtualization Services) (Linux Services) (Hurd Services) (Miscellaneous Services) (Setuid Programs) (Name Service Switch) (Initial RAM Disk) (Service Reference) (Shepherd Services) (Essential Home Services) (Mcron Home Service) (Power Management Home Services) (Shepherd Home Service) (Secure Shell) (Desktop Home Services) (Guix Home Services) (Supported Platforms) (Instantiate an Image) (image-type Reference): Use @defvar instead of @defvr for Scheme variables. --- doc/guix.texi | 912 +++++++++++++++++++++++++------------------------- 1 file changed, 456 insertions(+), 456 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 7a86501e60..4aeed8a76b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -8637,7 +8637,7 @@ Build Systems standard build procedure for GNU and many other packages. It is provided by the @code{(guix build-system gnu)} module. -@defvr {Scheme Variable} gnu-build-system +@defvar gnu-build-system @code{gnu-build-system} represents the GNU Build System, and variants thereof (@pxref{Configuration, configuration and makefile conventions,, standards, GNU Coding Standards}). @@ -8728,7 +8728,7 @@ Build Systems @end table Most other build systems support these keyword arguments. -@end defvr +@end defvar Other @code{} objects are defined to support other conventions and tools used by free software packages. They inherit most @@ -8736,7 +8736,7 @@ Build Systems implicitly added to the build process, and in the list of phases executed. Some of these build systems are listed below. -@defvr {Scheme Variable} ant-build-system +@defvar ant-build-system This variable is exported by @code{(guix build-system ant)}. It implements the build procedure for Java packages that can be built with @url{https://ant.apache.org/, Ant build tool}. @@ -8764,9 +8764,9 @@ Build Systems that should be run during the @code{build} phase. By default the ``jar'' task will be run. -@end defvr +@end defvar -@defvr {Scheme Variable} android-ndk-build-system +@defvar android-ndk-build-system @cindex Android distribution @cindex Android NDK build system This variable is exported by @code{(guix build-system android-ndk)}. It @@ -8783,11 +8783,11 @@ Build Systems For the time being, cross-compilation is not supported - so right now the libraries and header files are assumed to be host tools. -@end defvr +@end defvar -@defvr {Scheme Variable} asdf-build-system/source -@defvrx {Scheme Variable} asdf-build-system/sbcl -@defvrx {Scheme Variable} asdf-build-system/ecl +@defvar asdf-build-system/source +@defvarx asdf-build-system/sbcl +@defvarx asdf-build-system/ecl These variables, exported by @code{(guix build-system asdf)}, implement build procedures for Common Lisp packages using @@ -8831,9 +8831,9 @@ Build Systems @code{#:asd-systems} parameter can be used to specify the list of system names. -@end defvr +@end defvar -@defvr {Scheme Variable} cargo-build-system +@defvar cargo-build-system @cindex Rust programming language @cindex Cargo (Rust build system) This variable is exported by @code{(guix build-system cargo)}. It @@ -8862,9 +8862,9 @@ Build Systems the binaries defined by the crate. Unless @code{install-source? #f} is defined it will also install a source crate repository of itself and unpacked sources, to ease in future hacking on rust packages. -@end defvr +@end defvar -@defvr {Scheme Variable} chicken-build-system +@defvar chicken-build-system This variable is exported by @code{(guix build-system chicken)}. It builds @uref{https://call-cc.org/, CHICKEN Scheme} modules, also called ``eggs'' or ``extensions''. CHICKEN generates C source code, which then @@ -8886,9 +8886,9 @@ Build Systems Egg dependencies must be defined in @code{propagated-inputs}, not @code{inputs} because CHICKEN doesn't embed absolute references in compiled eggs. Test dependencies should go to @code{native-inputs}, as usual. -@end defvr +@end defvar -@defvr {Scheme Variable} copy-build-system +@defvar copy-build-system This variable is exported by @code{(guix build-system copy)}. It supports builds of simple packages that don't require much compiling, mostly just moving files around. @@ -8947,12 +8947,12 @@ Build Systems @item @code{("foo/sub" "share/my-app" #:include ("file"))}: Install @file{foo/sub/file} to @file{share/my-app/file}. @end itemize -@end defvr +@end defvar @cindex Clojure (programming language) @cindex simple Clojure build system -@defvr {Scheme Variable} clojure-build-system +@defvar clojure-build-system This variable is exported by @code{(guix build-system clojure)}. It implements a simple build procedure for @uref{https://clojure.org/, Clojure} packages using plain old @code{compile} in Clojure. Cross-compilation is not supported @@ -9005,9 +9005,9 @@ Build Systems @code{#:doc-regex} parameter. All files (recursively) inside the documentation directories specified in @code{#:doc-dirs} are installed as well. @end table -@end defvr +@end defvar -@defvr {Scheme Variable} cmake-build-system +@defvar cmake-build-system This variable is exported by @code{(guix build-system cmake)}. It implements the build procedure for packages using the @url{https://www.cmake.org, CMake build tool}. @@ -9022,9 +9022,9 @@ Build Systems it defaults to @code{"RelWithDebInfo"} (short for ``release mode with debugging information''), which roughly means that code is compiled with @code{-O2 -g}, as is the case for Autoconf-based packages by default. -@end defvr +@end defvar -@defvr {Scheme Variable} dune-build-system +@defvar dune-build-system This variable is exported by @code{(guix build-system dune)}. It supports builds of packages using @uref{https://dune.build/, Dune}, a build tool for the OCaml programming language. It is implemented as an extension @@ -9049,9 +9049,9 @@ Build Systems only one of them. This is equivalent to passing the @code{-p} argument to @code{dune}. -@end defvr +@end defvar -@defvr {Scheme variable} elm-build-system +@defvar elm-build-system This variable is exported by @code{(guix build-system elm)}. It implements a build procedure for @url{https://elm-lang.org, Elm} packages similar to @samp{elm install}. @@ -9103,9 +9103,9 @@ Build Systems Node.js-based @url{https://github.com/rtfeldman/node-test-runner, @command{elm-test}} runner has been packaged for Guix yet. @end itemize -@end defvr +@end defvar -@defvr {Scheme Variable} go-build-system +@defvar go-build-system This variable is exported by @code{(guix build-system go)}. It implements a build procedure for Go packages using the standard @url{https://golang.org/cmd/go/#hdr-Compile_packages_and_dependencies, @@ -9133,9 +9133,9 @@ Build Systems operating system. The combinations known to Go can be found @url{https://golang.org/doc/install/source#environment, in their documentation}. -@end defvr +@end defvar -@defvr {Scheme Variable} glib-or-gtk-build-system +@defvar glib-or-gtk-build-system This variable is exported by @code{(guix build-system glib-or-gtk)}. It is intended for use with packages making use of GLib or GTK+. @@ -9169,9 +9169,9 @@ Build Systems @end table Both phases are executed after the @code{install} phase. -@end defvr +@end defvar -@defvr {Scheme Variable} guile-build-system +@defvar guile-build-system This build system is for Guile packages that consist exclusively of Scheme code and that are so lean that they don't even have a makefile, let alone a @file{configure} script. It compiles Scheme code using @command{guild @@ -9184,9 +9184,9 @@ Build Systems Packages built with @code{guile-build-system} must provide a Guile package in their @code{native-inputs} field. -@end defvr +@end defvar -@defvr {Scheme Variable} julia-build-system +@defvar julia-build-system This variable is exported by @code{(guix build-system julia)}. It implements the build procedure used by @uref{https://julialang.org/, julia} packages, which essentially is similar to running @samp{julia -e @@ -9229,9 +9229,9 @@ Build Systems require this file to be created, too. It is internally done if the arguments @code{#:julia-package-name} and @code{#:julia-package-uuid} are provided. -@end defvr +@end defvar -@defvr {Scheme Variable} maven-build-system +@defvar maven-build-system This variable is exported by @code{(guix build-system maven)}. It implements a build procedure for @uref{https://maven.apache.org, Maven} packages. Maven is a dependency and lifecycle management tool for Java. A user of Maven @@ -9271,17 +9271,17 @@ Build Systems the build, with the same format as the @code{inputs} fields of the package declaration. Its default value is @code{(default-maven-plugins)} which is also exported. -@end defvr +@end defvar -@defvr {Scheme Variable} minetest-mod-build-system +@defvar minetest-mod-build-system This variable is exported by @code{(guix build-system minetest)}. It implements a build procedure for @uref{https://www.minetest.net, Minetest} mods, which consists of copying Lua code, images and other resources to the location Minetest searches for mods. The build system also minimises PNG images and verifies that Minetest can load the mod without errors. -@end defvr +@end defvar -@defvr {Scheme Variable} minify-build-system +@defvar minify-build-system This variable is exported by @code{(guix build-system minify)}. It implements a minification procedure for simple JavaScript packages. @@ -9294,9 +9294,9 @@ Build Systems When the input JavaScript files are not all located in the @file{src} directory, the parameter @code{#:javascript-files} can be used to specify a list of file names to feed to the minifier. -@end defvr +@end defvar -@defvr {Scheme Variable} ocaml-build-system +@defvar ocaml-build-system This variable is exported by @code{(guix build-system ocaml)}. It implements a build procedure for @uref{https://ocaml.org, OCaml} packages, which consists of choosing the correct set of commands to run for each package. OCaml @@ -9337,9 +9337,9 @@ Build Systems libraries cannot be found and we use @env{CAML_LD_LIBRARY_PATH}. This variable points to @file{lib/ocaml/site-lib/stubslibs} and this is where @file{.so} libraries should be installed. -@end defvr +@end defvar -@defvr {Scheme Variable} python-build-system +@defvar python-build-system This variable is exported by @code{(guix build-system python)}. It implements the more or less standard build procedure used by Python packages, which consists in running @code{python setup.py build} and @@ -9366,9 +9366,9 @@ Build Systems include a Python package as only a part of the software, and thus want to combine the phases of @code{python-build-system} with another build system. Python bindings are a common usecase. -@end defvr +@end defvar -@defvr {Scheme Variable} pyproject-build-system +@defvar pyproject-build-system This is a variable exported by @code{guix build-system pyproject}. It is based on @var{python-build-system}, and adds support for @file{pyproject.toml} and @url{https://peps.python.org/pep-0517/, PEP 517}. @@ -9397,9 +9397,9 @@ Build Systems Eventually this build system will be deprecated and merged back into @var{python-build-system}, probably some time in 2024. -@end defvr +@end defvar -@defvr {Scheme Variable} perl-build-system +@defvar perl-build-system This variable is exported by @code{(guix build-system perl)}. It implements the standard build procedure for Perl packages, which either consists in running @code{perl Build.PL --prefix=/gnu/store/@dots{}}, @@ -9417,9 +9417,9 @@ Build Systems @code{#:module-build-flags} parameter, respectively. Which Perl package is used can be specified with @code{#:perl}. -@end defvr +@end defvar -@defvr {Scheme Variable} renpy-build-system +@defvar renpy-build-system This variable is exported by @code{(guix build-system renpy)}. It implements the more or less standard build procedure used by Ren'py games, which consists of loading @code{#:game} once, thereby creating bytecode for it. @@ -9430,9 +9430,9 @@ Build Systems Which Ren'py package is used can be specified with @code{#:renpy}. Games can also be installed in outputs other than ``out'' by using @code{#:output}. -@end defvr +@end defvar -@defvr {Scheme Variable} qt-build-system +@defvar qt-build-system This variable is exported by @code{(guix build-system qt)}. It is intended for use with applications using Qt or KDE. @@ -9466,9 +9466,9 @@ Build Systems This phase is added after the @code{install} phase. @end table -@end defvr +@end defvar -@defvr {Scheme Variable} r-build-system +@defvar r-build-system This variable is exported by @code{(guix build-system r)}. It implements the build procedure used by @uref{https://r-project.org, R} packages, which essentially is little more than running @samp{R CMD @@ -9476,9 +9476,9 @@ Build Systems @env{R_LIBS_SITE} contains the paths to all R package inputs. Tests are run after installation using the R function @code{tools::testInstalledPackage}. -@end defvr +@end defvar -@defvr {Scheme Variable} rakudo-build-system +@defvar rakudo-build-system This variable is exported by @code{(guix build-system rakudo)}. It implements the build procedure used by @uref{https://rakudo.org/, Rakudo} for @uref{https://perl6.org/, Perl6} packages. It installs the @@ -9494,9 +9494,9 @@ Build Systems Which perl6-zef package used for tests and installing can be specified with @code{#:zef} or removed by passing @code{#f} to the @code{with-zef?} parameter. -@end defvr +@end defvar -@defvr {Scheme Variable} rebar-build-system +@defvar rebar-build-system This variable is exported by @code{(guix build-system rebar)}. It implements a build procedure around @uref{https://rebar3.org,rebar3}, a build system for programs written in the Erlang language. @@ -9537,9 +9537,9 @@ Build Systems other profile specified with @code{#:install-profile}. @end table -@end defvr +@end defvar -@defvr {Scheme Variable} texlive-build-system +@defvar texlive-build-system This variable is exported by @code{(guix build-system texlive)}. It is used to build TeX packages in batch mode with a specified engine. The build system sets the @env{TEXINPUTS} variable to find all TeX source @@ -9556,9 +9556,9 @@ Build Systems The @code{#:tex-directory} parameter tells the build system where to install the built files under the texmf tree. -@end defvr +@end defvar -@defvr {Scheme Variable} ruby-build-system +@defvar ruby-build-system This variable is exported by @code{(guix build-system ruby)}. It implements the RubyGems build procedure used by Ruby packages, which involves running @code{gem build} followed by @code{gem install}. @@ -9574,9 +9574,9 @@ Build Systems Which Ruby package is used can be specified with the @code{#:ruby} parameter. A list of additional flags to be passed to the @command{gem} command can be specified with the @code{#:gem-flags} parameter. -@end defvr +@end defvar -@defvr {Scheme Variable} waf-build-system +@defvar waf-build-system This variable is exported by @code{(guix build-system waf)}. It implements a build procedure around the @code{waf} script. The common phases---@code{configure}, @code{build}, and @code{install}---are @@ -9586,9 +9586,9 @@ Build Systems The @code{waf} script is executed by the Python interpreter. Which Python package is used to run the script can be specified with the @code{#:python} parameter. -@end defvr +@end defvar -@defvr {Scheme Variable} scons-build-system +@defvar scons-build-system This variable is exported by @code{(guix build-system scons)}. It implements the build procedure used by the SCons software construction tool. This build system runs @code{scons} to build the package, @@ -9601,9 +9601,9 @@ Build Systems @code{#:install-targets} respectively. The version of Python used to run SCons can be specified by selecting the appropriate SCons package with the @code{#:scons} parameter. -@end defvr +@end defvar -@defvr {Scheme Variable} haskell-build-system +@defvar haskell-build-system This variable is exported by @code{(guix build-system haskell)}. It implements the Cabal build procedure used by Haskell packages, which involves running @code{runhaskell Setup.hs configure @@ -9620,9 +9620,9 @@ Build Systems Which Haskell compiler is used can be specified with the @code{#:haskell} parameter which defaults to @code{ghc}. -@end defvr +@end defvar -@defvr {Scheme Variable} dub-build-system +@defvar dub-build-system This variable is exported by @code{(guix build-system dub)}. It implements the Dub build procedure used by D packages, which involves running @code{dub build} and @code{dub run}. @@ -9630,10 +9630,10 @@ Build Systems Which D compiler is used can be specified with the @code{#:ldc} parameter which defaults to @code{ldc}. -@end defvr +@end defvar @anchor{emacs-build-system} -@defvr {Scheme Variable} emacs-build-system +@defvar emacs-build-system This variable is exported by @code{(guix build-system emacs)}. It implements an installation procedure similar to the packaging system of Emacs itself (@pxref{Packages,,, emacs, The GNU Emacs Manual}). @@ -9643,17 +9643,17 @@ Build Systems packaging system, the Info documentation files are moved to the standard documentation directory and the @file{dir} file is deleted. The Elisp package files are installed directly under @file{share/emacs/site-lisp}. -@end defvr +@end defvar -@defvr {Scheme Variable} font-build-system +@defvar font-build-system This variable is exported by @code{(guix build-system font)}. It implements an installation procedure for font packages where upstream provides pre-compiled TrueType, OpenType, etc.@: font files that merely need to be copied into place. It copies font files to standard locations in the output directory. -@end defvr +@end defvar -@defvr {Scheme Variable} meson-build-system +@defvar meson-build-system This variable is exported by @code{(guix build-system meson)}. It implements the build procedure for packages that use @url{https://mesonbuild.com, Meson} as their build system. @@ -9707,9 +9707,9 @@ Build Systems This phase is the phase provided by @code{glib-or-gtk-build-system}, and it is not enabled by default. It can be enabled with @code{#:glib-or-gtk?}. @end table -@end defvr +@end defvar -@defvr {Scheme Variable} linux-module-build-system +@defvar linux-module-build-system @code{linux-module-build-system} allows building Linux kernel modules. @cindex build phases @@ -9734,9 +9734,9 @@ Build Systems It is possible and useful to specify the Linux kernel to use for building the module (in the @code{arguments} form of a package using the @code{linux-module-build-system}, use the key @code{#:linux} to specify it). -@end defvr +@end defvar -@defvr {Scheme Variable} node-build-system +@defvar node-build-system This variable is exported by @code{(guix build-system node)}. It implements the build procedure used by @uref{https://nodejs.org, Node.js}, which implements an approximation of the @code{npm install} @@ -9745,23 +9745,23 @@ Build Systems Which Node.js package is used to interpret the @code{npm} commands can be specified with the @code{#:node} parameter which defaults to @code{node}. -@end defvr +@end defvar Lastly, for packages that do not need anything as sophisticated, a ``trivial'' build system is provided. It is trivial in the sense that it provides basically no support: it does not pull any implicit inputs, and does not have a notion of build phases. -@defvr {Scheme Variable} trivial-build-system +@defvar trivial-build-system This variable is exported by @code{(guix build-system trivial)}. This build system requires a @code{#:builder} argument. This argument must be a Scheme expression that builds the package output(s)---as with @code{build-expression->derivation} (@pxref{Derivations, @code{build-expression->derivation}}). -@end defvr +@end defvar -@defvr {Scheme Variable} channel-build-system +@defvar channel-build-system This variable is exported by @code{(guix build-system channel)}. This build system is meant primarily for internal use. A package using @@ -9772,7 +9772,7 @@ Build Systems The resulting package is a Guix instance of the given channel, similar to how @command{guix time-machine} would build it. -@end defvr +@end defvar @node Build Phases @section Build Phases @@ -10624,11 +10624,11 @@ Search Paths To reduce duplications, some of them are pre-defined in @code{(guix search-paths)}. -@defvr {Scheme Variable} $SSL_CERT_DIR -@defvrx {Scheme Variable} $SSL_CERT_FILE +@defvar $SSL_CERT_DIR +@defvarx $SSL_CERT_FILE These two search paths indicate where X.509 certificates can be found (@pxref{X.509 Certificates}). -@end defvr +@end defvar These pre-defined search paths can be used as in the following example: @@ -10767,10 +10767,10 @@ The Store Close the connection to @var{server}. @end deffn -@defvr {Scheme Variable} current-build-output-port +@defvar current-build-output-port This variable is bound to a SRFI-39 parameter, which refers to the port where build and error logs sent by the daemon should be written. -@end defvr +@end defvar Procedures that make RPCs all take a server object as their first argument. @@ -11195,7 +11195,7 @@ The Store Monad allows an additional value---the state---to be @emph{threaded} through monadic procedure calls. -@defvr {Scheme Variable} %state-monad +@defvar %state-monad The state monad. Procedures in the state monad can access and change the state that is threaded. @@ -11217,7 +11217,7 @@ The Store Monad When ``run'' through @code{%state-monad}, we obtain that additional state value, which is the number of @code{square} calls. -@end defvr +@end defvar @deffn {Monadic Procedure} current-state Return the current state as a monadic value. @@ -11246,13 +11246,13 @@ The Store Monad The main interface to the store monad, provided by the @code{(guix store)} module, is as follows. -@defvr {Scheme Variable} %store-monad +@defvar %store-monad The store monad---an alias for @code{%state-monad}. Values in the store monad encapsulate accesses to the store. When its effect is needed, a value of the store monad must be ``evaluated'' by passing it to the @code{run-with-store} procedure (see below). -@end defvr +@end defvar @deffn {Scheme Procedure} run-with-store @var{store} @var{mval} [#:guile-for-build] [#:system (%current-system)] Run @var{mval}, a monadic value in the store monad, in @var{store}, an @@ -16758,28 +16758,28 @@ File Systems The @code{(gnu system file-systems)} exports the following useful variables. -@defvr {Scheme Variable} %base-file-systems +@defvar %base-file-systems These are essential file systems that are required on normal systems, such as @code{%pseudo-terminal-file-system} and @code{%immutable-store} (see below). Operating system declarations should always contain at least these. -@end defvr +@end defvar -@defvr {Scheme Variable} %pseudo-terminal-file-system +@defvar %pseudo-terminal-file-system This is the file system to be mounted as @file{/dev/pts}. It supports @dfn{pseudo-terminals} created @i{via} @code{openpty} and similar functions (@pxref{Pseudo-Terminals,,, libc, The GNU C Library Reference Manual}). Pseudo-terminals are used by terminal emulators such as @command{xterm}. -@end defvr +@end defvar -@defvr {Scheme Variable} %shared-memory-file-system +@defvar %shared-memory-file-system This file system is mounted as @file{/dev/shm} and is used to support memory sharing across processes (@pxref{Memory-mapped I/O, @code{shm_open},, libc, The GNU C Library Reference Manual}). -@end defvr +@end defvar -@defvr {Scheme Variable} %immutable-store +@defvar %immutable-store This file system performs a read-only ``bind mount'' of @file{/gnu/store}, making it read-only for all the users including @code{root}. This prevents against accidental modification by software @@ -16787,19 +16787,19 @@ File Systems The daemon itself is still able to write to the store: it remounts it read-write in its own ``name space.'' -@end defvr +@end defvar -@defvr {Scheme Variable} %binary-format-file-system +@defvar %binary-format-file-system The @code{binfmt_misc} file system, which allows handling of arbitrary executable file types to be delegated to user space. This requires the @code{binfmt.ko} kernel module to be loaded. -@end defvr +@end defvar -@defvr {Scheme Variable} %fuse-control-file-system +@defvar %fuse-control-file-system The @code{fusectl} file system, which allows unprivileged users to mount and unmount user-space FUSE file systems. This requires the @code{fuse.ko} kernel module to be loaded. -@end defvr +@end defvar The @code{(gnu system uuid)} module provides tools to deal with file system ``unique identifiers'' (UUIDs). @@ -16984,26 +16984,26 @@ Mapped Devices @end table @end deftp -@defvr {Scheme Variable} luks-device-mapping +@defvar luks-device-mapping This defines LUKS block device encryption using the @command{cryptsetup} command from the package with the same name. It relies on the @code{dm-crypt} Linux kernel module. -@end defvr +@end defvar -@defvr {Scheme Variable} raid-device-mapping +@defvar raid-device-mapping This defines a RAID device, which is assembled using the @code{mdadm} command from the package with the same name. It requires a Linux kernel module for the appropriate RAID level to be loaded, such as @code{raid456} for RAID-4, RAID-5 or RAID-6, or @code{raid10} for RAID-10. -@end defvr +@end defvar @cindex LVM, logical volume manager -@defvr {Scheme Variable} lvm-device-mapping +@defvar lvm-device-mapping This defines one or more logical volumes for the Linux @uref{https://www.sourceware.org/lvm2/, Logical Volume Manager (LVM)}. The volume group is activated by the @command{vgchange} command from the @code{lvm2} package. -@end defvr +@end defvar @cindex disk encryption @cindex LUKS @@ -17424,20 +17424,20 @@ User Accounts For convenience, a variable lists all the basic user groups one may expect: -@defvr {Scheme Variable} %base-groups +@defvar %base-groups This is the list of basic user groups that users and/or packages expect to be present on the system. This includes groups such as ``root'', ``wheel'', and ``users'', as well as groups used to control access to specific devices such as ``audio'', ``disk'', and ``cdrom''. -@end defvr +@end defvar -@defvr {Scheme Variable} %base-user-accounts +@defvar %base-user-accounts This is the list of basic system accounts that programs may expect to find on a GNU/Linux system, such as the ``nobody'' account. Note that the ``root'' account is not included here. It is a special-case and is automatically added whether or not it is specified. -@end defvr +@end defvar @node Keyboard Layout @section Keyboard Layout @@ -17660,7 +17660,7 @@ Locales @end table @end deftp -@defvr {Scheme Variable} %default-locale-definitions +@defvar %default-locale-definitions A list of commonly used UTF-8 locales, used as the default value of the @code{locale-definitions} field of @code{operating-system} declarations. @@ -17672,7 +17672,7 @@ Locales normalized codeset,, libc, The GNU C Library Reference Manual}). So for instance it has @code{uk_UA.utf8} but @emph{not}, say, @code{uk_UA.UTF-8}. -@end defvr +@end defvar @subsection Locale Data Compatibility Considerations @@ -17831,7 +17831,7 @@ Base Services services that one expects from the system. The services exported by this module are listed below. -@defvr {Scheme Variable} %base-services +@defvar %base-services This variable contains a list of basic services (@pxref{Service Types and Services}, for more information on service objects) one would expect from the system: a login service (mingetty) on each tty, syslogd, @@ -17848,9 +17848,9 @@ Base Services (service openssh-service-type)) %base-services) @end lisp -@end defvr +@end defvar -@defvr {Scheme Variable} special-files-service-type +@defvar special-files-service-type This is the service that sets up ``special files'' such as @file{/bin/sh}; an instance of it is part of @code{%base-services}. @@ -17881,7 +17881,7 @@ Base Services (@pxref{Service Reference, @code{modify-services}}). But the simple way to add a special file is @i{via} the @code{extra-special-file} procedure (see below). -@end defvr +@end defvar @deffn {Scheme Procedure} extra-special-file @var{file} @var{target} Use @var{target} as the ``special file'' @var{file}. @@ -17900,7 +17900,7 @@ Base Services Return a service that sets the host name to @var{name}. @end deffn -@defvr {Scheme Variable} console-font-service-type +@defvar console-font-service-type Install the given fonts on the specified ttys (fonts are per virtual console on the kernel Linux). The value of this service is a list of tty/font pairs. The font can be the name of a font provided by the @code{kbd} @@ -17915,7 +17915,7 @@ Base Services font-terminus "/share/consolefonts/ter-132n"))) ; for HDPI @end lisp -@end defvr +@end defvar @deffn {Scheme Procedure} login-service @var{config} Return a service to run login according to @var{config}, a @@ -18239,11 +18239,11 @@ Base Services @end deffn -@defvr {Scheme Variable} %nscd-default-configuration +@defvar %nscd-default-configuration This is the default @code{} value (see below) used by @code{nscd-service}. It uses the caches defined by @code{%nscd-default-caches}; see below. -@end defvr +@end defvar @deftp {Data Type} nscd-configuration This is the data type representing the name service cache daemon (nscd) @@ -18313,7 +18313,7 @@ Base Services @end table @end deftp -@defvr {Scheme Variable} %nscd-default-caches +@defvar %nscd-default-caches List of @code{} objects used by default by @code{nscd-configuration} (see above). @@ -18322,7 +18322,7 @@ Base Services resilience in the face of unreliable name servers, and also better privacy---often the result of host name lookups is in local cache, so external name servers do not even need to be queried. -@end defvr +@end defvar @anchor{syslog-configuration-type} @cindex syslog @@ -18349,11 +18349,11 @@ Base Services information on the configuration file syntax. @end deffn -@defvr {Scheme Variable} guix-service-type +@defvar guix-service-type This is the type of the service that runs the build daemon, @command{guix-daemon} (@pxref{Invoking guix-daemon}). Its value must be a @code{guix-configuration} record as described below. -@end defvr +@end defvar @anchor{guix-configuration-type} @deftp {Data Type} guix-configuration @@ -18609,22 +18609,22 @@ Base Services %desktop-services))) @end lisp -@defvr {Scheme Variable} urandom-seed-service-type +@defvar urandom-seed-service-type Save some entropy in @code{%random-seed-file} to seed @file{/dev/urandom} when rebooting. It also tries to seed @file{/dev/urandom} from @file{/dev/hwrng} while booting, if @file{/dev/hwrng} exists and is readable. -@end defvr +@end defvar -@defvr {Scheme Variable} %random-seed-file +@defvar %random-seed-file This is the name of the file where some random bytes are saved by @var{urandom-seed-service} to seed @file{/dev/urandom} when rebooting. It defaults to @file{/var/lib/random-seed}. -@end defvr +@end defvar @cindex mouse @cindex gpm -@defvr {Scheme Variable} gpm-service-type +@defvar gpm-service-type This is the type of the service that runs GPM, the @dfn{general-purpose mouse daemon}, which provides mouse support to the Linux console. GPM allows users to use the mouse in the console, notably to select, copy, @@ -18632,7 +18632,7 @@ Base Services The value for services of this type must be a @code{gpm-configuration} (see below). This service is not part of @code{%base-services}. -@end defvr +@end defvar @deftp {Data Type} gpm-configuration Data type representing the configuration of GPM. @@ -18790,7 +18790,7 @@ Base Services @samp{pam_limits} man page from the @code{linux-pam} package. @end deffn -@defvr {Scheme Variable} greetd-service-type +@defvar greetd-service-type @uref{https://git.sr.ht/~kennylevinsen/greetd, @code{greetd}} is a minimal and flexible login manager daemon, that makes no assumptions about what you want to launch. @@ -18851,7 +18851,7 @@ Base Services ;; as illustrated above #| (service mingetty-service-type (mingetty-configuration (tty "tty8"))) |#)) @end lisp -@end defvr +@end defvar @deftp {Data Type} greetd-configuration Configuration record for the @code{greetd-service-type}. @@ -19138,7 +19138,7 @@ Scheduled Job Execution # herd schedule mcron 10 @end example -@defvr {Scheme Variable} mcron-service-type +@defvar mcron-service-type This is the type of the @code{mcron} service, whose value is an @code{mcron-configuration} object. @@ -19146,7 +19146,7 @@ Scheduled Job Execution additional job specifications (@pxref{Service Composition}). In other words, it is possible to define services that provide additional mcron jobs to run. -@end defvr +@end defvar @c Generated via (generate-documentation) at the bottom of (gnu services @c mcron). @@ -19212,7 +19212,7 @@ Log Rotation %base-services))) @end lisp -@defvr {Scheme Variable} rottlog-service-type +@defvar rottlog-service-type This is the type of the Rottlog service, whose value is a @code{rottlog-configuration} object. @@ -19221,7 +19221,7 @@ Log Rotation This service type can define mcron jobs (@pxref{Scheduled Job Execution}) to run the rottlog service. -@end defvr +@end defvar @deftp {Data Type} rottlog-configuration Data type representing the configuration of rottlog. @@ -19279,16 +19279,16 @@ Log Rotation @end table @end deftp -@defvr {Scheme Variable} %default-rotations +@defvar %default-rotations Specifies weekly rotation of @code{%rotated-files} and of @file{/var/log/guix-daemon.log}. -@end defvr +@end defvar -@defvr {Scheme Variable} %rotated-files +@defvar %rotated-files The list of syslog-controlled files to be rotated. By default it is: @code{'("/var/log/messages" "/var/log/secure" "/var/log/debug" \ "/var/log/maillog")}. -@end defvr +@end defvar Some log files just need to be deleted periodically once they are old, without any other criterion and without any archival step. This is the @@ -19306,10 +19306,10 @@ Log Rotation That ensures build logs do not accumulate endlessly. -@defvr {Scheme Variable} log-cleanup-service-type +@defvar log-cleanup-service-type This is the type of the service to delete old logs. Its value must be a @code{log-cleanup-configuration} record as described below. -@end defvr +@end defvar @deftp {Data Type} log-cleanup-configuration Data type representing the log cleanup configuration @@ -19418,7 +19418,7 @@ Networking Setup This section describes the various network setup services available, starting with static network configuration. -@defvr {Scheme Variable} static-networking-service-type +@defvar static-networking-service-type This is the type for statically-configured network interfaces. Its value must be a list of @code{static-networking} records. Each of them declares a set of @dfn{addresses}, @dfn{routes}, and @dfn{links}, as @@ -19451,7 +19451,7 @@ Networking Setup address is on the local area network (LAN). Traffic to addresses outside the local network is routed @i{via} 10.0.2.2. Host names are resolved by sending domain name system (DNS) queries to 10.0.2.3. -@end defvr +@end defvar @deftp {Data Type} static-networking This is the data type representing a static network configuration. @@ -19580,25 +19580,25 @@ Networking Setup @end deftp @cindex loopback device -@defvr {Scheme Variable} %loopback-static-networking +@defvar %loopback-static-networking This is the @code{static-networking} record representing the ``loopback device'', @code{lo}, for IP addresses 127.0.0.1 and ::1, and providing the @code{loopback} Shepherd service. -@end defvr +@end defvar @cindex networking, with QEMU @cindex QEMU, networking -@defvr {Scheme Variable} %qemu-static-networking +@defvar %qemu-static-networking This is the @code{static-networking} record representing network setup when using QEMU's user-mode network stack on @code{eth0} (@pxref{Using the user mode network stack,,, QEMU, QEMU Documentation}). -@end defvr +@end defvar @cindex DHCP, networking service -@defvr {Scheme Variable} dhcp-client-service-type +@defvar dhcp-client-service-type This is the type of services that run @var{dhcp}, a Dynamic Host Configuration Protocol (DHCP) client. -@end defvr +@end defvar @deftp {Data Type} dhcp-client-configuration Data type representing the configuration of the DHCP client service. @@ -19619,7 +19619,7 @@ Networking Setup @cindex NetworkManager -@defvr {Scheme Variable} network-manager-service-type +@defvar network-manager-service-type This is the service type for the @uref{https://wiki.gnome.org/Projects/NetworkManager, NetworkManager} service. The value for this service type is a @@ -19627,7 +19627,7 @@ Networking Setup This service is part of @code{%desktop-services} (@pxref{Desktop Services}). -@end defvr +@end defvar @deftp {Data Type} network-manager-configuration Data type representing the configuration of NetworkManager. @@ -19721,11 +19721,11 @@ Networking Setup @end deftp @cindex WPA Supplicant -@defvr {Scheme Variable} wpa-supplicant-service-type +@defvar wpa-supplicant-service-type This is the service type to run @url{https://w1.fi/wpa_supplicant/,WPA supplicant}, an authentication daemon required to authenticate against encrypted WiFi or ethernet networks. -@end defvr +@end defvar @deftp {Data Type} wpa-supplicant-configuration Data type representing the configuration of WPA Supplicant. @@ -19761,7 +19761,7 @@ Networking Setup Some networking devices such as modems require special care, and this is what the services below focus on. -@defvr {Scheme Variable} modem-manager-service-type +@defvar modem-manager-service-type This is the service type for the @uref{https://wiki.gnome.org/Projects/ModemManager, ModemManager} service. The value for this service type is a @@ -19769,7 +19769,7 @@ Networking Setup This service is part of @code{%desktop-services} (@pxref{Desktop Services}). -@end defvr +@end defvar @deftp {Data Type} modem-manager-configuration Data type representing the configuration of ModemManager. @@ -19784,7 +19784,7 @@ Networking Setup @cindex USB_ModeSwitch @cindex Modeswitching -@defvr {Scheme Variable} usb-modeswitch-service-type +@defvar usb-modeswitch-service-type This is the service type for the @uref{https://www.draisberghof.de/usb_modeswitch/, USB_ModeSwitch} service. The value for this service type is @@ -19798,7 +19798,7 @@ Networking Setup This service is part of @code{%desktop-services} (@pxref{Desktop Services}). -@end defvr +@end defvar @deftp {Data Type} usb-modeswitch-configuration Data type representing the configuration of USB_ModeSwitch. @@ -19878,7 +19878,7 @@ Networking Services @cindex hostapd service, for Wi-Fi access points @cindex Wi-Fi access points, hostapd service -@defvr {Scheme Variable} hostapd-service-type +@defvar hostapd-service-type This is the service type to run the @uref{https://w1.fi/hostapd/, hostapd} daemon to set up WiFi (IEEE 802.11) access points and authentication servers. Its associated value must be a @@ -19892,7 +19892,7 @@ Networking Services (ssid "My Network") (channel 12))) @end lisp -@end defvr +@end defvar @deftp {Data Type} hostapd-configuration This data type represents the configuration of the hostapd service, with @@ -19927,7 +19927,7 @@ Networking Services @end table @end deftp -@defvr {Scheme Variable} simulated-wifi-service-type +@defvar simulated-wifi-service-type This is the type of a service to simulate WiFi networking, which can be useful in virtual machines for testing purposes. The service loads the Linux kernel @@ -19936,11 +19936,11 @@ Networking Services network that can be seen on @code{wlan0}, by default. The service's value is a @code{hostapd-configuration} record. -@end defvr +@end defvar @cindex iptables -@defvr {Scheme Variable} iptables-service-type +@defvar iptables-service-type This is the service type to set up an iptables configuration. iptables is a packet filtering framework supported by the Linux kernel. This service supports configuring iptables for both IPv4 and IPv6. A simple example @@ -19969,7 +19969,7 @@ Networking Services COMMIT ")))) @end lisp -@end defvr +@end defvar @deftp {Data Type} iptables-configuration The data type representing the configuration of iptables. @@ -19990,7 +19990,7 @@ Networking Services @end deftp @cindex nftables -@defvr {Scheme Variable} nftables-service-type +@defvar nftables-service-type This is the service type to set up a nftables configuration. nftables is a netfilter project that aims to replace the existing iptables, ip6tables, arptables and ebtables framework. It provides a new packet filtering @@ -20002,7 +20002,7 @@ Networking Services @lisp (service nftables-service-type) @end lisp -@end defvr +@end defvar @deftp {Data Type} nftables-configuration The data type representing the configuration of nftables. @@ -20019,14 +20019,14 @@ Networking Services @cindex NTP (Network Time Protocol), service @cindex ntpd, service for the Network Time Protocol daemon @cindex real time clock -@defvr {Scheme Variable} ntp-service-type +@defvar ntp-service-type This is the type of the service running the @uref{https://www.ntp.org, Network Time Protocol (NTP)} daemon, @command{ntpd}. The daemon will keep the system clock synchronized with that of the specified NTP servers. The value of this service is an @code{ntpd-configuration} object, as described below. -@end defvr +@end defvar @deftp {Data Type} ntp-configuration This is the data type for the NTP service configuration. @@ -20046,10 +20046,10 @@ Networking Services @end table @end deftp -@defvr {Scheme Variable} %ntp-servers +@defvar %ntp-servers List of host names used as the default NTP servers. These are servers of the @uref{https://www.ntppool.org/en/, NTP Pool Project}. -@end defvr +@end defvar @deftp {Data Type} ntp-server The data type representing the configuration of a NTP server. @@ -20095,10 +20095,10 @@ Networking Services @end lisp @end deffn -@defvr {Scheme Variable} %openntpd-servers +@defvar %openntpd-servers This variable is a list of the server addresses defined in @code{%ntp-servers}. -@end defvr +@end defvar @deftp {Data Type} openntpd-configuration @table @asis @@ -20226,7 +20226,7 @@ Networking Services @cindex opendht, distributed hash table network service @cindex dhtproxy, for use with jami -@defvr {Scheme Variable} opendht-service-type +@defvar opendht-service-type This is the type of the service running a @uref{https://opendht.net, OpenDHT} node, @command{dhtnode}. The daemon can be used to host your own proxy service to the distributed hash table (DHT), for example to @@ -20245,7 +20245,7 @@ Networking Services The value of this service is a @code{opendht-configuration} object, as described below. -@end defvr +@end defvar @c The fields documentation has been auto-generated using the @c configuration->documentation procedure from @@ -20290,13 +20290,13 @@ Networking Services @end deftp @cindex Tor -@defvr {Scheme Variable} tor-service-type +@defvar tor-service-type This is the type for a service that runs the @uref{https://torproject.org, Tor} anonymous networking daemon. The service is configured using a @code{} record. By default, the Tor daemon runs as the @code{tor} unprivileged user, which is a member of the @code{tor} group. -@end defvr +@end defvar @deftp {Data Type} tor-configuration @table @asis @@ -20946,7 +20946,7 @@ Networking Services @end table @end deftp -@defvr {Scheme Variable} %facebook-host-aliases +@defvar %facebook-host-aliases This variable contains a string for use in @file{/etc/hosts} (@pxref{Host Names,,, libc, The GNU C Library Reference Manual}). Each line contains a entry that maps a known server name of the Facebook @@ -20973,11 +20973,11 @@ Networking Services This mechanism can prevent programs running locally, such as Web browsers, from accessing Facebook. -@end defvr +@end defvar The @code{(gnu services avahi)} provides the following definition. -@defvr {Scheme Variable} avahi-service-type +@defvar avahi-service-type This is the service that runs @command{avahi-daemon}, a system-wide mDNS/DNS-SD responder that allows for service discovery and ``zero-configuration'' host name lookups (see @uref{https://avahi.org/}). @@ -20990,7 +20990,7 @@ Networking Services Additionally, add the @var{avahi} package to the system profile so that commands such as @command{avahi-browse} are directly usable. -@end defvr +@end defvar @deftp {Data Type} avahi-configuration Data type representation the configuration for Avahi. @@ -21044,7 +21044,7 @@ Networking Services @end table @end deftp -@defvr {Scheme Variable} pagekite-service-type +@defvar pagekite-service-type This is the service type for the @uref{https://pagekite.net, PageKite} service, a tunneling solution for making localhost servers publicly visible, even from behind restrictive firewalls or NAT without forwarded ports. The value for @@ -21059,7 +21059,7 @@ Networking Services "raw/22:@@kitename:localhost:22:@@kitesecret")) (extra-file "/etc/pagekite.rc"))) @end lisp -@end defvr +@end defvar @deftp {Data Type} pagekite-configuration Data type representing the configuration of PageKite. @@ -21090,7 +21090,7 @@ Networking Services @end table @end deftp -@defvr {Scheme Variable} yggdrasil-service-type +@defvar yggdrasil-service-type The service type for connecting to the @uref{https://yggdrasil-network.github.io/, Yggdrasil network}, an early-stage implementation of a fully end-to-end encrypted IPv6 network. @@ -21133,7 +21133,7 @@ Networking Services PrivateKey: 5c750... @} @end example -@end defvr +@end defvar @deftp {Data Type} yggdrasil-configuration Data type representing the configuration of Yggdrasil. @@ -21179,7 +21179,7 @@ Networking Services @end deftp @cindex IPFS -@defvr {Scheme Variable} ipfs-service-type +@defvar ipfs-service-type The service type for connecting to the @uref{https://ipfs.io,IPFS network}, a global, versioned, peer-to-peer file system. Pass it a @code{ipfs-configuration} to change the ports used for the gateway and API. @@ -21192,7 +21192,7 @@ Networking Services (gateway "/ip4/127.0.0.1/tcp/8880") (api "/ip4/127.0.0.1/tcp/8881"))) @end lisp -@end defvr +@end defvar @deftp {Data Type} ipfs-configuration Data type representing the configuration of IPFS. @@ -21311,14 +21311,14 @@ Unattended Upgrades @command{guix system describe}. To investigate upgrade failures, visit the unattended upgrade log file (see below). -@defvr {Scheme Variable} unattended-upgrade-service-type +@defvar unattended-upgrade-service-type This is the service type for unattended upgrades. It sets up an mcron job (@pxref{Scheduled Job Execution}) that runs @command{guix system reconfigure} from the latest version of the specified channels. Its value must be a @code{unattended-upgrade-configuration} record (see below). -@end defvr +@end defvar @deftp {Data Type} unattended-upgrade-configuration This data type represents the configuration of the unattended upgrade @@ -21429,7 +21429,7 @@ X Window required for the latter, to enable, set @code{wayland?} to @code{#t} in @code{gdm-configuration}. -@defvr {Scheme Variable} gdm-service-type +@defvar gdm-service-type This is the type for the @uref{https://wiki.gnome.org/Projects/GDM/, GNOME Desktop Manager} (GDM), a program that manages graphical display servers and handles graphical user logins. Its value must be a @code{gdm-configuration} @@ -21447,7 +21447,7 @@ X Window In addition, @file{~/.xsession} files are honored. When available, @file{~/.xsession} must be an executable that starts a window manager and/or other X clients. -@end defvr +@end defvar @deftp {Data Type} gdm-configuration @table @asis @@ -21497,7 +21497,7 @@ X Window @end table @end deftp -@defvr {Scheme Variable} slim-service-type +@defvar slim-service-type This is the type for the SLiM graphical login manager for X11. Like GDM, SLiM looks for session types described by @file{.desktop} files and @@ -21528,7 +21528,7 @@ X Window (delete gdm-service-type))))) @end lisp -@end defvr +@end defvar @deftp {Data Type} slim-configuration Data type representing the configuration of @code{slim-service-type}. @@ -21594,15 +21594,15 @@ X Window @end table @end deftp -@defvr {Scheme Variable} %default-theme -@defvrx {Scheme Variable} %default-theme-name +@defvar %default-theme +@defvarx %default-theme-name The default SLiM theme and its name. -@end defvr +@end defvar @cindex login manager @cindex X11 login -@defvr {Scheme Variable} sddm-service-type +@defvar sddm-service-type This is the type of the service to run the @uref{https://github.com/sddm/sddm,SDDM display manager}. Its value must be a @code{sddm-configuration} record (see below). @@ -21615,7 +21615,7 @@ X Window (auto-login-user "alice") (auto-login-session "xfce.desktop"))) @end lisp -@end defvr +@end defvar @deftp {Data Type} sddm-configuration This data type represents the configuration of the SDDM login manager. @@ -21715,7 +21715,7 @@ X Window @cindex lightdm, graphical login manager @cindex display manager, lightdm @anchor{lightdm} -@defvr {Scheme Variable} lightdm-service-type +@defvar lightdm-service-type This is the type of the service to run the @url{https://github.com/canonical/lightdm,LightDM display manager}. Its value must be a @code{lightdm-configuration} record, which is documented @@ -21747,7 +21747,7 @@ X Window (name "*") (user-session "ratpoison")))))) @end lisp -@end defvr +@end defvar @c The LightDM service documentation can be auto-generated via the @c 'generate-doc' procedure at the bottom of the (gnu services lightdm) @@ -22865,7 +22865,7 @@ Desktop Services services that users typically expect on a machine with a graphical environment and networking: -@defvr {Scheme Variable} %desktop-services +@defvar %desktop-services This is a list of services that builds upon @code{%base-services} and adds or adjusts services for a typical ``desktop'' setup. @@ -22879,7 +22879,7 @@ Desktop Services an NTP client (@pxref{Networking Services}), the Avahi daemon, and has the name service switch service configured to be able to use @code{nss-mdns} (@pxref{Name Service Switch, mDNS}). -@end defvr +@end defvar The @code{%desktop-services} variable can be used as the @code{services} field of an @code{operating-system} declaration (@pxref{operating-system @@ -22918,14 +22918,14 @@ Desktop Services TTY with the command ``XDG_SESSION_TYPE=wayland exec dbus-run-session gnome-session``. Currently only GNOME has support for Wayland. -@defvr {Scheme Variable} gnome-desktop-service-type +@defvar gnome-desktop-service-type This is the type of the service that adds the @uref{https://www.gnome.org, GNOME} desktop environment. Its value is a @code{gnome-desktop-configuration} object (see below). This service adds the @code{gnome} package to the system profile, and extends polkit with the actions from @code{gnome-settings-daemon}. -@end defvr +@end defvar @deftp {Data Type} gnome-desktop-configuration Configuration record for the GNOME desktop environment. @@ -22936,7 +22936,7 @@ Desktop Services @end table @end deftp -@defvr {Scheme Variable} xfce-desktop-service-type +@defvar xfce-desktop-service-type This is the type of a service to run the @uref{Xfce, https://xfce.org/} desktop environment. Its value is an @code{xfce-desktop-configuration} object (see below). @@ -22951,7 +22951,7 @@ Desktop Services add extra plugins (@code{xfce4-whiskermenu-plugin}, @code{xfce4-weather-plugin}, etc.) to the @code{packages} field of your @code{operating-system}. -@end defvr +@end defvar @deftp {Data Type} xfce-desktop-configuration Configuration record for the Xfce desktop environment. @@ -23151,21 +23151,21 @@ Desktop Services the capability to suspend the system if the user is logged in locally. @end deffn -@defvr {Scheme Variable} polkit-wheel-service +@defvar polkit-wheel-service Service that adds the @code{wheel} group as admins to the Polkit service. This makes it so that users in the @code{wheel} group are queried for their own passwords when performing administrative actions instead of @code{root}'s, similar to the behaviour used by @code{sudo}. -@end defvr +@end defvar -@defvr {Scheme Variable} upower-service-type +@defvar upower-service-type Service that runs @uref{https://upower.freedesktop.org/, @command{upowerd}}, a system-wide monitor for power consumption and battery levels, with the given configuration settings. It implements the @code{org.freedesktop.UPower} D-Bus interface, and is notably used by GNOME. -@end defvr +@end defvar @deftp {Data Type} upower-configuration Data type representation the configuration for UPower. @@ -23255,20 +23255,20 @@ Desktop Services @end deffn @cindex scanner access -@defvr {Scheme Variable} sane-service-type +@defvar sane-service-type This service provides access to scanners @i{via} @uref{http://www.sane-project.org, SANE} by installing the necessary udev rules. It is included in @code{%desktop-services} (@pxref{Desktop Services}) and relies by default on @code{sane-backends-minimal} package (see below) for hardware support. -@end defvr +@end defvar -@defvr {Scheme Variable} sane-backends-minimal +@defvar sane-backends-minimal The default package which the @code{sane-service-type} installs. It supports many recent scanners. -@end defvr +@end defvar -@defvr {Scheme Variable} sane-backends +@defvar sane-backends This package includes support for all scanners that @code{sane-backends-minimal} supports, plus older Hewlett-Packard scanners supported by @code{hplip} package. In order to use this on @@ -23294,7 +23294,7 @@ Desktop Services @dots{} (services %my-desktop-services)) @end lisp -@end defvr +@end defvar @deffn {Scheme Procedure} geoclue-application name [#:allowed? #t] [#:system? #f] [#:users '()] Return a configuration allowing an application to access GeoClue @@ -23307,14 +23307,14 @@ Desktop Services means that all users are allowed. @end deffn -@defvr {Scheme Variable} %standard-geoclue-applications +@defvar %standard-geoclue-applications The standard list of well-known GeoClue application configurations, granting authority to the GNOME date-and-time utility to ask for the current location in order to set the time zone, and allowing the IceCat and Epiphany web browsers to request location information. IceCat and Epiphany both query the user before allowing a web page to know the user's location. -@end defvr +@end defvar @deffn {Scheme Procedure} geoclue-service [#:colord @var{colord}] @ [#:whitelist '()] @ @@ -23782,7 +23782,7 @@ Desktop Services @end table @end deftp -@defvr {Scheme Variable} gnome-keyring-service-type +@defvar gnome-keyring-service-type This is the type of the service that adds the @uref{https://wiki.gnome.org/Projects/GnomeKeyring, GNOME Keyring}. Its value is a @code{gnome-keyring-configuration} object (see below). @@ -23790,7 +23790,7 @@ Desktop Services This service adds the @code{gnome-keyring} package to the system profile and extends PAM with entries using @code{pam_gnome_keyring.so}, unlocking a user's login keyring when they log in or setting its password with passwd. -@end defvr +@end defvar @deftp {Data Type} gnome-keyring-configuration Configuration record for the GNOME Keyring service. @@ -23816,7 +23816,7 @@ Desktop Services @end table @end deftp -@defvr {Scheme Variable} seatd-service-type +@defvar seatd-service-type @uref{https://sr.ht/~kennylevinsen/seatd/, seatd} is a minimal seat management daemon. @@ -23857,7 +23857,7 @@ Desktop Services but also system users to this group. For instance, some greetd greeters require graphics and therefore also need to negotiate with seatd. -@end defvr +@end defvar @deftp {Data Type} seatd-configuration Configuration record for the seatd daemon service. @@ -24289,11 +24289,11 @@ Database Services @subsubheading MariaDB/MySQL -@defvr {Scheme Variable} mysql-service-type +@defvar mysql-service-type This is the service type for a MySQL or MariaDB database server. Its value is a @code{mysql-configuration} object that specifies which package to use, as well as various settings for the @command{mysqld} daemon. -@end defvr +@end defvar @deftp {Data Type} mysql-configuration Data type representing the configuration of @var{mysql-service-type}. @@ -24333,11 +24333,11 @@ Database Services @subsubheading Memcached -@defvr {Scheme Variable} memcached-service-type +@defvar memcached-service-type This is the service type for the @uref{https://memcached.org/, Memcached} service, which provides a distributed in memory cache. The value for the service type is a @code{memcached-configuration} object. -@end defvr +@end defvar @lisp (service memcached-service-type) @@ -24367,10 +24367,10 @@ Database Services @subsubheading Redis -@defvr {Scheme Variable} redis-service-type +@defvar redis-service-type This is the service type for the @uref{https://redis.io/, Redis} key/value store, whose value is a @code{redis-configuration} object. -@end defvr +@end defvar @deftp {Data Type} redis-configuration Data type representing the configuration of redis. @@ -26696,7 +26696,7 @@ Messaging Services @url{https://bitlbee.org,BitlBee} is a gateway that provides an IRC interface to a variety of messaging protocols such as XMPP. -@defvr {Scheme Variable} bitlbee-service-type +@defvar bitlbee-service-type This is the service type for the @url{https://bitlbee.org,BitlBee} IRC gateway daemon. Its value is a @code{bitlbee-configuration} (see below). @@ -26707,7 +26707,7 @@ Messaging Services @lisp (service bitlbee-service-type) @end lisp -@end defvr +@end defvar @deftp {Data Type} bitlbee-configuration This is the configuration for BitlBee, with the following fields: @@ -26740,11 +26740,11 @@ Messaging Services meaning that one or more clients can attach to and detach from the central core. -@defvr {Scheme Variable} quassel-service-type +@defvar quassel-service-type This is the service type for the @url{https://quassel-irc.org/,Quassel} IRC backend daemon. Its value is a @code{quassel-configuration} (see below). -@end defvr +@end defvar @deftp {Data Type} quassel-configuration This is the configuration for Quassel, with the following fields: @@ -28447,9 +28447,9 @@ Kerberos Services This service is known to work with the MIT client library, @code{mit-krb5}. Other implementations have not been tested. -@defvr {Scheme Variable} krb5-service-type +@defvar krb5-service-type A service type for Kerberos 5 clients. -@end defvr +@end defvar @noindent Here is an example of its use: @@ -28536,9 +28536,9 @@ Kerberos Services You will need this service if you want PAM enabled applications to authenticate users using Kerberos. -@defvr {Scheme Variable} pam-krb5-service-type +@defvar pam-krb5-service-type A service type for the Kerberos 5 PAM module. -@end defvr +@end defvar @deftp {Data Type} pam-krb5-configuration Data type representing the configuration of the Kerberos 5 PAM module. @@ -29298,9 +29298,9 @@ Web Services @end table @end deffn -@defvr {Scheme Variable} %default-httpd-modules +@defvar %default-httpd-modules A default list of @code{httpd-module} objects. -@end defvr +@end defvar @deffn {Data Type} httpd-config-file This data type represents a configuration file for the httpd service. @@ -29711,9 +29711,9 @@ Web Services accessed URLs such that multiple requests for the same resource only creates one request to the back-end. -@defvr {Scheme Variable} varnish-service-type +@defvar varnish-service-type Service type for the Varnish daemon. -@end defvr +@end defvar @deftp {Data Type} varnish-configuration Data type representing the @code{varnish} service configuration. @@ -29787,9 +29787,9 @@ Web Services Patchwork is a patch tracking system. It can collect patches sent to a mailing list, and display them in a web interface. -@defvr {Scheme Variable} patchwork-service-type +@defvar patchwork-service-type Service type for Patchwork. -@end defvr +@end defvar The following example is an example of a minimal service for Patchwork, for the @code{patchwork.example.com} domain. @@ -29965,9 +29965,9 @@ Web Services @uref{https://bugs.gnu.org, the GNU instance}. Mumi is a Web server, but it also fetches and indexes mail retrieved from Debbugs. -@defvr {Scheme Variable} mumi-service-type +@defvar mumi-service-type This is the service type for Mumi. -@end defvr +@end defvar @deftp {Data Type} mumi-configuration Data type representing the Mumi service configuration. This type has the @@ -30010,9 +30010,9 @@ Web Services the web server. The front-end indicates which backend program to run, passing that information to the @code{fcgiwrap} process. -@defvr {Scheme Variable} fcgiwrap-service-type +@defvar fcgiwrap-service-type A service type for the @code{fcgiwrap} FastCGI proxy. -@end defvr +@end defvar @deftp {Data Type} fcgiwrap-configuration Data type representing the configuration of the @code{fcgiwrap} service. @@ -30067,9 +30067,9 @@ Web Services @end itemize ...@: and much more. -@defvr {Scheme Variable} php-fpm-service-type +@defvar php-fpm-service-type A Service type for @code{php-fpm}. -@end defvr +@end defvar @deftp {Data Type} php-fpm-configuration Data Type for php-fpm service configuration. @@ -30245,9 +30245,9 @@ Web Services initially designed for users of high-performance computing (HPC) clusters. -@defvr {Scheme Variable} hpcguix-web-service-type +@defvar hpcguix-web-service-type The service type for @code{hpcguix-web}. -@end defvr +@end defvar @deftp {Data Type} hpcguix-web-configuration Data type for the hpcguix-web service configuration. @@ -30483,7 +30483,7 @@ Certificate Services can be found there: @url{https://acme-v01.api.letsencrypt.org/directory}. -@defvr {Scheme Variable} certbot-service-type +@defvar certbot-service-type A service type for the @code{certbot} Let's Encrypt client. Its value must be a @code{certbot-configuration} record as in this example: @@ -30507,7 +30507,7 @@ Certificate Services @end lisp See below for details about @code{certbot-configuration}. -@end defvr +@end defvar @deftp {Data Type} certbot-configuration Data type representing the configuration of the @code{certbot} service. @@ -31540,12 +31540,12 @@ VPN Services @subsubheading Bitmask -@defvr {Scheme Variable} bitmask-service-type +@defvar bitmask-service-type A service type for the @uref{https://bitmask.net, Bitmask} VPN client. It makes the client available in the system and loads its polkit policy. Please note that the client expects an active polkit-agent, which is either run by your desktop-environment or should be run manually. -@end defvr +@end defvar @subsubheading OpenVPN @@ -31754,7 +31754,7 @@ VPN Services Currently, the strongSwan service only provides legacy-style configuration with @file{ipsec.conf} and @file{ipsec.secrets} files. -@defvr {Scheme Variable} strongswan-service-type +@defvar strongswan-service-type A service type for configuring strongSwan for IPsec @acronym{VPN, Virtual Private Networking}. Its value must be a @code{strongswan-configuration} record as in this example: @@ -31766,7 +31766,7 @@ VPN Services (ipsec-secrets "/etc/ipsec.secrets"))) @end lisp -@end defvr +@end defvar @deftp {Data Type} strongswan-configuration Data type representing the configuration of the StrongSwan service. @@ -31788,7 +31788,7 @@ VPN Services @subsubheading Wireguard -@defvr {Scheme Variable} wireguard-service-type +@defvar wireguard-service-type A service type for a Wireguard tunnel interface. Its value must be a @code{wireguard-configuration} record as in this example: @@ -31804,7 +31804,7 @@ VPN Services (allowed-ips '("10.0.0.2/32"))))))) @end lisp -@end defvr +@end defvar @deftp {Data Type} wireguard-configuration Data type representing the configuration of the Wireguard service. @@ -31904,9 +31904,9 @@ Network File System kernel configuration file systems, and installs configuration files in the locations that NFS expects. -@defvr {Scheme Variable} nfs-service-type +@defvar nfs-service-type A service type for a complete NFS server. -@end defvr +@end defvar @deftp {Data Type} nfs-configuration This data type represents the configuration of the NFS service and all @@ -31979,9 +31979,9 @@ Network File System Many NFS related services use this facility. Hence it is automatically started when a dependent service starts. -@defvr {Scheme Variable} rpcbind-service-type +@defvar rpcbind-service-type A service type for the RPC portmapper daemon. -@end defvr +@end defvar @deftp {Data Type} rpcbind-configuration @@ -32006,9 +32006,9 @@ Network File System The pipefs file system is used to transfer NFS related data between the kernel and user space programs. -@defvr {Scheme Variable} pipefs-service-type +@defvar pipefs-service-type A service type for the pipefs pseudo file system. -@end defvr +@end defvar @deftp {Data Type} pipefs-configuration Data type representing the configuration of the pipefs pseudo file system service. @@ -32031,9 +32031,9 @@ Network File System context. Typically this is done using the Kerberos command @command{kinit} or automatically at login time using PAM services (@pxref{Kerberos Services}). -@defvr {Scheme Variable} gss-service-type +@defvar gss-service-type A service type for the Global Security System (GSS) daemon. -@end defvr +@end defvar @deftp {Data Type} gss-configuration Data type representing the configuration of the GSS daemon service. @@ -32056,9 +32056,9 @@ Network File System The idmap daemon service provides mapping between user IDs and user names. Typically it is required in order to access file systems mounted via NFSv4. -@defvr {Scheme Variable} idmap-service-type +@defvar idmap-service-type A service type for the Identity Mapper (IDMAP) daemon. -@end defvr +@end defvar @deftp {Data Type} idmap-configuration Data type representing the configuration of the IDMAP daemon service. @@ -32174,11 +32174,11 @@ Samba Services replacement for SMB hosts that have had SMBv1 disabled for security reasons. -@defvr {Scheme Variable} wsdd-service-type +@defvar wsdd-service-type Service type for the WSD host daemon. The value for this service type is a @code{wsdd-configuration} record. The details for the @code{wsdd-configuration} record type are given below. -@end defvr +@end defvar @deftp {Data Type} wsdd-configuration This data type represents the configuration for the wsdd service. @@ -33061,12 +33061,12 @@ Power Management Services The @code{(gnu services pm)} module provides an interface to thermald, a CPU frequency scaling service which helps prevent overheating. -@defvr {Scheme Variable} thermald-service-type +@defvar thermald-service-type This is the service type for @uref{https://01.org/linux-thermal-daemon/, thermald}, the Linux Thermal Daemon, which is responsible for controlling the thermal state of processors and preventing overheating. -@end defvr +@end defvar @deftp {Data Type} thermald-configuration Data type representing the configuration of @code{thermald-service-type}. @@ -33108,9 +33108,9 @@ Audio Services (port "6666"))) @end lisp -@defvr {Scheme Variable} mpd-service-type +@defvar mpd-service-type The service type for @command{mpd} -@end defvr +@end defvar @deftp {Data Type} mpd-configuration Data type representing the configuration of @command{mpd}. @@ -33931,7 +33931,7 @@ Virtualization Services This feature only allows you to emulate GNU/Linux on a different architecture, but see below for GNU/Hurd support. -@defvr {Scheme Variable} qemu-binfmt-service-type +@defvar qemu-binfmt-service-type This is the type of the QEMU/binfmt service for transparent emulation. Its value must be a @code{qemu-binfmt-configuration} object, which specifies the QEMU package to use as well as the architecture we want to @@ -33947,7 +33947,7 @@ Virtualization Services platforms. Running @code{herd stop qemu-binfmt} turns it off, and running @code{herd start qemu-binfmt} turns it back on (@pxref{Invoking herd, the @command{herd} command,, shepherd, The GNU Shepherd Manual}). -@end defvr +@end defvar @deftp {Data Type} qemu-binfmt-configuration This is the configuration for the @code{qemu-binfmt} service. @@ -34028,9 +34028,9 @@ Virtualization Services See @url{https://wiki.qemu.org/Features/GuestAgent,QEMU guest agent documentation} for more options and commands. -@defvr {Scheme Variable} qemu-guest-agent-service-type +@defvar qemu-guest-agent-service-type Service type for the QEMU guest agent service. -@end defvr +@end defvar @deftp {Data Type} qemu-guest-agent-configuration Configuration for the @code{qemu-guest-agent} service. @@ -34088,7 +34088,7 @@ Virtualization Services substitute keys, and so on---see the explanation of @code{secret-root} below. -@defvr {Scheme Variable} hurd-vm-service-type +@defvar hurd-vm-service-type This is the type of the Hurd in a Virtual Machine service. Its value must be a @code{hurd-vm-configuration} object, which specifies the operating system (@pxref{operating-system Reference}) and the disk size @@ -34106,7 +34106,7 @@ Virtualization Services would create a disk image big enough to build GNU@tie{}Hello, with some extra memory. -@end defvr +@end defvar @deftp {Data Type} hurd-vm-configuration The data type representing the configuration for @@ -34309,7 +34309,7 @@ Virtualization Services @url{https://guix.gnu.org/blog/2020/running-a-ganeti-cluster-on-guix/,blog post} describing how to configure and initialize a small cluster. -@defvr {Scheme Variable} ganeti-service-type +@defvar ganeti-service-type This is a service type that includes all the various services that Ganeti nodes should run. @@ -34317,7 +34317,7 @@ Virtualization Services to use for CLI operations, as well as configuration for the various daemons. Allowed file storage paths and available guest operating systems are also configured through this data type. -@end defvr +@end defvar @deftp {Data Type} ganeti-configuration The @code{ganeti} service takes the following configuration options: @@ -34437,13 +34437,13 @@ Virtualization Services @end table @end deftp -@defvr {Scheme Variable} %default-debootstrap-hooks +@defvar %default-debootstrap-hooks This variable contains hooks to configure networking and the GRUB bootloader. -@end defvr +@end defvar -@defvr {Scheme Variable} %default-debootstrap-extra-pkgs +@defvar %default-debootstrap-extra-pkgs This variable contains a list of packages suitable for a fully-virtualized guest. -@end defvr +@end defvar @deftp {Data Type} debootstrap-configuration @@ -34514,7 +34514,7 @@ Virtualization Services takes a list of variants produced by @code{guix-variant}. @end deffn -@defvr {Scheme Variable} %default-debootstrap-variants +@defvar %default-debootstrap-variants This is a convenience variable to make the debootstrap provider work ``out of the box'' without users having to declare variants manually. It contains a single debootstrap variant with the default configuration: @@ -34524,9 +34524,9 @@ Virtualization Services "default" (debootstrap-configuration))) @end lisp -@end defvr +@end defvar -@defvr {Scheme Variable} %default-guix-variants +@defvar %default-guix-variants This is a convenience variable to make the Guix OS provider work without additional configuration. It creates a virtual machine that has an SSH server, a serial console, and authorizes the Ganeti hosts SSH keys. @@ -34537,7 +34537,7 @@ Virtualization Services (file-append ganeti-instance-guix "/share/doc/ganeti-instance-guix/examples/dynamic.scm"))) @end lisp -@end defvr +@end defvar Users can implement support for OS providers unbeknownst to Guix by extending the @code{ganeti-os} and @code{ganeti-os-variant} records appropriately. @@ -34563,11 +34563,11 @@ Virtualization Services The rest of this section documents the various services that are included by @code{ganeti-service-type}. -@defvr {Scheme Variable} ganeti-noded-service-type +@defvar ganeti-noded-service-type @command{ganeti-noded} is the daemon responsible for node-specific functions within the Ganeti system. The value of this service must be a @code{ganeti-noded-configuration} object. -@end defvr +@end defvar @deftp {Data Type} ganeti-noded-configuration This is the configuration for the @code{ganeti-noded} service. @@ -34610,14 +34610,14 @@ Virtualization Services @end table @end deftp -@defvr {Scheme Variable} ganeti-confd-service-type +@defvar ganeti-confd-service-type @command{ganeti-confd} answers queries related to the configuration of a Ganeti cluster. The purpose of this daemon is to have a highly available and fast way to query cluster configuration values. It is automatically active on all @dfn{master candidates}. The value of this service must be a @code{ganeti-confd-configuration} object. -@end defvr +@end defvar @deftp {Data Type} ganeti-confd-configuration This is the configuration for the @code{ganeti-confd} service. @@ -34638,7 +34638,7 @@ Virtualization Services @end table @end deftp -@defvr {Scheme Variable} ganeti-wconfd-service-type +@defvar ganeti-wconfd-service-type @command{ganeti-wconfd} is the daemon that has authoritative knowledge about the cluster configuration and is the only entity that can accept changes to it. All jobs that need to modify the configuration will do so @@ -34647,7 +34647,7 @@ Virtualization Services The value of this service must be a @code{ganeti-wconfd-configuration} object. -@end defvr +@end defvar @deftp {Data Type} ganeti-wconfd-configuration This is the configuration for the @code{ganeti-wconfd} service. @@ -34667,14 +34667,14 @@ Virtualization Services @end table @end deftp -@defvr {Scheme Variable} ganeti-luxid-service-type +@defvar ganeti-luxid-service-type @command{ganeti-luxid} is a daemon used to answer queries related to the configuration and the current live state of a Ganeti cluster. Additionally, it is the authoritative daemon for the Ganeti job queue. Jobs can be submitted via this daemon and it schedules and starts them. It takes a @code{ganeti-luxid-configuration} object. -@end defvr +@end defvar @deftp {Data Type} ganeti-luxid-configuration This is the configuration for the @code{ganeti-luxid} service. @@ -34694,7 +34694,7 @@ Virtualization Services @end table @end deftp -@defvr {Scheme Variable} ganeti-rapi-service-type +@defvar ganeti-rapi-service-type @command{ganeti-rapi} provides a remote API for Ganeti clusters. It runs on the master node and can be used to perform cluster actions programmatically via a JSON-based RPC protocol. @@ -34706,7 +34706,7 @@ Virtualization Services API documentation} for more information. The value of this service must be a @code{ganeti-rapi-configuration} object. -@end defvr +@end defvar @deftp {Data Type} ganeti-rapi-configuration This is the configuration for the @code{ganeti-rapi} service. @@ -34750,7 +34750,7 @@ Virtualization Services @end table @end deftp -@defvr {Scheme Variable} ganeti-kvmd-service-type +@defvar ganeti-kvmd-service-type @command{ganeti-kvmd} is responsible for determining whether a given KVM instance was shut down by an administrator or a user. Normally Ganeti will restart an instance that was not stopped through Ganeti itself. If the @@ -34760,7 +34760,7 @@ Virtualization Services it shuts down gracefully by itself. It takes a @code{ganeti-kvmd-configuration} object. -@end defvr +@end defvar @deftp {Data Type} ganeti-kvmd-configuration @@ -34774,13 +34774,13 @@ Virtualization Services @end table @end deftp -@defvr {Scheme Variable} ganeti-mond-service-type +@defvar ganeti-mond-service-type @command{ganeti-mond} is an optional daemon that provides Ganeti monitoring functionality. It is responsible for running data collectors and publish the collected information through a HTTP interface. It takes a @code{ganeti-mond-configuration} object. -@end defvr +@end defvar @deftp {Data Type} ganeti-mond-configuration @@ -34801,12 +34801,12 @@ Virtualization Services @end table @end deftp -@defvr {Scheme Variable} ganeti-metad-service-type +@defvar ganeti-metad-service-type @command{ganeti-metad} is an optional daemon that can be used to provide information about the cluster to instances or OS install scripts. It takes a @code{ganeti-metad-configuration} object. -@end defvr +@end defvar @deftp {Data Type} ganeti-metad-configuration @@ -34827,7 +34827,7 @@ Virtualization Services @end table @end deftp -@defvr {Scheme Variable} ganeti-watcher-service-type +@defvar ganeti-watcher-service-type @command{ganeti-watcher} is a script designed to run periodically and ensure the health of a cluster. It will automatically restart instances that have stopped without Ganeti's consent, and repairs DRBD links in case a node has @@ -34839,7 +34839,7 @@ Virtualization Services It can be paused on all nodes with @command{gnt-cluster watcher pause}. The service takes a @code{ganeti-watcher-configuration} object. -@end defvr +@end defvar @deftp {Data Type} ganeti-watcher-configuration @@ -34869,7 +34869,7 @@ Virtualization Services @end table @end deftp -@defvr {Scheme Variable} ganeti-cleaner-service-type +@defvar ganeti-cleaner-service-type @command{ganeti-cleaner} is a script designed to run periodically and remove old files from the cluster. This service type controls two @dfn{cron jobs}: one intended for the master node that permanently purges old cluster jobs, @@ -34879,7 +34879,7 @@ Virtualization Services necessary. It takes a @code{ganeti-cleaner-configuration} object. -@end defvr +@end defvar @deftp {Data Type} ganeti-cleaner-configuration @@ -36911,7 +36911,7 @@ Linux Services make sense of them, see the kernel administrator's guide at @url{https://www.kernel.org/doc/html/latest/admin-guide/ras.html}. -@defvr {Scheme Variable} rasdaemon-service-type +@defvar rasdaemon-service-type Service type for the @command{rasdaemon} service. It accepts a @code{rasdaemon-configuration} object. Instantiating like @@ -36921,7 +36921,7 @@ Linux Services will load with a default configuration, which monitors all events and logs to syslogd. -@end defvr +@end defvar @deftp {Data Type} rasdaemon-configuration The data type representing the configuration of @command{rasdaemon}. @@ -36984,11 +36984,11 @@ Linux Services @node Hurd Services @subsection Hurd Services -@defvr {Scheme Variable} hurd-console-service-type +@defvar hurd-console-service-type This service starts the fancy @code{VGA} console client on the Hurd. The service's value is a @code{hurd-console-configuration} record. -@end defvr +@end defvar @deftp {Data Type} hurd-console-configuration This is the data type representing the configuration for the @@ -37000,11 +37000,11 @@ Hurd Services @end table @end deftp -@defvr {Scheme Variable} hurd-getty-service-type +@defvar hurd-getty-service-type This service starts a tty using the Hurd @code{getty} program. The service's value is a @code{hurd-getty-configuration} record. -@end defvr +@end defvar @deftp {Data Type} hurd-getty-configuration This is the data type representing the configuration for the @@ -37032,14 +37032,14 @@ Miscellaneous Services The @code{(gnu services authentication)} module provides a DBus service to read and identify fingerprints via a fingerprint sensor. -@defvr {Scheme Variable} fprintd-service-type +@defvar fprintd-service-type The service type for @command{fprintd}, which provides the fingerprint reading capability. @lisp (service fprintd-service-type) @end lisp -@end defvr +@end defvar @cindex sysctl @subsubheading System Control Service @@ -37047,7 +37047,7 @@ Miscellaneous Services The @code{(gnu services sysctl)} provides a service to configure kernel parameters at boot. -@defvr {Scheme Variable} sysctl-service-type +@defvar sysctl-service-type The service type for @command{sysctl}, which modifies kernel parameters under @file{/proc/sys/}. To enable IPv4 forwarding, it can be instantiated as: @@ -37072,7 +37072,7 @@ Miscellaneous Services %default-sysctl-settings))))) @end lisp -@end defvr +@end defvar @deftp {Data Type} sysctl-configuration The data type representing the configuration of @command{sysctl}. @@ -37086,10 +37086,10 @@ Miscellaneous Services @end table @end deftp -@defvr {Scheme Variable} %default-sysctl-settings +@defvar %default-sysctl-settings An association list specifying the default @command{sysctl} parameters on Guix System. -@end defvr +@end defvar @cindex pcscd @subsubheading PC/SC Smart Card Daemon Service @@ -37100,7 +37100,7 @@ Miscellaneous Services manager that coordinates communications with smart card readers, smart cards and cryptographic tokens that are connected to the system. -@defvr {Scheme Variable} pcscd-service-type +@defvar pcscd-service-type Service type for the @command{pcscd} service. Its value must be a @code{pcscd-configuration} object. To run pcscd in the default configuration, instantiate it as: @@ -37108,7 +37108,7 @@ Miscellaneous Services @lisp (service pcscd-service-type) @end lisp -@end defvr +@end defvar @deftp {Data Type} pcscd-configuration The data type representing the configuration of @command{pcscd}. @@ -37188,10 +37188,10 @@ Miscellaneous Services @cindex dictionary The @code{(gnu services dict)} module provides the following service: -@defvr {Scheme Variable} dicod-service-type +@defvar dicod-service-type This is the type of the service that runs the @command{dicod} daemon, an implementation of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}). -@end defvr +@end defvar @deffn {Scheme Procedure} dicod-service [#:config (dicod-configuration)] Return a service that runs the @command{dicod} daemon, an implementation @@ -37264,10 +37264,10 @@ Miscellaneous Services @end table @end deftp -@defvr {Scheme Variable} %dicod-database:gcide +@defvar %dicod-database:gcide A @code{} object serving the GNU Collaborative International Dictionary of English using the @code{gcide} package. -@end defvr +@end defvar The following is an example @code{dicod-service} configuration. @@ -37292,13 +37292,13 @@ Miscellaneous Services The @code{(gnu services docker)} module provides the following services. -@defvr {Scheme Variable} docker-service-type +@defvar docker-service-type This is the type of the service that runs @url{https://www.docker.com,Docker}, a daemon that can execute application bundles (sometimes referred to as ``containers'') in isolated environments. -@end defvr +@end defvar @deftp {Data Type} docker-configuration This is the data type representing the configuration of Docker and Containerd. @@ -37341,7 +37341,7 @@ Miscellaneous Services @end deftp @cindex Singularity, container service -@defvr {Scheme Variable} singularity-service-type +@defvar singularity-service-type This is the type of the service that allows you to run @url{https://www.sylabs.io/singularity/, Singularity}, a Docker-style tool to create and run application bundles (aka. ``containers''). The value for this @@ -37350,14 +37350,14 @@ Miscellaneous Services The service does not install a daemon; instead, it installs helper programs as setuid-root (@pxref{Setuid Programs}) such that unprivileged users can invoke @command{singularity run} and similar commands. -@end defvr +@end defvar @cindex Audit @subsubheading Auditd Service The @code{(gnu services auditd)} module provides the following service. -@defvr {Scheme Variable} auditd-service-type +@defvar auditd-service-type This is the type of the service that runs @url{https://people.redhat.com/sgrubb/audit/,auditd}, @@ -37390,7 +37390,7 @@ Miscellaneous Services The audit daemon by default logs into the file @file{/var/log/audit.log}. -@end defvr +@end defvar @deftp {Data Type} auditd-configuration This is the data type representing the configuration of auditd. @@ -37413,7 +37413,7 @@ Miscellaneous Services The @code{(gnu services science)} module provides the following service. -@defvr {Scheme Variable} rshiny-service-type +@defvar rshiny-service-type This is a type of service which is used to run a webapp created with @code{r-shiny}. This service sets the @env{R_LIBS_USER} environment @@ -37453,14 +37453,14 @@ Miscellaneous Services @end table @end deftp -@end defvr +@end defvar @cindex Nix @subsubheading Nix service The @code{(gnu services nix)} module provides the following service. -@defvr {Scheme Variable} nix-service-type +@defvar nix-service-type This is the type of the service that runs build daemon of the @url{https://nixos.org/nix/, Nix} package manager. Here is an example showing @@ -37494,7 +37494,7 @@ Miscellaneous Services $ source /run/current-system/profile/etc/profile.d/nix.sh @end example -@end defvr +@end defvar @deftp {Data Type} nix-configuration This data type represents the configuration of the Nix daemon. @@ -37557,7 +37557,7 @@ Miscellaneous Services type itself via the usual service extension mechanism. @end table -@defvr {Scheme Variable} fail2ban-service-type +@defvar fail2ban-service-type This is the type of the service that runs @code{fail2ban} daemon. Below is an example of a basic, explicit configuration: @@ -37577,7 +37577,7 @@ Miscellaneous Services (service openssh-service-type)) %base-services) @end lisp -@end defvr +@end defvar @deffn {Scheme Procedure} fail2ban-jail-service @var{svc-type} @var{jail} Extend @var{svc-type}, a @code{} object with @var{jail}, a @@ -37854,13 +37854,13 @@ Setuid Programs A default set of setuid programs is defined by the @code{%setuid-programs} variable of the @code{(gnu system)} module. -@defvr {Scheme Variable} %setuid-programs +@defvar %setuid-programs A list of @code{} denoting common programs that are setuid-root. The list includes commands such as @command{passwd}, @command{ping}, @command{su}, and @command{sudo}. -@end defvr +@end defvar Under the hood, the actual setuid programs are created in the @file{/run/setuid-programs} directory at system activation time. The @@ -37997,15 +37997,15 @@ Name Service Switch For convenience, the following variables provide typical NSS configurations. -@defvr {Scheme Variable} %default-nss +@defvar %default-nss This is the default name service switch configuration, a @code{name-service-switch} object. -@end defvr +@end defvar -@defvr {Scheme Variable} %mdns-host-lookup-nss +@defvar %mdns-host-lookup-nss This is the name service switch configuration with support for host name lookup over multicast DNS (mDNS) for host names ending in @code{.local}. -@end defvr +@end defvar The reference for name service switch configuration is given below. It is a direct mapping of the configuration file format of the C library , so @@ -38094,9 +38094,9 @@ Initial RAM Disk (initrd-modules (cons "megaraid_sas" %base-initrd-modules))) @end lisp -@defvr {Scheme Variable} %base-initrd-modules +@defvar %base-initrd-modules This is the list of kernel modules included in the initrd by default. -@end defvr +@end defvar Furthermore, if you need lower-level customization, the @code{initrd} field of an @code{operating-system} declaration allows @@ -40085,17 +40085,17 @@ Service Reference Lastly, the @code{(gnu services)} module also defines several essential service types, some of which are listed below. -@defvr {Scheme Variable} system-service-type +@defvar system-service-type This is the root of the service graph. It produces the system directory as returned by the @command{guix system build} command. -@end defvr +@end defvar -@defvr {Scheme Variable} boot-service-type +@defvar boot-service-type The type of the ``boot service'', which produces the @dfn{boot script}. The boot script is what the initial RAM disk runs when booting. -@end defvr +@end defvar -@defvr {Scheme Variable} etc-service-type +@defvar etc-service-type The type of the @file{/etc} service. This service is used to create files under @file{/etc} and can be extended by passing it name/file tuples such as: @@ -40106,23 +40106,23 @@ Service Reference In this example, the effect would be to add an @file{/etc/issue} file pointing to the given file. -@end defvr +@end defvar -@defvr {Scheme Variable} setuid-program-service-type +@defvar setuid-program-service-type Type for the ``setuid-program service''. This service collects lists of executable file names, passed as gexps, and adds them to the set of setuid and setgid programs on the system (@pxref{Setuid Programs}). -@end defvr +@end defvar -@defvr {Scheme Variable} profile-service-type +@defvar profile-service-type Type of the service that populates the @dfn{system profile}---i.e., the programs under @file{/run/current-system/profile}. Other services can extend it by passing it lists of packages to add to the system profile. -@end defvr +@end defvar @cindex provenance tracking, of the operating system @anchor{provenance-service-type} -@defvr {Scheme Variable} provenance-service-type +@defvar provenance-service-type This is the type of the service that records @dfn{provenance meta-data} in the system itself. It creates several files under @file{/run/current-system}: @@ -40168,9 +40168,9 @@ Service Reference This service is automatically added to your operating system configuration when you use @command{guix system reconfigure}, @command{guix system init}, or @command{guix deploy}. -@end defvr +@end defvar -@defvr {Scheme Variable} linux-loadable-module-service-type +@defvar linux-loadable-module-service-type Type of the service that collects lists of packages containing kernel-loadable modules, and adds them to the set of kernel-loadable modules. @@ -40187,7 +40187,7 @@ Service Reference This does not actually load modules at bootup, only adds it to the kernel profile so that it @emph{can} be loaded by other means. -@end defvr +@end defvar @node Shepherd Services @subsection Shepherd Services @@ -40395,14 +40395,14 @@ Shepherd Services This can come in as a handy debugging tool! @end deffn -@defvr {Scheme Variable} shepherd-root-service-type +@defvar shepherd-root-service-type The service type for the Shepherd ``root service''---i.e., PID@tie{}1. This is the service type that extensions target when they want to create shepherd services (@pxref{Service Types and Services}, for an example). Each extension must pass a list of @code{}. Its value must be a @code{shepherd-configuration}, as described below. -@end defvr +@end defvar @deftp {Data Type} shepherd-configuration This data type represents the Shepherd's configuration. @@ -40437,9 +40437,9 @@ Shepherd Services (shepherd my-shepherd)))))) @end lisp -@defvr {Scheme Variable} %shepherd-root-service +@defvar %shepherd-root-service This service represents PID@tie{}1. -@end defvr +@end defvar @node Complex Configurations @subsection Complex Configurations @@ -41057,7 +41057,7 @@ Essential Home Services @cindex environment variables -@defvr {Scheme Variable} home-environment-variables-service-type +@defvar home-environment-variables-service-type The service of this type will be instantiated by every home environment automatically by default, there is no need to define it, but someone may want to extend it with a list of pairs to set some environment @@ -41118,9 +41118,9 @@ Essential Home Services export the variable without any value; and for @code{#f}, it will omit variable. -@end defvr +@end defvar -@defvr {Scheme Variable} home-profile-service-type +@defvar home-profile-service-type The service of this type will be instantiated by every home environment automatically, there is no need to define it, but you may want to extend it with a list of packages if you want to install additional packages @@ -41141,19 +41141,19 @@ Essential Home Services guix package}). Alternatively, @code{specification->package} can be used to get the package record from string without importing related module. -@end defvr +@end defvar There are few more essential services, but users are not expected to extend them. -@defvr {Scheme Variable} home-service-type +@defvar home-service-type The root of home services DAG, it generates a folder, which later will be symlinked to @file{~/.guix-home}, it contains configurations, profile with binaries and libraries, and some necessary scripts to glue things together. -@end defvr +@end defvar -@defvr {Scheme Variable} home-run-on-first-login-service-type +@defvar home-run-on-first-login-service-type The service of this type generates a Guile script, which is expected to be executed by the login shell. It is only executed if the special flag file inside @env{XDG_RUNTIME_DIR} hasn't been created, this prevents @@ -41164,9 +41164,9 @@ Essential Home Services @code{home-shepherd-service-type} with a Shepherd service (@pxref{Shepherd Services}), or extend the shell's startup file with the required command using the appropriate service type. -@end defvr +@end defvar -@defvr {Scheme Variable} home-files-service-type +@defvar home-files-service-type The service of this type allows to specify a list of files, which will go to @file{~/.guix-home/files}, usually this directory contains configuration files (to be more precise it contains symlinks to files in @@ -41190,9 +41190,9 @@ Essential Home Services part of essential home services (enabled by default), but it's possible to use alternative services to implement more advanced use cases like read-only home. Feel free to experiment and share your results. -@end defvr +@end defvar -@defvr {Scheme Variable} home-xdg-configuration-files-service-type +@defvar home-xdg-configuration-files-service-type The service is very similiar to @code{home-files-service-type} (and actually extends it), but used for defining files, which will go to @file{~/.guix-home/files/.config}, which will be symlinked to @@ -41206,15 +41206,15 @@ Essential Home Services ;; -> $XDG_CONFIG_DIR/sway/config (by symlink-manager) ("tmux/tmux.conf" ,(local-file "./tmux.conf"))) @end lisp -@end defvr +@end defvar -@defvr {Scheme Variable} home-activation-service-type +@defvar home-activation-service-type The service of this type generates a guile script, which runs on every @command{guix home reconfigure} invocation or any other action, which leads to the activation of the home environment. -@end defvr +@end defvar -@defvr {Scheme Variable} home-symlink-manager-service-type +@defvar home-symlink-manager-service-type The service of this type generates a guile script, which will be executed during activation of home environment, and do a few following steps: @@ -41252,7 +41252,7 @@ Essential Home Services symlink-manager is a part of essential home services and is enabled and used by default. -@end defvr +@end defvar @node Shells Home Services @@ -41475,7 +41475,7 @@ Mcron Home Service @code{home-environment} record instead of an @code{operating-system} record. -@defvr {Scheme Variable} home-mcron-service-type +@defvar home-mcron-service-type This is the type of the @code{mcron} home service, whose value is an @code{home-mcron-configuration} object. It allows to manage scheduled tasks. @@ -41484,7 +41484,7 @@ Mcron Home Service additional job specifications (@pxref{Service Composition}). In other words, it is possible to define services that provide additional mcron jobs to run. -@end defvr +@end defvar @deftp {Data Type} home-mcron-configuration Available @code{home-mcron-configuration} fields are: @@ -41521,13 +41521,13 @@ Power Management Home Services The @code{(gnu home services pm)} module provides home services pertaining to battery power. -@defvr {Scheme Variable} home-batsignal-service-type +@defvar home-batsignal-service-type Service for @code{batsignal}, a program that monitors battery levels and warns the user through desktop notifications when their battery is getting low. You can also configure a command to be run when the battery level passes a point deemed ``dangerous''. This service is configured with the @code{home-batsignal-configuration} record. -@end defvr +@end defvar @deftp {Data Type} home-batsignal-configuration Data type representing the configuration for batsignal. @@ -41601,7 +41601,7 @@ Shepherd Home Service daemon for you when you log in, which in turns starts the services you asked for. -@defvr {Scheme Variable} home-shepherd-service-type +@defvar home-shepherd-service-type The service type for the userland Shepherd, which allows one to manage long-running processes or one-shot tasks. User's Shepherd is not an init process (PID 1), but almost all other information described in @@ -41611,7 +41611,7 @@ Shepherd Home Service shepherd services (@pxref{Service Types and Services}, for an example). Each extension must pass a list of @code{}. Its value must be a @code{home-shepherd-configuration}, as described below. -@end defvr +@end defvar @deftp {Data Type} home-shepherd-configuration This data type represents the Shepherd's configuration. @@ -41643,7 +41643,7 @@ Secure Shell To do that, you instantiate @code{home-openssh-service-type} in your Home configuration, as explained below. -@defvr {Scheme Variable} home-openssh-service-type +@defvar home-openssh-service-type This is the type of the service to set up the OpenSSH client. It takes care of several things: @@ -41687,7 +41687,7 @@ Secure Shell The value associated with a @code{home-openssh-service-type} instance must be a @code{home-openssh-configuration} record, as describe below. -@end defvr +@end defvar @deftp {Data Type} home-openssh-configuration This is the datatype representing the OpenSSH client and server @@ -41812,7 +41812,7 @@ Desktop Home Services may find useful on ``desktop'' systems running a graphical user environment such as Xorg. -@defvr {Scheme Variable} home-redshift-service-type +@defvar home-redshift-service-type This is the service type for @uref{https://github.com/jonls/redshift, Redshift}, a program that adjusts the display color temperature according to the time of day. Its associated value must be a @@ -41828,7 +41828,7 @@ Desktop Home Services (latitude 35.81) ;northern hemisphere (longitude -0.80))) ;west of Greenwich @end lisp -@end defvr +@end defvar @deftp {Data Type} home-redshift-configuration Available @code{home-redshift-configuration} fields are: @@ -41883,10 +41883,10 @@ Desktop Home Services @end deftp -@defvr {Scheme Variable} home-dbus-service-type +@defvar home-dbus-service-type This is the service type for running a session-specific D-Bus, for unprivileged applications that require D-Bus to be running. -@end defvr +@end defvar @deftp {Data Type} home-dbus-configuration The configuration record for @code{home-dbus-service-type}. @@ -41903,7 +41903,7 @@ Guix Home Services The @code{(gnu home services guix)} module provides services for user-specific Guix configuration. -@defvr {Scheme Variable} home-channels-service-type +@defvar home-channels-service-type This is the service type for managing @file{$XDG_CONFIG_HOME/guix/channels.scm}, the file that controls the channels received on @command{guix pull} (@pxref{Channels}). Its @@ -41927,7 +41927,7 @@ Guix Home Services (name 'variant-packages) (url "https://example.org/variant-packages.git")))) @end lisp -@end defvr +@end defvar @node Invoking guix home @section Invoking @command{guix home} @@ -42398,52 +42398,52 @@ Supported Platforms The @code{(guix platforms @dots{})} modules export the following variables, each of which is bound to a @code{platform} record. -@defvr {Scheme Variable} armv7-linux +@defvar armv7-linux Platform targeting ARM v7 CPU running GNU/Linux. -@end defvr +@end defvar -@defvr {Scheme Variable} aarch64-linux +@defvar aarch64-linux Platform targeting ARM v8 CPU running GNU/Linux. -@end defvr +@end defvar -@defvr {Scheme Variable} mips64-linux +@defvar mips64-linux Platform targeting MIPS little-endian 64-bit CPU running GNU/Linux. -@end defvr +@end defvar -@defvr {Scheme Variable} powerpc-linux +@defvar powerpc-linux Platform targeting PowerPC big-endian 32-bit CPU running GNU/Linux. -@end defvr +@end defvar -@defvr {Scheme Variable} powerpc64le-linux +@defvar powerpc64le-linux Platform targeting PowerPC little-endian 64-bit CPU running GNU/Linux. -@end defvr +@end defvar -@defvr {Scheme Variable} riscv64-linux +@defvar riscv64-linux Platform targeting RISC-V 64-bit CPU running GNU/Linux. -@end defvr +@end defvar -@defvr {Scheme Variable} i686-linux +@defvar i686-linux Platform targeting x86 CPU running GNU/Linux. -@end defvr +@end defvar -@defvr {Scheme Variable} x86_64-linux +@defvar x86_64-linux Platform targeting x86 64-bit CPU running GNU/Linux. -@end defvr +@end defvar -@defvr {Scheme Variable} i686-mingw +@defvar i686-mingw Platform targeting x86 CPU running Windows, with run-time support from MinGW. -@end defvr +@end defvar -@defvr {Scheme Variable} x86_64-mingw +@defvar x86_64-mingw Platform targeting x86 64-bit CPU running Windows, with run-time support from MinGW. -@end defvr +@end defvar -@defvr {Scheme Variable} i586-gnu +@defvar i586-gnu Platform targeting x86 CPU running GNU/Hurd (also referred to as ``GNU''). -@end defvr +@end defvar @node System Images @chapter Creating System Images @@ -42723,24 +42723,24 @@ Instantiate an Image system image)} module provides the following @code{image} definition variables. -@defvr {Scheme Variable} efi-disk-image +@defvar efi-disk-image A MBR disk-image composed of two partitions: a 64 bits ESP partition and a ROOT boot partition. This image can be used on most @code{x86_64} and @code{i686} machines, supporting BIOS or UEFI booting. -@end defvr +@end defvar -@defvr {Scheme Variable} efi32-disk-image +@defvar efi32-disk-image Same as @code{efi-disk-image} but with a 32 bits EFI partition. -@end defvr +@end defvar -@defvr {Scheme Variable} iso9660-image +@defvar iso9660-image An ISO-9660 image composed of a single bootable partition. This image can also be used on most @code{x86_64} and @code{i686} machines. -@end defvr +@end defvar -@defvr {Scheme Variable} docker-image +@defvar docker-image A Docker image that can be used to spawn a Docker container. -@end defvr +@end defvar Using the @code{efi-disk-image} we can simplify our previous @code{image} declaration this way: @@ -42811,74 +42811,74 @@ image-type Reference There are several @code{image-type} records provided by the @code{(gnu system image)} and the @code{(gnu system images @dots{})} modules. -@defvr {Scheme Variable} efi-raw-image-type +@defvar efi-raw-image-type Build an image based on the @code{efi-disk-image} image. -@end defvr +@end defvar -@defvr {Scheme Variable} efi32-raw-image-type +@defvar efi32-raw-image-type Build an image based on the @code{efi32-disk-image} image. -@end defvr +@end defvar -@defvr {Scheme Variable} qcow2-image-type +@defvar qcow2-image-type Build an image based on the @code{efi-disk-image} image but with the @code{compressed-qcow2} image format. -@end defvr +@end defvar -@defvr {Scheme Variable} iso-image-type +@defvar iso-image-type Build a compressed image based on the @code{iso9660-image} image. -@end defvr +@end defvar -@defvr {Scheme Variable} uncompressed-iso-image-type +@defvar uncompressed-iso-image-type Build an image based on the @code{iso9660-image} image but with the @code{compression?} field set to @code{#false}. -@end defvr +@end defvar -@defvr {Scheme Variable} docker-image-type +@defvar docker-image-type Build an image based on the @code{docker-image} image. -@end defvr +@end defvar -@defvr {Scheme Variable} raw-with-offset-image-type +@defvar raw-with-offset-image-type Build an MBR image with a single partition starting at a @code{1024KiB} offset. This is useful to leave some room to install a bootloader in the post-MBR gap. -@end defvr +@end defvar -@defvr {Scheme Variable} pinebook-pro-image-type +@defvar pinebook-pro-image-type Build an image that is targeting the Pinebook Pro machine. The MBR image contains a single partition starting at a @code{9MiB} offset. The @code{u-boot-pinebook-pro-rk3399-bootloader} bootloader will be installed in this gap. -@end defvr +@end defvar -@defvr {Scheme Variable} rock64-image-type +@defvar rock64-image-type Build an image that is targeting the Rock64 machine. The MBR image contains a single partition starting at a @code{16MiB} offset. The @code{u-boot-rock64-rk3328-bootloader} bootloader will be installed in this gap. -@end defvr +@end defvar -@defvr {Scheme Variable} novena-image-type +@defvar novena-image-type Build an image that is targeting the Novena machine. It has the same characteristics as @code{raw-with-offset-image-type}. -@end defvr +@end defvar -@defvr {Scheme Variable} pine64-image-type +@defvar pine64-image-type Build an image that is targeting the Pine64 machine. It has the same characteristics as @code{raw-with-offset-image-type}. -@end defvr +@end defvar -@defvr {Scheme Variable} hurd-image-type +@defvar hurd-image-type Build an image that is targeting a @code{i386} machine running the Hurd kernel. The MBR image contains a single ext2 partitions with specific @code{file-system-options} flags. -@end defvr +@end defvar -@defvr {Scheme Variable} hurd-qcow2-image-type +@defvar hurd-qcow2-image-type Build an image similar to the one built by the @code{hurd-image-type} but with the @code{format} set to @code{'compressed-qcow2}. -@end defvr +@end defvar -@defvr {Scheme Variable} wsl2-image-type +@defvar wsl2-image-type Build an image for the @acronym{WSL2, Windows Subsystem for Linux 2}. It can be imported by running: @@ -42887,7 +42887,7 @@ image-type Reference wsl -d Guix @end example -@end defvr +@end defvar So, if we get back to the @code{guix system image} command taking an @code{operating-system} declaration as argument. By default, the