* gnu/packages/aux-files/run-in-namespace.c (struct engine): New type.
(exec_default): New function.
(engines): New variable.
(execution_engine): New function.
(main): Use it instead of calling 'exec_in_user_namespace' and
'exec_with_proot' directly.
* tests/guix-pack-relocatable.sh: Add test with 'GUIX_EXECUTION_ENGINE'.
* doc/guix.texi (Invoking guix pack): Document 'GUIX_EXECUTION_ENGINE'.
* doc/guix.texi (Invoking guix graph): Mention xdot. Remove a couple of
"| dot -Tpdf" in examples and add "| xdot".
(Invoking guix system): Likewise.
(Preparing to Use the Bootstrap Binaries): Likewise.
* gnu/system/vm.scm (system-docker-image): Add #:shared-network? and
pass it to 'containerized-operating-system'.
(qemu-image):
* guix/scripts/system.scm (system-derivation-for-action): Pass
#:shared-network? to 'system-docker-image'.
* doc/guix.texi (Invoking guix system): Document it.
* doc/guix.texi (Invoking `guix environment'): Add paragraph and example to
run Eolie in a guix environment container. Add `container' cindex for the
first container example, and the `certificates' cindex for the web browser
example.
Suggested by Bruno Haible <bruno@clisp.org>
in <https://bugs.gnu.org/41038>.
* doc/guix.texi (Packages for C Development): New node.
(Application Setup)[The GCC toolchain]: Empty and refer to it.
Introduce a new `addresses' field that translates to passing `--address='
multiple times to dnsmasq.
* gnu/services/dns.scm (<dnsmasq-configuration>): Add an addresses field.
(dnsmasq-shepherd-service): Match the addresses field and translate it to
multiple '--address=' flags.
* doc/guix.texi (DNS Services): Document it.
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
This is a follow-up to commit 57833803b4.
* doc/guix.texi (Initial RAM Disk): Refer to "%guile-3.0-static-stripped"
instead of "%guile-static-stripped".
* doc/guix.texi (Dictionary Service): Renamed to singular and changed
from 'subsubsection' to 'subheading'.
Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
This avoids a race with the bcm5974 kernel module.
Fixes <https://bugs.gnu.org/35574>.
* gnu/system.scm (%default-modprobe-blacklist): New variable.
(<operating-system>)[kernel-arguments]: Default to ...
(%default-kernel-arguments): ... this new variable.
* doc/guix.texi (operating-system Reference): Document the change.
* gnu/packages/fonts.scm (font-gnu-freefont): Add otf and woff font types.
* gnu/packages/genealogy.scm (gramps)[inputs]: Replace font-gnu-freefont-tff
with font-gnu-freefont.
* doc/guix.texi: Adjust a reference to the package.
Signed-off-by: Leo Famulari <leo@famulari.name>
* guix/gexp.scm (<scheme-file>)[load-path?]: New field.
(scheme-file): Add #:set-load-path? and honor it.
(scheme-file-compiler): Pass #:set-load-path? to 'gexp->file'.
* doc/guix.texi (G-Expressions): Document it.
* gnu/services/networking.scm (simulated-wifi-shepherd-services): New
procedure.
(simulated-wifi-service-type): New variable.
* doc/guix.texi (Networking Services): Document it.
* gnu/services/networking.scm (<hostapd-configuration>): New record
type.
(hostapd-configuration-file, hostapd-shepherd-services): New
procedures.
(hostapd-service-type): New variable.
* doc/guix.texi (Networking Services): Document it.
Suggested by Steven vanZyl <rushsteve1@rushsteve1.us>.
* doc/guix.texi (Binary Installation): Add @example showing how to
download the script. Use "systemctl enable --now".
This fixes a bug introduced in 362bcdb1b0
whereby the VM image would no longer contain /etc/config.scm, contrary
to what the manual says.
Reported by dbdude on #guix.
* Makefile.am (release): Pass '--save-provenance' to 'guix system
vm-image'.
* doc/guix.texi (Running Guix in a VM): Adjust file name accordingly.
@var is for meta-syntactic variables but it is used in some places for
mere variables, which is incorrect and leads to inconsistent layout in
PDF and HTML.
* doc/guix.texi (package Reference, The Store Monad)
(G-Expressions, operating-system Reference)
(File Systems, Base Services, Log Rotation)
(Networking Services, Invoking guix deploy): Replace incorrect uses of
@var with @code.
Fixes <https://bugs.gnu.org/25569>.
Reported by Divan Santana <divan@santanas.co.za>.
* gnu/services/base.scm (shepherd-set-http-proxy-action): New procedure.
(guix-shepherd-service): Add 'actions' field. Change 'start' to a
lambda; check the value of the "http_proxy" environment variable and
add "http_proxy" and "https_proxy" to #:environment-variables as a
function of that.
* gnu/tests/base.scm (run-basic-test)["guix-daemon set-http-proxy
action", "guix-daemon set-http-proxy action, clear"]: New tests.
* doc/guix.texi (Base Services): Document it.
* gnu/services/base.scm (%base-services): Add an instance of
ROTTLOG-SERVICE-TYPE.
* doc/guix.texi (Log Rotation): Mention that it's part of
%BASE-SERVICES and change example.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.
* gnu/bootloader/grub.scm (keyboard-layout-file): Replace commas with
hyphens in the first argument to 'computed-file'.
* gnu/system/keyboard.scm (keyboard-layout->console-keymap): Likewise.
* doc/guix.texi (Keyboard Layout): Add example.
* doc/guix.texi (Linux Services): Add a new subsection and document the
new service and its configuration.
* gnu/services/linux.scm (kernel-module-loader-service-type): New type.
(kernel-module-loader-shepherd-service): New procedure.
* gnu/tests/linux-modules.scm (module-loader-program): Procedure
removed.
(modules-loaded?-program): New procedure.
(run-loadable-kernel-modules-test): 'module-loader-program' procedure
replaced by the new one.
[os]: Use 'kernel-module-loader-service'.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
Instead of accepting a string for just one protocol version accept a list of
supported versions.
* gnu/services/nfs.scm (<nfs-configuration>)[nfs-version]: Remove field and
replace...
[nfs-versions]: ...with this new field.
(nfs-shepherd-services): Pass as many "--nfs-version" options as there are
supported versions.
* doc/guix.texi (Network File System): Document nfs-versions.
* doc/guix.texi (Application Setup)[Emacs Packages]: No longer mention the
guix.d Elisp installation prefix. Do not treat the user profile specially, as
it is not special anymore.
(Build Systems): Document the correct Elisp installation prefix.
Exporting this variable allows reusing the default value of the `sudoers-file'
field when configuring it.
* gnu/system.scm (gnu): Export %sudoers-specification.
* doc/guix.texi (Invoking guix deploy): Document an example, to use with 'guix
deploy'.
* gnu/services/web.scm (<nginx-configuration>)[global-directives]: Add field.
(emit-global-directive): New procedure.
(default-nginx-config): Use it.
* doc/guix.texi (Web Services): Document it.
* guix/scripts/weather.scm (guix-weather)[package-list]: Account for all
the 'manifest entries in OPTS.
* doc/guix.texi (Invoking guix weather): Document it.
* guix/gexp.scm (<parameterized>): New record type.
(with-parameters): New macro.
(compile-parameterized): New gexp compiler.
* tests/gexp.scm ("with-parameters for %current-system")
("with-parameters for %current-target-system")
("with-parameters + file-append"): New tests.
* doc/guix.texi (G-Expressions): Document it.
* doc/contributing.texi
(14.1 Building from Git,
14.3 The Perfect Setup,
14.4.1 Software Freedom,
14.4.4 Synopses and Descriptions,
14.5.4 Formatting Code):
Use HTTPS for @uref{}s and @url{}s that support it.
* doc/fdl-1.3.texi
(Appendix A GNU Free Documentation License):
Use HTTPS for @uref{}s and @url{}s that support it.
* doc/guix.texi
(6.3 Build Systems,
8.8.4 Networking Services,
8.8.8 Sound Services,
8.8.16 Web Services,
8.11 Name Service Switch,
12.2 Preparing to Use the Bootstrap Binaries);
Use HTTPS for @uref{}s and @url{}s that support it.
Signed-off-by: Marius Bakke <mbakke@fastmail.com>
This is so that the options supported by the service configuration don't have
to always be changed. Generally though all options should be explicitly
supported and documented, so this is mostly to facilitate experimentation.
* gnu/services/cuirass.scm (<cuirass-configuration>): Add an extra-options
field.
(cuirass-shepherd-service): Pass the extra options to the shepherd servvices.
* doc/guix.texi (Continuous Integration): Document it.
This is so that the options supported by the service configuration don't have
to always be changed. Generally though all options should be explicitly
supported and documented, so this is mostly to facilitate experimentation.
* gnu/services/guix.scm (<guix-data-service-configuration>): Add extra-options
and extra-process-jobs-options to the record type.
(guix-data-service-shepherd-services): Handle these new configuration record
fields.
* doc/guix.texi (Guix Data Service): Document these new options.
* gnu/services/certbot.scm (certbot-configuration): Add server option.
(certbot-command): Use server option.
(certbot-actication): Use server option.
(certbot-nginx-server-configurations): Use server option.
* doc/guix.texi (Certificate Services): Document server option.
Co-authored-by: Tobias Geerinckx-Rice <me@tobias.gr>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This is a followup to 35f3511167.
* m4/guix.m4 (GUIX_CHECK_GUILE_SSH): Check for userauth-gssapi!
* doc/guix.texi: Document version requirement
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
The documentation for --expose and --share parameters are so similar that the
reader has to read both descriptions in parallel to find the difference.
* doc/guix.texi (Invoking guix environment)[--expose, --share]: Merge the two
descriptions into one.
Signed-off-by: Jakub Kądziołka <kuba@kadziolka.net>
* doc/guix.texi (After System Installation): Explicitly explain the
mechanics of how sudo differs from a login shell.
Some recent discussions on IRC suggest that the existing wording wasn't
entirely clear.
* guix/scripts/build.scm (show-help): Document --manifest argument.
(options->things-to-build): When given a manifest, evaluate all the entries.
* tests/guix-build.sh: Add test for --manifest.
* doc/guix.texi (Additional Build Options): Mention --manifest.
* etc/completion/bash/guix: Complete file name if 'guix build' argument is
-m.