Commit graph

3308 commits

Author SHA1 Message Date
Ludovic Courtès
8e2f32cee9
doc: Update URLs for the manual and cookbook translations.
* doc/htmlxref.cnf: Update URLs for "guix" and "guix-cookbook".
2022-12-18 16:01:32 +01:00
Ludovic Courtès
b77b4c7c3a
doc: Add guile-netlink to 'htmlxref.cnf'.
* doc/htmlxref.cnf: Add guile-netlink.
2022-12-18 15:53:43 +01:00
Ludovic Courtès
047ae5c345
doc: Use VM image file name consistently.
Previously, what "/tmp/qemu-image" refers to could be unclear at first.

* doc/guix.texi (Running Guix in a VM): Use the original image file
name instead of /tmp/qemu-image.
* po/doc/guix-manual.de.po, po/doc/guix-manual.es.po,
po/doc/guix-manual.fr.po, po/doc/guix-manual.pt_BR.po,
po/doc/guix-manual.ru.po, po/doc/guix-manual.zh_CN.po: Adjust
accordingly.
2022-12-15 00:15:36 +01:00
Bruno Victal
2cf16f2c31
doc: Fix formatting for 'computed-file'.
* doc/guix.texi (G-Expressions): Fix formatting for 'computed-file'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-12-14 15:09:49 +01:00
Ludovic Courtès
09b984b77d
doc: Verify the release with my own OpenPGP key.
* doc/guix.texi (OPENPGP-SIGNING-KEY-ID, OPENPGP-SIGNING-KEY-URL):
Switch to my key.
2022-12-14 09:50:38 +01:00
Marius Bakke
88908c6edc
services: ganeti: Add support for cluster hooks.
* gnu/services/ganeti.scm (<ganeti-configuration>): Add HOOKS.
(hooks->directory): Rename to ...
(debootstrap-hooks->directory): ... this, for clarity.
(debootstrap-configuration-compiler): Adjust accordingly.
(ganeti-directory): Add HOOKS when set.
(ganeti-etc-service): Pass HOOKS.
* doc/guix.texi (Virtualization Services): Mention it.
2022-12-17 17:08:50 +01:00
Ricardo Wurmus
82c511dd54
gnu: slapd-configuration: Update default for run-dir.
* gnu/services/ldap.scm (slapd-configuration): Update default value for
run-dir to match defaults of 389-ds-base package.
* doc/guix.texi: Update documentation.
2022-12-14 22:56:00 +01:00
Ricardo Wurmus
c6f81ff7a6
gnu: Add directory-server-service-type.
* gnu/services/ldap.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (LDAP Services): Document it.
2022-12-14 20:55:04 +01:00
Bruno Victal
dcfd97b42e
doc: Fix formatting for 'computed-file'.
* doc/guix.texi (G-Expressions): Fix formatting for 'computed-file'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-12-14 12:44:02 +01:00
Petr Hodina
22acc0b029
services: nix: Add more configuration fields.
* gnu/services/nix.scm (<nix-configuration>)[build-directory]: New field.
(nix-service-etc, nix-shepherd-service): Take them into account.
* doc/guix.texi (Nix): Update it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-12-13 17:46:39 +01:00
Ludovic Courtès
883aa80b45
doc: Recommend 'match-record'.
* doc/contributing.texi (Data Types and Pattern Matching): Recommend
'match-record'.
2022-12-08 13:21:35 +01:00
Ludovic Courtès
cc6b88d00d
doc: Replace reference to Freenode.
* doc/guix.texi (Reduced Binary Seed Bootstrap): Libera.Chat, not
Freenode.
2022-12-08 13:07:45 +01:00
Marius Bakke
10251c4456
services: zabbix: Don't write user to configuration file.
The service already runs with the specified user and group, so there is no use
in writing it to the configuration files.  This change is mainly done for
compatibility with 'zabbix-agent2' which does not understand the User=
setting, but also to document the correct data type for the "group" setting.

* gnu/services/monitoring.scm (serialize-string): Filter USER and GROUP
fields.
(group?, serialize-group): Remove variables.
(zabbix-server-configuration, zabbix-agent-configuration): Document the GROUP
field as 'string'.
* doc/guix.texi (Monitoring Services): Adjust accordingly.
2022-12-07 20:08:36 +01:00
Florian Pelz
39f88ee29f
doc: cookbook: Fix commands in example.
Fixes <https://issues.guix.gnu.org/59463>.
Reported by Luca Cirrottola <luca.cirrottola@inria.fr>.

* doc/guix-cookbook.texi (Reproducible profiles): Make it work.
2022-11-27 19:00:01 +01:00
Ludovic Courtès
cc9ee514e3
doc: Recommend 'match-record'.
* doc/contributing.texi (Data Types and Pattern Matching): Recommend
'match-record'.
2022-12-02 00:02:12 +01:00
Stefan
a9acbf919a
gnu: bootloader: Rework chaining, add grub-efi-netboot-removable-bootloader.
This rework allows to use an (efi-bootloader-chain) like this, which is able
to boot over network or local storage, depending on whether the bootloader
target has support for symbolic links:

   (operating-system
    (bootloader
      (bootloader-configuration
        (bootloader
          (efi-bootloader-chain
            grub-efi-netboot-removable-bootloader
            #:packages (list my-firmware-package
                             my-u-boot-package)
            #:files (list (plain-file "config.txt"
                                      "kernel=u-boot.bin"))
            #:hooks my-special-bootloader-profile-manipulator))
        (targets '("/booti/efi"))
        …))
    …)

* doc/guix.texi (Bootloader Configuration): Describe the new
‘grub-efi-netboot-removable-bootloader’.  Mention the file names used and that
the UEFI Boot Manager is not modified.  Advise to disable write-access over
TFTP.
* gnu/bootloader.scm (efi-bootloader-profile): Allow a list of packages and
collect everything directly in the profile, avoiding a separate collection
directory.  Renamed the profile from "bootloader-profile" to
"efi-bootloader-profile".
[bootloader-collection]: Rename to...
[efi-bootloader-profile-hook]: ... this and remove unused modules.  Do not
create the now extraneous collection directory.
(efi-bootloader-chain): Add PACKAGES and DISK-IMAGE-INSTALLER arguments.
Remove handling of the collection directory, now only calling the given
installer procedure.
* gnu/bootloader/grub.scm (make-grub-efi-netboot-installer): New helper.
(make-grub-configuration): New helper based on (grub-configuration-file).  Add
a GRUB argument, fix indentation, remove previous code retrieving GRUB from
CONFIG.
(grub-configuration-file): Make use of make-grub-configuration.
(grub-efi-configuration-file): New procedure.
(grub-cfg): New variable to replace "/boot/grub/grub.cfg".
(install-grub-efi-netboot): Remove, splitting logic to...
(make-grub-efi-netboot-installer): ... this new helper procedure, as well as
to make-grub-efi-netboot, added below.
(grub-bootloader): Adjust to use the GRUB-CFG.
(grub-efi-bootloader): Likewise.  Removed inheritance and declare all fields
explicitly.
(make-grub-efi-netboot-bootloader): New procedure.
(grub-efi-netboot-bootloader): Use it.
(grub-efi-netboot-removable-bootloader): New variable.
* gnu/packages/bootloaders.scm (make-grub-efi-netboot): New procedure.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-12-01 14:31:28 -05:00
Andrew Tropin
0823fd1aa9
services: network-manager: Add iwd backend support.
* gnu/services/networking.scm (network-manager-configuration)[iwd?]: New
field.
(network-manager-shepherd-service): Add iwd to requirements if needed.
* doc/guix.texi: Add information about iwd? option.
2022-12-01 18:56:24 +04:00
Maxim Cournoyer
3e14e316a5
doc: Remove unimplemented 'herd rules udev'.
Since this text was added, the rules.d directory is now exposed
straightforwardly via the standard /etc/udev/rules.d directory, so there's no
need for a special 'rules' service action to print that directory.

* doc/guix.texi (Base Services): Remove the paragraph documenting the
nonexistent 'herd rules udev' command.
2022-11-29 14:52:36 -05:00
Maxim Cournoyer
3578fb1323
doc: Recommend avoiding execl, execle or execlp in mcron job specifications.
* doc/guix.texi (Scheduled Job Execution): Adjust the 'updatedb' example and
add a new tip.
2022-11-28 22:49:23 -05:00
Maxim Cournoyer
d524ec6fb5
doc: Add a security keys section to the cookbook.
* doc/guix-cookbook.texi (Top): Register new menu.
(System Configuration): Likewise.
(Using security keys): New section.
2022-11-24 20:51:30 -05:00
Tobias Geerinckx-Rice
22d44f8776
doc: Note that ‘guix package’ accepts file names.
* doc/guix.texi (Package Management)[Invoking guix package]:
Mention support for operating on store file names.

Co-authored-by: Tobias Geerinckx-Rice <me@tobias.gr>
2022-11-20 01:00:00 +01:00
Ludovic Courtès
d33ed58169
offload: Increase default 'overload-threshold' value.
When offloading to a single machine, the previous default value would
lead 'guix offload' to wait possibly for several minutes between
subsequent builds until normalized load would finally go below 0.6.
Increasing it mitigates that.

* guix/scripts/offload.scm (<build-machine>)[overload-threshold]: Bump
to 0.8.
* doc/guix.texi (Daemon Offload Setup): Likewise.
2022-11-23 19:34:42 +01:00
pelzflorian (Florian Pelz)
b8d4c323f5
doc: Call out potential for security vulnerabilities in old software.
* doc/guix.texi (Invoking guix time-machine): Add a note.

Co-authored by: Simon Tournier <zimon.toutoune@gmail.com>
2022-11-22 15:36:25 +01:00
Vivien Kraus
9283c80e60
guix: modify-input: Recommend prepend instead of append.
* doc/guix.texi (Defining Package Variants): Document the "prepend" clause of
modify-inputs first.
* guix/packages.scm (modify-inputs): use "prepend" in the docstring.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-11-21 14:25:13 +00:00
Hilton Chain
6d1177b2c8
doc: Build more man pages.
* doc/local.mk (sub_commands_mans): Add guix-container.1, guix-copy.1,
guix-describe.1, guix-git.1, guix-graph.1, guix-home.1, guix-offload.1,
guix-pack.1, guix-processes.1, guix-repl.1, guix-shell.1, guix-style.1.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-11-19 19:54:14 +01:00
Ludovic Courtès
8d9647d8a7
services: Add Shepherd 'configuration' action to various services.
* gnu/services/avahi.scm (avahi-shepherd-service): Add 'actions' field.
* gnu/services/base.scm (nscd-actions): Add call to
'shepherd-configuration-action'.
* gnu/services/desktop.scm (upower-shepherd-service): Add 'actions'
field.
(elogind-shepherd-service): Likewise.
* gnu/services/dict.scm (dicod-shepherd-service): Likewise.
* gnu/services/networking.scm (openntpd-shepherd-service): Likewise.
(tor-shepherd-service): Likewise.
* gnu/services/ssh.scm (openssh-shepherd-service): Likewise.
* gnu/services/web.scm (nginx-shepherd-service): Likewise.
* gnu/services/xorg.scm (gdm-shepherd-service): Likewise.
* gnu/tests/base.scm (run-basic-test)["nscd configuration action"]: New
test.
* doc/guix.texi (Services): Document it.
2022-11-18 15:44:39 +01:00
Ludovic Courtès
ebc7de6a1e
services: shepherd: Define 'shepherd-configuration-action' helper.
* gnu/services/shepherd.scm (shepherd-configuration-action): New
* doc/guix.texi (Shepherd Services): Document it.
2022-11-18 15:44:39 +01:00
Hilton Chain
a6da50d60a
linux-initrd: raw-initrd: Add keyword argument #:pre-mount.
* gnu/system/linux-initrd.scm (raw-initrd): Add keyword argument #:pre-mount.
Document it.
* doc/guix.texi (initial RAM disk): Likewise.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-11-18 15:44:38 +01:00
Maxim Cournoyer
44554e7133
Revert "services: configuration: Revert to a working ‘guix home’."
This reverts commit 39e4e00f75, with fixes for
the guix home issues reported and another one found while reconfiguring berlin
in the subsequent commit.
2022-11-17 06:49:51 -05:00
Tobias Geerinckx-Rice
39e4e00f75
services: configuration: Revert to a working ‘guix home’.
This reverts commit 543d971ed2, and
its dependent commit 9b21cd2e9a, which
appear to have triggered a recent wave of ‘guix home’ regressions
involving (services (list (service home-bash-service-type))):

In gnu/home/services/shells.scm:
    504:7  3 (home-bash-extensions #<<home-bash-configuration> package: #<package bash@5.1.8 gnu/packages/ba…> …)
In unknown file:
           2 (append #<<location> file: "…" line: 14 column: 12> ())
In ice-9/boot-9.scm:
  1685:16  1 (raise-exception _ #:continuable? _)
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure append: Wrong type argument in position 1 (expecting empty list): #<<location> file: "…" line: 14 column: 12>

I should love to dive in & fix this rather than revert, but urgently
need sleep.
2022-11-13 01:00:00 +01:00
Maxim Cournoyer
9b21cd2e9a
services: mcron: Add log? and log-format fields to mcron-configuration.
* gnu/services/mcron.scm (list-of-gexps?): New predicate.
(mcron-configuration): Rewrite using define-configuration.
[log?, log-format]: New fields.
(mcron-shepherd-services): Invoke mcron with the --log and --log-format
arguments when log? is #t,
(generate-doc): New procedure.
* doc/guix.texi (Scheduled Job Execution): Update doc.
(Mcron Home Service): Likewise.
* gnu/home/services/mcron.scm: Keep in sync with the above changes to
gnu/services/mcron.scm.
2022-11-15 16:26:16 -05:00
Maxim Cournoyer
b31ea797ed
guix: shell: Add '--symlink' option.
* guix/scripts/pack.scm (%options): Extract symlink parsing logic to...
(symlink-spec-option-parser): ... here.
(self-contained-tarball/builder): Add a comment mentioning why a relative file
name is used for the link target.
* guix/scripts/environment.scm (show-environment-options-help): Document new
--symlink option.
(%default-options): Add default value for symlinks.
(%options): Register new symlink option.
(launch-environment/container): Add #:symlinks argument and extend doc, and
create symlinks using evaluate-populate-directive.
(guix-environment*): Pass symlinks arguments to launch-environment/container.
* doc/guix.texi (Invoking guix shell): Document it.
* tests/guix-shell.sh: Add a --symlink (negative) test.
* tests/guix-environment-container.sh: Add tests.
2022-11-15 14:15:11 -05:00
Ludovic Courtès
5b555d639d
doc: Add missing closing parentheses in examples.
* doc/guix.texi (VNC Services, Guix Home Services): Add missing closing
parentheses.
2022-11-15 12:16:44 +01:00
pelzflorian (Florian Pelz)
fd13259d85
doc: Link to the Git book instead of the git-scm.com homepage.
The Pro Git book, unlike the git-scm.com homepage, is translated to
many languages.  Therefore translators of the Guix Manual can point
to the appropriate translation now.

* doc/guix.texi (Invoking guix pull): Point to the Pro Git book's URL.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-11-15 12:16:44 +01:00
Ludovic Courtès
0be722a0b5
doc: Build pt_BR manual.
* doc/build.scm (%manual-languages): Add "pt_BR".
2022-11-15 12:16:44 +01:00
pelzflorian (Florian Pelz)
8162d207b1
doc: Refer to the pt_BR translation.
* doc/guix.texi (Top): Mention Brazilian Portuguese.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-11-15 12:16:44 +01:00
Ludovic Courtès
514fedbf39
installer: Report known-unsupported PCI devices.
* gnu/installer/hardware.scm: New file.
* gnu/local.mk (INSTALLER_MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* gnu/installer.scm (installer-steps): Pass #:pci-database to the
'welcome' step procedure.
* gnu/installer/newt.scm (welcome-page): Add #:pci-database and pass it
to 'run-welcome-page'.
* gnu/installer/newt/welcome.scm (check-hardware-support): Add #:pci-database.
Enumerate unsupported PCI devices and run an error page when unsupported
devices are found.
(run-welcome-page): Add #:pci-database and pass it to
'check-hardware-support' and to the recursive call.
* gnu/installer/record.scm (<installer>)[welcome-page]: Adjust comment.
* doc/guix.texi (Hardware Considerations): Mention it.
2022-11-15 12:16:43 +01:00
Alexey Abramov
73b3519568
services: gitolite: Add local-code configuration option.
* gnu/services/version-control.scm (gitolite-rc-file): Add local-code
field.
(gitolite-rc-file-compiler): Serialize the field.
* doc/guix.texi: Document it.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-11-07 20:29:14 +01:00
Efraim Flashner
97d565c786
guix gc: Add '--vacuum-database'.
* guix/scripts/gc.scm (show-help, %options): Add '--vacuum-database'.
* guix/store/database.scm (vacuum-database): New procedure.
* doc/guix.texi (Invoking guix gc): Document the option.
2022-11-06 14:02:08 +02:00
Ricardo Wurmus
b43200e5b1
doc: cookbook: Add section on MPD with bluealsa.
* doc/guix-cookbook.texi (Music Server with Bluetooth Audio): New section
under System Configuration.
2022-11-06 00:35:56 +01:00
Ricardo Wurmus
769c5f563d
doc: cookbook: Update detailed menu for "System Configuration".
* doc/guix-cookbook.texi: Update menu.
2022-11-06 00:35:56 +01:00
Marius Bakke
706f25f24d
services: ganeti: OS variants can be a directory.
* gnu/services/ganeti.scm (<ganeti-os>)[extension]: Default to #f.
(ganeti-os->directory): Only add extension if set.  Support a file-like object
for VARIANTS.
* doc/guix.texi (Virtualization Services): Document this change and add
example.  Update Ganeti URLs while at it.
2022-11-03 20:00:30 +01:00
EuAndreh
7bb3644dd0
doc: Change example for special-files-service-type.
Also update the default value given in the docs. Change the example since the
base system includes /usr/bin/env by default.

* doc/guix.texi (Base Services): Change the example for
special-files-service-type and update default.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-11-03 17:32:34 +01:00
(
807bfe55dc
doc: contributing: Use proper subsections.
* doc/contributing.texi ("Submitting Patches")
["Sending a Patch Series", "Teams"]: Convert to numbered subsections.
Add nodes.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-11-01 13:53:59 +01:00
(
8fed831e2a
doc: contributing: Expand "Sending a Patch Series".
* doc/contributing.texi: Expand on sending patches and using
  git send-email.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-10-28 17:25:58 +02:00
Marius Bakke
e944734ef9
build-system/pyproject: Always run tests verbosely for supported backends.
* guix/build-system/pyproject.scm (pyproject-build): Default to '() instead of
 #false for TEST-FLAGS.
* guix/build/pyproject-build-system.scm (check): Unconditionally enable
verbose test flags.
* doc/guix.texi (Build Systems): Document this change.
* gnu/packages/fontutils.scm (python-glyphslib)[arguments]: Remove verbosity
from #:test-flags.
* gnu/packages/pdf.scm (python-pydyf, weasyprint)[arguments]: Likewise.
* gnu/packages/python-web.scm (python-openapi-spec-validator)[arguments]: Likewise.
* gnu/packages/python-xyz.scm (python-path, python-tempora)[arguments]: Likewise.
2022-10-27 21:30:03 +02:00
Lars-Dominik Braun
400a7a4c80
build-system: Add pyproject-build-system.
This is an experimental build system based on python-build-system
that implements PEP 517-compliant builds.

* doc/guix.texi (Build Systems): Add pyproject-build-system section.
* doc/contributing.texi (Python Modules): Mention pyproject.toml and the
PYTHON-TOOLCHAIN package, as well as differences to python-build-system.
* guix/build-system/pyproject.scm,
guix/build/pyproject-build-system.scm,
gnu/packages/aux-files/python/sanity-check-next.py,
gnu/packages/python-commencement.scm: New files.
* Makefile.am (MODULES): Register the new build systems.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add python-commencement.scm.
* gnu/packages/python.scm (python-sans-pip, python-sans-pip-wrapper): New
variables.

Co-authored-by: Marius Bakke <marius@gnu.org>
2022-10-27 19:43:06 +02:00
David Thompson
966118da71
gnu: version-control: Add make-gitolite procedure.
* gnu/packages/version-control.scm (make-gitolite): New procedure.
(gitolite): Use make-gitolite.
* doc/guix.texi (Gitolite service): Document how to use make-gitolite.
2022-10-24 16:37:22 -04:00
Ludovic Courtès
c077345539
file-systems: Support the 'no-diratime' mount flag.
* gnu/build/file-systems.scm (mount-flags->bit-mask): Handle 'no-diratime'.
* doc/guix.texi (File Systems): Document it.
2022-10-20 23:07:37 +02:00
Mathieu Othacehe
7ee77dc6df
services: wireguard: Add more configuration fields.
* gnu/services/vpn.scm (<wireguard-configuration>)[pre-up, post-up, pre-down,
post-down, table]: New fields.
(wireguard-configuration-file): Take them into account.
* doc/guix.texi (Wireguard): Update it.
2022-10-20 13:07:46 +02:00
Ludovic Courtès
7460b06a2d
doc: Mention Guile-GnuTLS in the requirements.
* doc/guix.texi (Requirements): Update.
2022-10-18 14:27:01 +02:00
Ludovic Courtès
f36522416e
channels: Interpret the 'commit' field of channel as a tag or commit.
Previously the 'commit' field would always be interpreted as a commit
ID.  This change adds flexibility, allowing for things like:

  guix time-machine --commit=v1.2.0 -- describe

* guix/channels.scm (channel-reference): Use 'tag-or-commit' rather than 'commit'.
* guix/inferior.scm (channel-full-commit): Likewise.
* doc/guix.texi (Invoking guix pull): Document it.
(Invoking guix time-machine): Likewise.
2022-10-17 09:37:27 +02:00
Julien Lepiller
63bb79fa38
doc: Fix typos.
These typos were found and reported on weblate.

* doc/guix.texi: Fix typos.
2022-10-17 07:29:51 +02:00
zimoun
4cb5144df0
doc: Explain Emacs native-compilation.
* doc/guix.texi ("Application Setup")["Emacs Packages"]: Add a note
explaining that Emacs can compile packages to native code now.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-10-15 15:34:56 +02:00
Ricardo Wurmus
56915dc275
doc: Add chapter on containers to Cookbook.
* doc/guix-cookbook.texi (Containers): New chapter.
2022-10-13 17:42:05 +02:00
John Kehayias
c7ba5f38b8
environment: Add '--emulate-fhs'.
* guix/scripts/environment.scm (show-environment-options-help, %options): Add
'--emulate-fhs'.
(setup-fhs): New procedure.  Setup for the Filesystem Hierarchy Standard (FHS)
container.  Defines and uses FHS-SYMLINKS and LINK-CONTENTS to create FHS
expected directories and creates /etc/ld.so.conf.
(launch-environment): Add 'emulate-fhs?' key and implement it to set $PATH and
generate /etc/ld.so.cache before calling COMMAND.
(launch-environment/container): Add 'emulate-fhs?' and 'setup-hook' keys and
implement them.  Define and use FHS-MAPPINGS, to set up additional bind mounts
in the container to follow FHS expectations.
(guix-environment*): Add glibc-for-fhs to the container packages when
'emulate-fhs?' key is in OPTS.
* doc/guix.texi (Invoking guix shell): Document '--emulate-fhs'.
(Invoking guix environment): Document '--emulate-fhs'.
* tests/guix-environment-container.sh: Add tests for '--emulate-fhs'.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-10-13 09:19:08 +02:00
( via Guix-patches via
4ab434958b
gnu: home: Add home-dbus-service-type.
* gnu/home/services/desktop.scm (home-dbus-service-type): New variable.
(home-dbus-configuration): New record type.
* doc/guix.texi: Document them.

Signed-off-by: Andrew Tropin <andrew@trop.in>
2022-10-13 09:05:46 +04:00
Maxim Cournoyer
f78cfcd7d3
system: operating-system: Make the timezone field default to Etc/UTC.
* gnu/system.scm (<operating-system>) [timezone]: Default to "Etc/UTC".
2022-10-11 11:29:03 +00:00
(
ba6ea435e2
gnu: base: Add greetd-wlgreet-sway-session.
* gnu/services/base.scm (greetd-wlgreet-session): New data type.
(greetd-wlgreet-sway-session): Likewise.
* doc/guix.texi ("Base Services")[greetd-service-type]: Document
  them.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-10-11 11:43:01 +01:00
Christopher Baines
e83b9fe44e
services: guix: Include max-allocated-builds gbc agent option.
* gnu/services/guix.scm (guix-build-coordinator-agent-configuration-max-allocated-builds):
New procedure.
(guix-build-coordinator-agent-shepherd-services): Use max-allocated-builds.
* doc/guix.texi (Guix Build Coordinator): Document this new field.
2022-10-11 11:41:15 +01:00
Maxim Cournoyer
00e8430500
Revert "Revert "services: Add xvnc-service-type.""
This reverts commit 0c49661600.  The fix appears
in the subsequent commit, for clarity.
2022-10-07 15:07:48 -04:00
Maxim Cournoyer
0c49661600
Revert "services: Add xvnc-service-type."
This reverts commit 1c528a95cb.  This broke
'guix pull', for (yet) unknown reasons.
2022-10-07 12:53:22 -04:00
Maxim Cournoyer
1c528a95cb
services: Add xvnc-service-type.
* gnu/services/vnc.scm: New file.
* gnu/tests/vnc.scm: Likewise.
* gnu/local.mk: Register them.
2022-10-07 10:11:13 -04:00
Maxim Cournoyer
aad4e4fc6b
services: xorg: Add auto-suspend? field to <gdm-configuration>.
* gnu/services/xorg.scm (<gdm-configuration>)
<auto-suspend?>: New field.
(gdm-dconf-profiles): New variable.
* gnu/services/xorg.scm (gdm-shepherd-service)
<environment-variables> [!auto-suspend?]: Specify DCONF_PROFILE.
(gdm-service-type): Extend DCONF-SERVICE-TYPE.
* doc/guix.texi (X Window): Document the new field.
2022-10-07 10:11:13 -04:00
Maxim Cournoyer
1936668f5b
services: gdm: Add a configuration field to enable XDMCP.
* gnu/services/xorg.scm (<gdm-configuration>)[xdmcp?]: New field.
* gnu/services/xorg.scm (gdm-configuration-file): Use it.  Use (ice-9 format)
to serialize boolean.
(gdm-polkit-rules): New variable.
(gdm-service-type): Use it to extend polkit.
* doc/guix.texi (X Window): Document it.
2022-10-07 10:11:11 -04:00
Maxim Cournoyer
f9694a04ab
doc: Add git send-email tip in 'Submitting Patches' section.
* doc/contributing.texi (Submitting Patches): Add a tip detailing how to
prefix the subject line with the branch name the change should be installed
to.
2022-10-07 09:17:11 -04:00
Taiju HIGASHI
5b42b64ea8
doc: Fix missing package name.
* doc/guix.texi (Invoking guix import): Fix missing package name for gem
importer.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-10-06 15:08:04 +01:00
Ricardo Wurmus
e351749c44
doc: Add terms to concept index for "guix style".
* doc/guix.texi (Invoking guix style): Add terms to concept index.
2022-10-06 12:22:49 +02:00
Ricardo Wurmus
6ede81b6a4
doc: Add concept index terms for "guix archive".
* doc/guix.texi (Invoking guix archive): Add terms to concept index.
2022-10-06 12:22:49 +02:00
Ricardo Wurmus
b310c4f02a
doc: Add every command name to concept index.
* doc/guix.texi: Add an entry for each Guix command to the concept index.
2022-10-06 12:22:49 +02:00
Ricardo Wurmus
32ba74ab48
doc: Use @command instead of @code.
* doc/guix.texi: Use @command to refer to Guix commands.
2022-10-06 12:22:48 +02:00
Alexey Abramov
40ad967322
services: dhcp-client: Implement and use a configuration record.
* gnu/services/networking.scm (dhcp-client-configuration): New record
configuration.
(dhcp-client-shepherd-service): Implement a shepher service. Provide a
deprication message for legacy configurations.
(dhcp-client-service-type): Use dhcp-client-shepherd-service.
* doc/guix.texi (Networking Setup): Update.
* po/guix/POTFILES.in: Add 'gnu/services/networking.scm'.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-10-06 00:11:18 +02:00
( via Guix-patches via
7030f592c6
home: Add home-batsignal-service-type.
* gnu/home/services/pm.scm (home-batsignal-service-type): New variable.
(home-batsignal-configuration): New record type.
* doc/guix.texi: Document them.
* gnu/local.mk: Add gnu/home/services/pm.scm.
2022-10-04 17:04:45 +04:00
Andrew Tropin
224fd038f2
doc: Mention network mask in network-route.
* doc/guix.texi (Networking Setup): Mention network mask in network-route.
2022-10-04 16:51:22 +04:00
Maxim Cournoyer
d573494387
doc: Mention sourcing system profile when chrooting.
* doc/guix.texi (Chrooting into an existing system): Add sourcing of system
profile along user profile.
2022-10-03 11:22:19 -04:00
Ludovic Courtès
3624f4358c
doc: Update the URL of ISC DHCP.
* doc/guix.texi (Networking Services): Update ISC DHCP URL.
2022-10-02 22:14:45 +02:00
Ludovic Courtès
28ade1bab2
transformations: '--with-source' now operates in depth.
The '--with-source' option is the first one that was implemented, and
it's the only one that would operate only on leaf packages rather than
traversing the dependency graph.  This change makes it consistent with
the rest of the transformation options.

* guix/transformations.scm (evaluate-source-replacement-specs): New
procedure.
(transform-package-source): Rewrite using it.
* tests/transformations.scm ("options->transformation, with-source, no
matches"): Rewrite since we no longer get a warning.
("options->transformation, with-source, in depth"): New test.
* doc/guix.texi (Package Transformation Options): Adjust examples.
2022-09-29 22:59:49 +02:00
Ludovic Courtès
f63adbf6f9
doc: Tweak wsdd wording.
* doc/guix.texi (Samba Services)[Web Service Discovery Daemon]: Tweak
wording.
2022-09-28 22:58:10 +02:00
Ludovic Courtès
67cf25e6cd
doc: Fix syntax for 'wsdd-configuration'.
* doc/guix.texi (Samba Services): Fix syntax of 'wsdd-configuration'
data type definition.
2022-09-28 22:53:35 +02:00
Maxim Cournoyer
b43ed95028
doc: Mention where one can learn more about the samba config file syntax.
* doc/guix.texi (Samba Services): Refer users to "man smb.conf" to learn more
about the Samba config file format.
2022-09-28 09:57:31 -04:00
Maxim Cournoyer
f2d071c832
doc: Add a simple Samba share example.
* doc/guix.texi (Samba Services): Add a configuration example.
2022-09-28 09:57:31 -04:00
Maxim Cournoyer
13ed651870
doc: Clarify Samba Services configuration.
* doc/guix.texi (Samba Services): Explicit the fact that no daemons are
automatically run.  Remove the word "Manually", that suggested otherwise.
2022-09-28 09:57:30 -04:00
Maxim Cournoyer
990a4822f1
Merge branch 'staging' into core-updates
Conflicts resolved in:
	gnu/local.mk
	gnu/packages/cran.scm
	gnu/packages/gnome.scm
	gnu/packages/gtk.scm
	gnu/packages/icu4c.scm
	gnu/packages/java.scm
	gnu/packages/machine-learning.scm
	gnu/packages/tex.scm
2022-09-27 15:59:30 -04:00
Mathieu Othacehe
e842aeb8c1
doc: Turn example to lisp.
* doc/guix.texi (System Images): Turn example snippets to lisp snippets.
2022-09-25 11:38:11 +02:00
Mathieu Othacehe
506e0aa438
doc: Remove an extra dot.
* doc/guix.texi (System Images): Remove it.
2022-09-25 11:35:09 +02:00
Mathieu Othacehe
2a66304535
etc: teams: Add scope support.
Add a scope list to each team.  This list defines all the files and
directories that are mentored by the team.

Also add a cc-members command that takes two Git revision strings as input,
add returns the members that should be CC'ed given the files impacted between
the two revisions.

* etc/teams.scm.in (<team>)[scope]: New field.
(team, list-teams): Adapt those procedures.
(find-team-by-scope, diff-revisions): New procedures.
(main): Add a "cc-members" command.
* doc/contributing.texi ("Teams"): Document it.
("Sending a Patch Series"): Adapt it.
2022-09-25 09:27:59 +02:00
Alex Griffin
c8112f3bd9
system: images: Add wsl2 module.
* gnu/system/images/wsl2.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi ("System Images"): Document it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-09-24 14:49:09 +02:00
Alex Griffin
8757c3f293
system: image: Add tarball support.
* gnu/image.scm (<image>)[fields]: Add tarball to the supported formats.
* gnu/system/image.scm (tarball-image, tarball-image-type): New variables.
(system-tarball-image): New procedure.
(image->root-file-system): Add tarball image support.
(system-image): Ditto.
* doc/guix.texi ("System Images"): Document it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-09-24 14:49:09 +02:00
Mathieu Othacehe
a13f5ead02
doc: Add a "System Images" chapter.
* doc/guix.texi ("System Images"): New chapter.
2022-09-24 14:49:09 +02:00
Mathieu Othacehe
61bf25bb4e
doc: Add a "Platforms" chapter.
* doc/guix.texi ("Platforms"): New chapter.
("Porting"): Link it.
2022-09-24 14:49:08 +02:00
Simon Streit
e1ce100915
services: Add wsdd service.
* doc/guix.texi: Add documentation for wsdd service.
* gnu/services/samba.scm (<wsdd-configuration>): New record.
(wsdd-service-type): New variable.
(wsdd-shepherd-services): New procedure.
* gnu/tests/samba.scm (%wsdd-os): Add variable.
(run-wsdd-test): New procedure.
(%test-wsdd): New variable.

Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2022-09-24 09:41:24 +02:00
Simon Streit
d68721c55a
services: Add samba service.
* gnu/services/samba.scm: New file.
* gnu/tests/samba.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add them.
* po/guix/POTFILES.in Add 'gnu/services/samba.scm'.
* doc/guix.texi: Document it.

Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2022-09-24 09:38:57 +02:00
Marius Bakke
80c76f5d8e
Merge branch 'staging' into core-updates 2022-09-18 16:30:21 +02:00
Taiju HIGASHI
5d22261db3
import: gem: Support importing a specific version of a gem.
* guix/import/gem.scm: (rubygems-fetch, gem->guix-package)
(gem-recursive-import): Fix to fetch the specified version of the gem.
* guix/scripts/import/gem.scm (show-help): Update the help message.
(guix-import-gem): Modify so the version number to be passed to subsequent
procedures.
* tests/gem.scm: Add tests.
* doc/guix.texi (Invoking guix import): Document.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-09-17 19:09:27 +02:00
Maxim Cournoyer
4920f6e634
Merge branch 'staging' into core-updates
Conflicts resolved in:
	gnu/local.mk
	gnu/packages/cmake.scm
	gnu/packages/glib.scm
	gnu/packages/gnome.scm
	gnu/packages/gtk.scm
	gnu/packages/sdl.scm

pango-next, vala-next and librsvg-bootstrap were removed in the process.
2022-09-15 11:43:21 -04:00
muradm
29d52a56f2
gnu: fail2ban-service-type: Improve extra-content fields.
* gnu/services/security.scm
(fail2ban-jail-configuration)[extra-content]: Change to text-config.
(fail2ban-configuration)[extra-content]: Change to text-config.
* gnu/doc/guix.texi: Update type of extra-content fields.

Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-09-14 11:29:11 -04:00
Marius Bakke
9ef33dce94
Merge branch 'staging' into core-updates 2022-09-09 23:04:13 +02:00
tiantian
52d780ea2b
gnu: bootloader: Extend `<menu-entry>' for chain-loader.
* gnu/bootloader.scm (<menu-entry>)[chain-loader]: New field.
(menu-entry->sexp, sexp->menu-entry): Support chain-loader.
* doc/guix.texi (Bootloader Configuration): Document it.

Co-Authored-By: Julien Lepiller <julien@lepiller.eu>
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2022-09-08 22:29:57 +02:00
Marius Bakke
884548b476
Merge branch 'staging' into core-updates 2022-09-08 21:12:52 +02:00
Ricardo Wurmus
d18bddf5d7
doc: Fix typo.
* doc/guix.texi (Miscellaneous Services): Fix typo.
2022-09-07 20:08:23 +02:00
Ludovic Courtès
8c5065c6d1
services: nginx: Add 'shepherd-requirement' configuration field.
* gnu/services/web.scm (<nginx-configuration>)[shepherd-requirement]:
New field.
(nginx-shepherd-service): Honor it.
* doc/guix.texi (Web Services): Document it.
2022-09-06 16:58:12 +02:00
Andrew Tropin
a278f632de
doc: Add more info about commits signature local verification.
* doc/contributing.texi (Commit Access): Add more info about commits signature
local verification.
2022-09-05 14:55:49 +03:00
Ludovic Courtès
eedf71f948
services: upower: Default to a percentage-based policy.
This is the documented default of UPower 0.99.15 (the actual default
appears to be #f though).

* gnu/services/desktop.scm (<upower-configuration>)
[use-percentage-for-policy?]: Default to #t.
* doc/guix.texi (Desktop Services): Adjust accordingly.  Explain the
tradeoff.
2022-09-04 23:10:10 +02:00
Ludovic Courtès
4765242540
services: upower: Update default percentage values.
These values are those used by default by UPower 0.99.15.

* gnu/services/desktop.scm (<upower-configuration>)[percentage-low]
[percentage-critical]: Increase.
* doc/guix.texi (Desktop Services): Update accordingly.
2022-09-04 23:10:09 +02:00
Ludovic Courtès
5c444a0208
doc: Link to the "Scheme Crash Course".
* doc/guix.texi (Defining Packages): Add @quotation block linking to "A
Scheme Crash Course".
2022-09-02 18:16:51 +02:00
Marius Bakke
58863b93b0
Merge branch 'staging' into core-updates 2022-09-01 23:26:57 +02:00
Ludovic Courtès
98a8b48a69
doc: Suggest more RAM for "Running Guix in a VM".
Fixes <https://issues.guix.gnu.org/57474>.
Reported by Michael F. Lamb <mike@orbital.rodeo>.

Running 'guix pull' to target current revisions would lead to memory
exhaustion.  Bumping the memory size works around that.

* doc/guix.texi (Running Guix in a VM): Change "-m 1024" to "-m 2048".
2022-09-01 18:31:26 +02:00
muradm
fa2d651475
gnu: fail2ban-service-type: Fix documentation typos.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-09-01 08:58:16 -04:00
Marius Bakke
59c136ef61
Merge branch 'staging' into core-updates 2022-08-30 20:18:55 +02:00
Nicolas Graves
c4acaf4120
etc: Add tempel snippets.
* etc/snippets/tempel/scheme-mode: New file.
* etc/snippets/tempel/text-mode: New file.
* etc/snippets/scheme-mode: Moved from here...
* etc/snippets/yas/scheme-mode: ... to here.
* etc/snippets/text-mode: Moved from here...
* etc/snippets/yas/text-mode: ... to here.
* doc/contributing.texi ("The Perfect Setup"): Adjust yasnippet setup
accordingly.  Add tempel setup.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-08-30 11:50:14 +02:00
Thiago Jung Bauermann
65ce5fe2fb
guix system: Use standard cross and native build options.
This change prevents guix system from erroring out with an ugly backtrace
when it's passed an invalid value to the “--system” or “--target”
option. It also adds the “--list-systems” and “--list-targets” options.

The manual section about guix system doesn't mention the “--target” option,
so add it there.

* guix/scripts/system (show-help): Call show-cross-build-options-help and
show-native-build-options-help.
(%options): Remove own implementation of “system” and “target” options and
use the ones in %standard-cross-build-options and
%standard-native-build-options.
* doc/guix.texi (Invoking guix system): Document “--target” option.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-08-30 08:55:16 +02:00
Reza Alizadeh Majd
f126f23b13
bootloader: Add device-tree-support? option.
In some specific cases where the device tree file is already loaded in RAM, it
can be preferable that the bootloader does not try to use a device tree from
the Linux kernel tree.

* gnu/bootloader.scm (<bootloader-configuration>)[device-tree-support?]: New field.
* gnu/bootloader/extlinux.scm (extlinux-configuration-file): Add FDTDIR line
based on <device-tree-support?> field of <bootloader-configuration>.
* doc/guix.texi (Bootloader Configuration)[device-tree-support?]: Add
documentation for the new field.
2022-08-30 08:50:44 +02:00
Maxim Cournoyer
0ea62e84a7
services: Add lightdm-service-type.
* gnu/services/lightdm.scm: New service.
* tests/services/lightdm.scm: Test it.
* doc/guix.texi (X Window): Document it.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register it.

Co-authored-by: L p R n d n <guix@lprndn.info>
Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
2022-08-28 22:28:47 -04:00
muradm
3c2d2b4538
gnu: security: Add fail2ban-service-type.
* gnu/services/security.scm: New module.
* gnu/tests/security.scm: New module.
* gnu/local.mk: Add new security module and tests.
* doc/guix.text: Add fail2ban-service-type documentation.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-08-28 21:46:30 -04:00
Marius Bakke
ad384816fe
Merge branch 'staging' into core-updates 2022-08-27 17:10:55 +02:00
muradm
cac3914dfc
gnu: greetd-service-type: Add supplementary groups to greeter.
* gnu/services/base.scm (<greetd-configuration>)
[greeter-supplementary-groups]: New field.
(%greetd-accounts): Rename to...
(greetd-accounts): ... this.  Convert to a function that takes a config
argument.  Use greeter-supplementary-groups.
(greetd-service-type): Adjust accordingly.
* gnu/tests/desktop.scm (%minimal-services): Add test for
greeter-supplementary-groups.
* doc/guix.texi ("Base Services")[greetd-service-type]: Document
greeter-supplementary-groups.
2022-08-26 18:50:33 +02:00
muradm
d1815a68ea
gnu: seatd-service-type: Use seat group.
* gnu/services/desktop.scm (seatd-group-sanitizer): New variable.
(<seatd-configuration>)[user]: Removed field.
[group]: Changed to "seat".  Sanitize via seatd-group-sanitizer.
(seatd-accounts): New variable.
(seatd-environment): Adjust to <seatd-configuration> ABI.
(seatd-service-type)[extensions]: Add account-service-type with seatd-accounts.
* gnu/tests/desktop.scm (run-minimal-desktop-test): Check for correct
ownership of $SEATD_SOCK.
* doc/guix.texi ("Desktop Services")[seatd-service-type]: Mention that users
may need to become members of the "seat" group.
Update default value for group field.
Add explanation on seatd.sock file.
Remove dropped user field.
2022-08-26 18:48:37 +02:00
Maxim Cournoyer
98457ba47b
doc: Replace remaining 'unset mentions with %unset-value.
* doc/guix.texi (Networking Services): Replace 'unset with %unset-value.
(Power Management Services): Likewise.
(Complex Configurations): Likewise.
2022-08-25 00:10:57 -04:00
Maxim Cournoyer
1c803e63f9
services: configuration: Add a 'maybe-value-set?' procedure.
* gnu/services/configuration.scm (maybe-value-set?): New procedure.
* doc/guix.texi (Complex Configurations): Document it.  Remove comment showing
usage of 'maybe-string' with a default value, which doesn't make sense.

Co-authored-by: Attila Lendvai <attila@lendvai.name>
2022-08-24 22:34:45 -04:00
Julien Lepiller
92b25a09c4
doc: Fix typos.
* doc/guix.texi: Fix various typos found by translators.
2022-08-20 13:16:28 +02:00
Andrew Tropin
b379b4f4a2
doc: Add files, xdg-configuration and symlink-manager home services.
* doc/guix.texi (Essential Home Services): Add files, xdg-configuration-files
and symlink-manager home services.
2022-08-19 18:55:43 +03:00
Tobias Geerinckx-Rice
6c2e14a43a
doc: Note the pitfalls of man 8 mount.
* doc/guix.texi (File Systems): Warn against flags presented as options.
2022-08-14 02:00:00 +02:00
Tobias Geerinckx-Rice
6983ded42b
doc: Remove extraneous ‘Note…’.
* doc/guix.texi (File Systems): Remove a ‘Note that’ & begin a new
paragraph.
2022-08-14 02:00:00 +02:00
Marius Bakke
77eb3008e3
Merge branch 'staging' into core-updates 2022-08-11 23:36:10 +02:00
Maxim Cournoyer
59ee837d8b
services: elogind: Fix default behavior for lid close.
Fixes <https://issues.guix.gnu.org/57052>, which was a behavior change
introduced inadvertently in 4c698cd512.

* gnu/services/desktop.scm (<elogind-configuration>)
[handle-lid-switch-external-power]: Default to *unspecified*, which serializes
to nothing.  This matches upstream behavior, meaning that even when plugged to
a power cord, a laptop will suspend when the lid is closed.
* doc/guix.texi (Desktop Services): Update doc.

Reported-by: Cairn <cairn@pm.me>
2022-08-10 00:33:30 -04:00
Oleg Pykhalov
4b49487838
gnu: system: file-systems: Add shared flag.
* gnu/build/file-systems.scm (mount-flags->bit-mask, mount-file-system):
Handle shared flag.
* gnu/system/file-systems.scm (invalid-file-system-flags): Add shared to known
flags.
* guix/build/syscalls.scm (MS_SHARED): New variable.
* doc/guix.texi (File Systems): Document shared flag.
2022-08-10 07:12:25 +03:00
Maxim Cournoyer
4b780d002d
doc: Fix name of gdm-configuration x-session field.
* doc/guix.texi (X Window): Correctly refer to 'x-session', not 'xsession', as
the name of the field.
2022-08-09 17:08:26 -04:00
Ricardo Wurmus
26af06b66b
linux-container: container-script: Parse command line options.
* gnu/system/linux-container.scm (container-script): Accept command line
options to bind mount host directories into the container.
* doc/guix.texi (Invoking guix system): Document options.
2022-08-09 20:32:13 +02:00
Ludovic Courtès
cf60a0a906
build-system/channel: Accept a channel or instance as the source.
* guix/build-system/channel.scm (latest-channel-instances*): New
variable.
(build-channels): New procedure, with code formerly in
'channel-build-system', augmented with clauses for when SOURCE is a
channel instance or a channel.
* doc/guix.texi (Build Systems): Adjust accordingly.
2022-08-09 15:16:06 +02:00
Ludovic Courtès
5bce4c8242
build-system: Add 'channel-build-system'.
* gnu/ci.scm (channel-build-system, channel-source->package): Remove.
* gnu/packages/package-management.scm (channel-source->package): New
procedure, moved from (gnu ci).
* guix/build-system/channel.scm: New file, with code moved from (gnu ci).
* doc/guix.texi (Build Systems): Document it.
2022-08-09 15:16:06 +02:00
Ludovic Courtès
a15542d26d
style: Add '--whole-file' option.
* guix/scripts/style.scm (format-whole-file): New procedure.
(%options, show-help): Add '--whole-file'.
(guix-style): Honor it.
* tests/guix-style.sh: New file.
* Makefile.am (SH_TESTS): Add it.
* doc/guix.texi (Invoking guix style): Document it.
2022-08-08 11:53:33 +02:00
Ludovic Courtès
ad8beb6325
lint: Add '-e'.
* guix/scripts/lint.scm (show-help, %options): Add '-e'.
(guix-lint): Call 'specification->package' while traversing OPTS.  Add
case for 'expression pair.  Adjust 'for-each' loop to expect packages.
* doc/guix.texi (Invoking guix lint): Document it.
2022-08-08 11:22:31 +02:00
Ludovic Courtès
6e5a1e2a62
doc: Add reference to "Writing Manifests".
* doc/guix.texi (Defining Package Variants): Rewrite to "Writing
Manifests" rather than the 'profile-manifest' anchor.
2022-08-06 23:14:41 +02:00
Tobias Geerinckx-Rice
79fbe4f524
doc: Fix typo.
* doc/guix.texi (X Window): Fix ‘string-apppend’ typo.
2022-07-31 02:00:12 +02:00
Ludovic Courtès
f9a267c6d2
doc: Fix Guix manual URLs in 'htmlxref.cnf'.
Fixes a regression introduced in
868da34d54.

* doc/htmlxref.cnf (GUIX): Remove "/guix".
2022-08-05 00:14:29 +02:00
Maxim Cournoyer
a2b89a3319
services: configuration: Step back from *unspecified*.
Fixes <https://issues.guix.gnu.org/56799>.

This partially reverts 8cb1a49a39.

Rationale: *unspecified* cannot be serialized thus used as a G-Expression
input, which is problematic/inconvenient when using deeply nested records.  As
an example, jami-service-type was broken when using partially defined
<jami-account> records.

* gnu/services/configuration.scm (define-maybe-helper): Check against the
'unset symbol.
(normalize-field-type+def): Adjust value to 'unset.
(define-configuration-helper): Use 'unset as the default value thunk.
* gnu/services/file-sharing.scm (serialize-maybe-string): Check against the
'unset symbol.
(serialize-maybe-file-object): Likewise.
* gnu/services/messaging.scm (define-all-configurations): Use 'unset as
value.
(raw-content?): Check against 'unset symbol.
(prosody-configuration)[http-max-content-size]: Default to 'unset.
[http-external-url]: Likewise.
[mod-muc]: Likewise.
[raw-content]: Likewise.
* gnu/services/networking.scm (opendht-configuration): Adjust documentation.
* gnu/services/telephony.scm (jami-shepherd-services): Replace *undefined*
with the 'unset symbol.
* tests/services/configuration.scm ("maybe type, no default"): Check against
the 'unset symbol.
* doc/guix.texi: Regenerate the opendht-configuration,
openvpn-client-configuration and openvpn-server-configuration documentation.
2022-08-01 12:49:35 -04:00
Maya
dd3cf14402
services: opensmtpd: Make commands setgid to "smtpq" by default.
This is a patch that fixes "<executable name>: this program must be setgid smtpq".

* gnu/services/mail.scm (<opensmtpd-configuration>)[setgid-commands?]: New field.
(opensmtpd-set-gids): New procedure.
(opensmtpd-service-type)[extensions]: Add SETUID-PROGRAM-SERVICE-TYPE extension.
* doc/guix.texi (Mail Services): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-08-01 14:08:08 +02:00
Ludovic Courtès
7d0ebc467f
services: rottlog: More convenient default options for <log-rotation>.
* gnu/services/admin.scm (%default-log-rotation-options): New variable.
(%default-rotations): Use it.
* gnu/services/cuirass.scm (cuirass-log-rotations): Likewise.
* doc/guix.texi (Log Rotation): Adjust accordingly.
2022-08-01 00:02:04 +02:00
Ludovic Courtès
4de445f3da
guix gc: '--delete-generations' now deletes old Home generations.
This reverts commit 24c0518dd4,
thereby reinstating ba22560627, with an
additional fix in (guix self).

Fixes <https://issues.guix.gnu.org/56722>.
Reported by "(" <paren@disroot.org>.

* guix/scripts/gc.scm (guix-gc)[delete-generations]: Add call to
'home-generation-base'.
* guix/self.scm (compiled-guix)[*core-cli-modules*]: Remove (guix
scripts gc).
* doc/guix.texi (Invoking guix gc): Document the change.
2022-08-01 00:02:04 +02:00
Marius Bakke
6a3ed96af7
Merge branch 'staging' into core-updates 2022-07-27 17:53:05 +02:00
Marius Bakke
9044b086dd
Merge branch 'staging' into core-updates 2022-07-22 01:09:14 +02:00
Ricardo Wurmus
be7b314f3f
import: Enable recursive import for texlive packages.
* guix/import/texlive.scm (tlpdb->package): Add VERSION argument; include
explicit version field in output.
(texlive->guix-package): Set default value for VERSION argument; adjust call
of tlpdb->package.
(texlive-recursive-import): Accept REPO and VERSION keyword arguments.
* guix/import/utils.scm (package->definition): Add a clause to deal with
output from tlpdb->package.
* guix/scripts/import/texlive.scm (%options): Add "recursive" option.
(guix-import-texlive): Honor "recursive" option.
* doc/guix.texi (Using TeX and LaTeX): Mention "recursive" option.
2022-07-19 23:49:42 +02:00
Antero Mejr
95acd67dd3
system: Add -I, --list-installed option.
* guix/scripts/system.scm (display-system-generation): Add
 #:list-installed-regex and honor it.
(list-generations): Likewise.
(show-help, %options): Add "--list-installed".
(process-command): For 'describe' and 'list-generation', honor the
'list-installed option.
* doc/guix.texi (Invoking Guix System): Add information for
--list-installed flag.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-07-19 18:54:42 +02:00
Antero Mejr
55725724dd
home: Add -I, --list-installed option.
* guix/scripts/package.scm (list-installed): New procedure.
* guix/scripts/home.scm (%options, show-help): Add '--list-installed'.
(process-command): For 'describe' and 'list-generations', honor the
'list-installed option.
(display-home-environment-generation): Add #:list-installed-regex and
honor it.
(list-generations): Likewise.
* guix/scripts/utils.scm (pretty-print-table): New argument "left-pad".
* doc/guix.texi (Invoking Guix Home): Add information and example for
--list-installed flag.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-07-19 18:54:42 +02:00
Rostislav Svoboda
969e86784b
doc: Fix the example of "Run make automatically"
* doc/contributing.texi (Running Guix Before It Is Installed): add missing
command separator '--'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-07-18 00:21:31 +02:00
Ludovic Courtès
fa65e645e9
doc: Tweak.
* doc/guix.texi (Using Guix Interactively): Add @cindex commands.  Add
missing word.
2022-07-18 00:21:30 +02:00
Tobias Geerinckx-Rice
24c0518dd4
Revert "guix gc: '--delete-generations' now deletes old Home generations."
This reverts commit ba22560627.
2022-07-17 02:00:00 +02:00
Ludovic Courtès
6c42db8351
doc: Clarify "Replicating Guix" section.
* doc/guix.texi (Specifying Additional Channels): Replace 'guix pull
--list-generations' example with 'guix describe'.
(Replicating Guix): Rewrite to insist on 'guix describe', to include
an example capturing channels and another one restoring them, and
mention "lock files".
2022-07-23 00:39:57 +02:00
Ludovic Courtès
ba22560627
guix gc: '--delete-generations' now deletes old Home generations.
Previously, 'guix gc -d4m' would ignore Home generations.  With this
change, they are treated like profiles and generations that match the
pattern are deleted.

* guix/scripts/gc.scm (guix-gc)[delete-generations]: Add call to
'home-generation-base'.
* doc/guix.texi (Invoking guix gc): Document the change.
2022-07-23 00:39:55 +02:00
Ludovic Courtès
4ce7f1fb24
monad-repl: Add "build", "lower", and "verbosity" commands.
Fixes <https://issues.guix.gnu.org/56114>.
Reported by Maxime Devos <maximedevos@telenet.be>.

* guix/monad-repl.scm (%build-verbosity): New variable.
(evaluate/print-with-store): New procedure.
(run-in-store): Rewrite in terms of 'evaluate/print-with-store'.
(verbosity, lower, build): New meta-commands.
* doc/guix.texi (Using Guix Interactively): New node.
(The Store Monad): Link to it.
(Invoking guix repl): Likewise.
* doc/contributing.texi (Running Guix Before It Is Installed): Refer to
it.
(The Perfect Setup): Suggest 'guix install' rather than 'guix package -i'.
2022-07-15 17:36:57 +02:00
Ludovic Courtès
5f8adea86c
doc: Add example of 'bash-extension'.
* doc/guix.texi (Shells Home Services): Add 'bash-extension' example.
2022-07-14 01:05:34 +02:00
Ludovic Courtès
6cd6753218
doc: Prefer "guix show" over "guix package --show".
* doc/contributing.texi (Synopses and Descriptions): Use "guix show"
instead of "guix package --show".
2022-07-13 00:20:06 +02:00
Reily Siegel
8d922504b2
gnu: home: Add Guix channels service.
* gnu/home/services/guix.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add guix.scm.
* doc/guix.texi: Add documentation for home-channels-service.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-07-12 01:17:46 +02:00
Maxim Cournoyer
5ecbf5b163
doc: Fix cross-reference to Git Info manual.
Partially fixes <https://issues.guix.gnu.org/55821>.  Partially because our
git package doesn't yet include the documentation.  This change will need to
go to core-updates.

* doc/contributing.texi (Submitting Patches): Adjust the node name.
2022-07-11 17:21:55 -04:00
Ludovic Courtès
9100acb6fb
doc: cookbook: Link to "A Scheme Primer".
* doc/guix-cookbook.texi (A Scheme Crash Course): Link to "A Scheme
Primer".  Group references in @quotation for clarity.
2022-07-08 17:28:50 +02:00
Ludovic Courtès
da7bee91fa
doc: cookbook: Suggest 'guix shell'.
* doc/guix-cookbook.texi (A Scheme Crash Course): Suggest 'guix shell'
instead of 'guix environment'.
(Customizing the Kernel, The benefits of manifests): Likewise.
2022-07-08 17:28:50 +02:00
jgart
e103d61485
doc: Document the documentation process.
* doc/contributing.texi (Contributing): Add Writing Documentation section.

Co-authored-by: Julien Lepiller <julien@lepiller.eu>
Co-authored-by: Matt Trzcinski <matt@excalamus.com>
Co-authored-by: Fabio Natali <me@fabionatali.com>
Co-authored-by: Gabor Boskovits <boskovits@gmail.com>
Co-authored-by: Luis Felipe <luis.felipe.la@protonmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-07-07 14:40:50 -04:00
Ludovic Courtès
ef97576972
doc: Document the 'validate-runpath' phase.
* doc/guix.texi (Build Systems): Replace paragraph about RUNPATH
validation with a cross-reference.
(Build Phases): Add 'validate-runpath' phase, with the paragraph taken
above.
2022-07-05 16:56:04 +02:00
Hartmut Goebel
a3d86b341d
style: Add option '--list-stylings'.
* guix/scripts/style.scm (show-stylings): New procedure.
  (%options, show-help): Add "--list-stylings".
* doc/guix.texi (Invoking guix style): Document "-l".
2022-07-04 16:13:13 +02:00
Ricardo Wurmus
cba98b58bf
services: Add anonip-service-type.
* gnu/services/web.scm (anonip-configuration): New record type.
(anonip-configuration?, anonip-configuration-anonip,
anonip-configuration-input, anonip-configuration-output,
anonip-configuration-skip-private?, anonip-configuration-column,
anonip-configuration-replacement, anonip-configuration-ipv4mask,
anonip-configuration-ipv6mask, anonip-configuration-increment,
anonip-configuration-delimiter, anonip-configuration-regex): New procedures.
(anonip-service-type): New service type.
* doc/guix.texi (Log Rotation): Add subheading for Anonip Service.
2022-07-03 14:12:32 +02:00
Ludovic Courtès
e7ab3d33ae
challenge: Do nothing when passed zero arguments.
Previously, 'guix challenge' without arguments would list live store
items that had been locally built.  This was deemed confusing,
especially since 'list-live' is an expensive operation.

* guix/scripts/challenge.scm (guix-challenge): Warn and exit with 0 when
FILES is empty.
* doc/guix.texi (Invoking guix challenge): Update accordingly.
2022-07-03 01:41:06 +02:00
Christopher Baines
b5c6062bce
services: nginx: Add support for extra content in upstream blocks.
I'm looking at this as I'd like to use the keepalive functionality.

* gnu/services/web.scm (nginx-upstream-configuration-extra-content): New
procedure.
(emit-nginx-upstream-config): Include the extra-content if applicable.
* doc/guix.texi (NGINX): Document this.
2022-07-01 09:45:28 +01:00
Christopher Baines
09aeabb9d3
services: guix: Support guix-build-coordinator parallel hooks.
* gnu/services/guix.scm (guix-build-coordinator-configuration-parallel-hooks):
New procedure.
(make-guix-build-coordinator-start-script): Accept and use #:parallel-hooks.
(guix-build-coordinator-shepherd-services): Pass parallel-hooks to
make-guix-build-coordinator-start-script.
* doc/guix.texi (Guix Build Coordinator): Document this new field.
2022-07-01 09:45:28 +01:00
Marius Bakke
2a7648774f
Merge branch 'master' into core-updates 2022-06-27 19:23:48 +02:00
Ludovic Courtès
d9d77d9479
doc: Update "updating substitutes" message.
This is a followup to 2bf9351e31.

* doc/guix.texi (Invoking guix challenge)
(Invoking guix weather): Adjust "updating substitutes" message.
2022-06-26 23:19:13 +02:00
Ludovic Courtès
8655a71445
Merge branch master into core-updates 2022-06-22 18:48:00 +02:00
Ludovic Courtès
6337f62dde
doc: Show (service ...) form in 'home-openssh-service-type' example.
* doc/guix.texi (Secure Shell): Include the (service ...) form in the
example.
2022-06-19 23:14:56 +02:00
Ludovic Courtès
dc16ac2d8b
doc: Mention installation via distro packages.
* doc/guix.texi (Binary Installation): In quotation, mention Debian,
Ubuntu, and openSUSE.
2022-06-24 23:18:21 +02:00
Ludovic Courtès
6505f727e1
services: configuration: Remove 'validate-configuration'.
Now that configuration records use the 'sanitize' property for each
field, 'validate-configuration' has become useless because it's
impossible to construct an invalid configuration record.

* gnu/services/configuration.scm (validate-configuration): Remove.
* gnu/services/mail.scm (dovecot-service): Remove call.
* gnu/services/vpn.scm (openvpn-client-service)
(openvpn-server-service): Likewise.
* doc/guix.texi (Complex Configurations): Remove documentation.
2022-06-24 23:18:21 +02:00
swedebugia
3e7b6dd149
doc: Fix formatting of notes in multiple sections.
* doc/guix.texi (Instantiating the system): Add suggestion to keep
config.scm under version control.
(Printing Services, Messaging Services)
(Telephony Services, Invoking guix system): Use "@quotation Note" for notes.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-06-24 23:18:19 +02:00
Maxim Cournoyer
3cdfad5cd8
doc: Fix typo.
* doc/guix.texi (Networking Setup): Fix typo.
2022-06-23 20:34:32 -04:00
Ludovic Courtès
2327bf41d9
doc: Expound description of the <package> 'arguments' field.
* doc/guix.texi (package Reference): Augment description of the
'arguments' field.
2022-06-23 23:20:55 +02:00
Ludovic Courtès
054937f17d
doc: Remove trailing #t in example.
* doc/guix.texi (Build Phases): Remove trailing #t in example.
2022-06-23 23:20:55 +02:00
Ludovic Courtès
bdf4221767
refresh: Repurpose '-L' for '--load-path'.
This incompatible change fixes an inconsistency with other commands
where '-L' is short for '--load-path'.

* guix/scripts/refresh.scm (%options): Add --load-path option from
%STANDARD-BUILD-OPTIONS.  Remove #\L shortcut for --list-updaters, and
remove --load-path option that lacked the #\L shortcut.
(show-help): Update accordingly.
* doc/guix.texi (Invoking guix refresh): Update accordingly.
2022-06-22 23:43:22 +02:00
Ludovic Courtès
7f208f68de
home: Add OpenSSH service.
* gnu/home/services/ssh.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* doc/guix.texi (Secure Shell): New section.
2022-06-17 23:39:32 +02:00
muradm
d6dda325c1
gnu: desktop: Add seatd-service-type.
* gnu/services/desktop.scm (seatd-service-type): New variable
* gnu/services/desktop.scm (seatd-configuration): New data type

Signed-off-by: Lars-Dominik Braun <ldb@leibniz-psychology.org>
2022-06-17 10:30:43 +02:00
muradm
530e0f0260
gnu: base: Add greetd-service-type.
* gnu/services/base.scm (greetd-service-type): New variable
* gnu/services/base.scm (greetd-configuration): New data type
* gnu/services/base.scm (greetd-terminal-configuration): New data type
* gnu/services/base.scm (greetd-agreety-session): New data type
* gnu/services/base.scm (pam-limits-service-type): Should be aware of
greetd PAM service
* gnu/services/pam-mount.scm (pam-mount-pam-service): Should be aware
of greetd PAM service

Signed-off-by: Lars-Dominik Braun <ldb@leibniz-psychology.org>
2022-06-17 10:30:41 +02:00
Maxim Cournoyer
ec7a750344
doc: Remove obsolete comment from htmlxref.cnf.
This is follow up to <https://issues.guix.gnu.org/55290>.

* doc/htmlxref.cnf (geiser): Delete obsolete comment.
2022-06-16 21:52:49 -04:00
Maxim Cournoyer
1cde647cc0
doc: Use a minimal texlive profile in build.scm.
* doc/build.scm (pdf-manual) <texinfo-profile>: New variable.
<PATH>: Define in terms of the above.
<GUIX_TEXMF>: New environment variable.
2022-06-15 17:24:46 -04:00
Tobias Geerinckx-Rice
5c0ef02db9
doc: Substitute ‘copy’ for confusing ‘drop’.
* doc/guix.texi (Build Environment Setup): ‘drop in’ → ‘copy to’.

Reported by lechner in #guix.
2022-06-12 02:00:00 +02:00
Hartmut Goebel
0d9f1f15cb
import: Add hex.pm importer.
hex.pm is a package repository for Erlang and Elixir.

* guix/scripts/import.scm (importers): Add "hexpm".
* guix/scripts/import/hexpm.scm, guix/import/hexpm.scm,
  guix/hexpm-download.scm: New files.
* guix/import/utils.scm (source-spec->object): Add "hexpm-fetch" to list of
  fetch methods.
* guix/upstream.scm (package-update/hexpm-fetch): New function.
  (%method-updates) Add it.
* Makefile.am: Add them.
2022-06-15 10:18:34 +02:00
Hartmut Goebel
97586ca1cb
build-system: Add 'rebar-build-system'.
* guix/build-system/rebar.scm, guix/build/rebar-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Update rebar-build-system section.
2022-06-15 10:17:25 +02:00
Attila Lendvai
713d140750
doc: Follow the 'disabled -> *unspecified* configuration refactor.
* doc/guix.texi (Networking Services)
(Messaging Services)
(Telephony Services)
(File-Sharing Services)
(VPN Services)
(Power Management Services)
(Complex Configurations)
(Desktop Home Services): Remove mentions of the 'disabled symbol or
replace them by *unspecified*, depending on context.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-06-15 00:25:21 +02:00
Maxim Cournoyer
4e93ca70da
doc: Document how to repair Guix System from a chroot.
* doc/guix.texi (System Troubleshooting Tips): New chapter.
2022-06-14 15:19:35 -04:00
Maxim Cournoyer
a860a5fa95
services: dbus: Add a VERBOSE? configuration option.
* gnu/services/dbus.scm (<dbus-configuration>)[verbose?]: New field.
(dbus-shepherd-service): Use it.
(dbus-service)[verbose?]: Add argument and update doc.
* doc/guix.texi (Desktop Services): Document it.
2022-06-14 14:23:21 -04:00
terramorpha
fcad622648
services: guix: Generalize extensions.
* gnu/services/base.scm (<guix-extension>): New record type.
(guix-extension-merge): New procedure.
(guix-service-type): Honor extensions.
* doc/guix.texi (Base Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-06-13 12:27:35 +02:00
Ludovic Courtès
8c3e9da13a
Merge branch 'master' into core-updates 2022-06-08 14:46:24 +02:00
Tobias Geerinckx-Rice
aeca46ae0f
doc: Remove left-over MIPS.
* doc/guix.texi (Additional Build Options): Substitute aarch64 for MIPS.
2022-06-05 02:00:00 +02:00
Karl Hallsby
618f665a5f
bootloader: grub: Add removable grub-efi bootloader option.
For single-disk installs (external USBs) and for amnesiac UEFIs, Guix is not
found using its default Grub EFI bootloader location of
/boot/efi/EFI/Guix/grubx64.efi means the Guix install will not be found.

To handle this, we can place the bootloader file in the UEFI specification
location, overwriting any other OS that may have placed a file there. This
location is namely /boot/efi/EFI/BOOT/BOOTX64.efi. Grub has explicit support
for this location/situation with the `--removable` flag.

* gnu/bootloader/grub.scm (install-grub-efi-removable)
(grub-efi-removable-bootloader): New variables.
* doc/guix.texi (Bootloader Configuration): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-06-06 22:43:30 +02:00
Josselin Poiret
a99015c878
system: Align zram priority with swap-space spec to clarify.
Fixes <https://issues.guix.gnu.org/54783>.

* gnu/services/linux.scm (zram-device-configuration)
[priority]: Adapt to use #f or an integer from 0 to 32767.  Add sanitizer to
warn for the change and delay the field.
(zram-device-configuration->udev-string): Adapt as above.
* doc/guix.texi (Zram Device Service): Remove double copyright line.
Change priority description to refer to the Swap Space one, and suggest not
leaving the default #f on to properly use zram.

Reported-by: Stefan Baums <baums@stefanbaums.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-06-11 00:57:13 -04:00
Maxim Cournoyer
8649ac5eaa
services: jami-configuration: Rename 'jamid' field to 'libjami'.
* gnu/services/telephony.scm (gnu):
(jami-configuration)[jamid]: Rename field to...
[libjami]: ... this.
(jami-configuration->command-line-arguments): Adjust accordingly.
(jami-shepherd-services): Likewise.
2022-06-10 23:52:34 -04:00
Maxim Cournoyer
85b4dabd94
services: jami: Modernize to adjust to Shepherd 0.9+ changes.
This partially fixes <https://issues.guix.gnu.org/54786>, allowing the 'jami'
and 'jami-provisioning' system tests to pass again.

In version 0.9.0, Shepherd constructors are now run concurrently, via
cooperative scheduling (Guile Fibers).  The Jami service previously relied on
blocking sleeps while polling for D-Bus services to become ready after forking
a process; this wouldn't work anymore since while blocking the service process
wouldn't be given the chance to finish starting.  The new reliance on Fibers
in Shepherd's fork+exec-command in the helper 'send-dbus' procedure also meant
that it wouldn't work outside of Shepherd anymore.  Finally, the
'start-service' Shepherd procedure used in the test suite would cause the Jami
daemon to be spawned multiple times (a bug introduced in Shepherd 0.9.0).

To fix/simplify these problems, this change does the following:

1. Use the Guile AC/D-Bus library for D-Bus communication, which simplify
things, such as avoiding the need to fork 'dbus-send' processes.

2. The non-blocking 'sleep' version of Fiber is used for the 'with-retries'
waiting syntax.

3. A 'dbus' package variant is used to adjust the session bus configuration,
tailoring it for the use case at hand.

4. Avoid start-service in the tests, preferring 'jami-service-available?' for
now.

* gnu/build/jami-service.scm (parse-dbus-reply, strip-quotes)
(deserialize-item, serialize-boolean, dbus-dict->alist)
(dbus-array->list, parse-account-ids, parse-account-details)
(parse-contacts): Delete procedures.
(%send-dbus-binary, %send-dbus-bus, %send-dbus-user, %send-dbus-group)
(%send-dbus-debug): Delete parameters.
(jami-service-running?): New procedure.
(send-dbus/configuration-manager): Rename to...
(call-configuration-manager-method): ... this.  Turn METHOD into a positional
argument.  Turn ARGUMENTS into an optional argument.  Invoke
`call-dbus-method' instead of `send-dbus', adjusting callers accordingly.
(get-account-ids, id->account-details, id->account-details)
(id->volatile-account-details, username->id, add-account remove-account)
(username->contacts, remove-contact, add-contact, set-account-details)
(set-all-moderators, username->all-moderators?, username->moderators)
(set-moderator): Adjust accordingly.
(with-retries, send-dbus, dbus-available-services)
(dbus-service-available?): Move to ...
* gnu/build/dbus-service.scm: ... this new module.
(send-dbus): Rewrite to use the Guile AC/D-Bus library.
(%dbus-query-timeout, sleep*): New variables.
(%current-dbus-connection): New parameter.
(initialize-dbus-connection!, argument->signature-type)
(call-dbus-method): New procedures.
(dbus-available-services): Adjust accordingly.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register new module.
* gnu/packages/glib.scm (dbus-for-jami): New variable.
* gnu/services/telephony.scm: (jami-configuration)[dbus]: Default to
dbus-for-jami.
(jami-dbus-session-activation): Write a D-Bus daemon configuration file at
'/var/run/jami/session-local.conf'.
(jami-shepherd-services): Add the closure of guile-ac-d-bus and guile-fibers
as extensions.  Adjust imported modules.  Remove no longer used parameters.
<jami-dbus-session>: Use a PID file, avoiding the need for the manual
synchronization.
<jami>:  Set DBUS_SESSION_BUS_ADDRESS environment variable.  Poll using
'jami-service-available?' instead of 'dbus-service-available?'.
* gnu/tests/telephony.scm (run-jami-test): Add needed Guile extensions.  Set
DBUS_SESSION_BUS_ADDRESS environment variable.  Adjust all tests to use
'jami-service-available?' to determine if the service is started rather than
the now problematic Shepherd's 'start-service'.
2022-06-10 23:52:33 -04:00
Andrew Tropin
d859d8873c
doc: Update example of a minimalistic home environment.
* doc/he-config-bare-bones.scm: Adujst example according to changes in
bash-service-type and home-files-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-06-10 22:42:49 +02:00
Tobias Geerinckx-Rice
7fe382892a
doc: Expand ‘setuid-root’-only references.
* doc/guix.texi (Setuid Programs, Service Reference):
Don't assume setuid-root as the only possibility.
2022-06-05 02:00:08 +02:00
Tobias Geerinckx-Rice
245703df68
gnu: cups-minimal, cups: Update to 2.4.2.
* gnu/packages/cups.scm (cups-minimal, cups): Update to 2.4.2.
[arguments]: Remove --disable-* #:configure-flags as they do nothing.
Add (different) --without-* ones that do.
Run a newly passing test; skip a newly failing test.
[home-page]: Link to specific subdirectory.
[description]: Better describe the state & direction of the project.
* gnu/services/cups.scm (comma-separated-string-list-or-#f?)
(serialize-comma-separated-string-list-or-#f): New procedures.
(cups-configuration): Update <default-auth-type> and
<browse-dns-sd-sub-types> defaults.
Remove obsolete <classification>, <listen-back-log>, <page-log-format>
and <rip-cache> fields.
Add new <max-subscriptions>, <max-subscriptions-per-job>,
<max-subscriptions-per-printer>, <max-subscriptions-per-user>, and
<ready-paper-sizes> ones.
* doc/guix.texi (Desktop Services): Likewise for their documentation.
2022-05-29 02:00:12 +02:00
zimoun
e584e58e92
doc: Use new-style command substitution.
Follow up of beaf701d65.

* doc/guix.texi: Replace the shell old-style command substitution with
the new-style one.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2022-06-05 13:38:46 +02:00
Ludovic Courtès
35c1edb20a
guix home: Add 'edit' sub-command.
* guix/scripts/home/edit.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/home.scm (show-help): Add "edit".
(process-command): Handle it.
(guix-home): Add it.
* po/guix/POTFILES.in: Add 'guix/scripts/home/edit.scm'.
* doc/guix.texi (Invoking guix home): Document it.
2022-06-04 12:04:24 +02:00
Ludovic Courtès
3f83c0b7c7
guix system: Add 'edit' sub-command.
* guix/scripts/system/edit.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/system.scm (show-help): Mention "edit".
(actions): Add it.
(process-command): Handle it.
* doc/guix.texi (Invoking guix system): Document it.
* po/guix/POTFILES.in: Add guix/scripts/system/edit.scm.
2022-06-04 12:04:24 +02:00
Ludovic Courtès
c332f1f4fb
doc: Capitalize and tweak cross-compilation-related node names.
* doc/guix.texi (Using cross-compilation): Rename to...
(Cross-Compilation): ... this.
(Using native builds): Rename to...
(Native Builds): ... this.  Adjust menus accordingly.
2022-06-04 12:04:23 +02:00
Ludovic Courtès
582b4bb4ce
doc: cookbook: Refer to the "Writing Manifests" manual node.
* doc/guix-cookbook.texi (Basic setup with manifests): Tweak
introductory paragraph.  Refer to the new "Writing Manifests" node of
the manual.
2022-06-01 23:28:20 +02:00
Maxim Cournoyer
edac21bfc7
gnu: Remove wicd.
The last release is from 2017, stuck on Python 2.

* gnu/packages/wicd.scm: Delete file.
* gnu/packages/patches/wicd-bitrate-none-fix.patch: Delete file.
* gnu/packages/patches/wicd-get-selected-profile-fix.patch: Likewise.
* gnu/packages/patches/wicd-urwid-1.3.patch: Likewise.
* gnu/packages/patches/wicd-wpa2-ttls.patch: Likewise.
* gnu/local.mk: De-register them.
* gnu/services/networking.scm: Remove wicd service...
* doc/guix.texi: ... and its documentation.
* gnu/system/linux-container.scm (containerized-operating-system)
<services-to-drop>: Remove wicd-service-type.
2022-05-31 14:53:42 -04:00
Tobias Geerinckx-Rice
7649327da7
doc: Fix typos.
* doc/guix.texi (Guix Services): Fix ‘coresponding’ typo.
(Using cross-compilation): Fix ‘mecanism’ typo.
(Desktop Services): Fix ‘superceeded’ typo.
* doc/contributing.texi (Translating Guix): Fix ‘everytime’ typo.
2022-05-22 02:00:00 +02:00
Mathieu Othacehe
d2c06bf2ff
platforms: Remove the s390x platform.
Turns out this platform doesn't have a bootstrap tarball and should be
considered as not supported for now.

* guix/platforms/s390.scm: Remove it.
* Makefile.am (MODULES): Adapt it.
* doc/guix.texi (Foreign Architectures): Ditto.
2022-05-25 17:11:32 +02:00
Christopher Baines
c4ad275709
gnu: guix-build-coordinator: Update to 0-53.3de63f1.
* gnu/packages/package-management.scm (guix-build-coordinator): Update to
0-53.3de63f1.
* gnu/services/guix.scm (guix-build-coordinator-queue-builds-configuration-guix-data-service-build-server-id):
New procedure.
(guix-build-coordinator-queue-builds-shepherd-services): Use the guix-data-service-build-server-id.
* doc/guix.texi (Guix Build Coordinator): Document the new queue builds
configuration field.
2022-05-25 09:20:03 +01:00
Mathieu Othacehe
436afdfe46
doc: Improve the Foreign Architectures section.
* doc/guix.texi (Foreign Architectures): Capitalize the chapter title, remove
most of "GNU Guix" occurences and other small improvements.
2022-05-25 09:46:15 +02:00
Josselin Poiret
dab819d5c4
Move (gnu platform) and (gnu platforms ...) to guix/.
* gnu/platform.scm:
* gnu/platforms/arm.scm:
* gnu/platforms/hurd.scm:
* gnu/platforms/mips.scm:
* gnu/platforms/powerpc.scm:
* gnu/platforms/riscv.scm:
* gnu/platforms/s390.scm:
* gnu/platforms/x86.scm: Move to guix/.

* Makefile.am:
* doc/guix.texi (Porting to a New Platform):
* etc/release-manifest.scm:
* gnu/ci.scm:
* gnu/image.scm:
* gnu/local.mk:
* gnu/packages/bioinformatics.scm:
* gnu/packages/bootstrap.scm:
* gnu/packages/cross-base.scm:
* gnu/packages/instrumentation.scm:
* gnu/packages/linux.scm:
* gnu/system/image.scm:
* gnu/system/images/hurd.scm:
* gnu/system/images/novena.scm:
* gnu/system/images/pine64.scm:
* gnu/system/images/pinebook-pro.scm:
* gnu/system/images/rock64.scm:
* guix/scripts/build.scm:
* guix/scripts/system.scm:
* guix/self.scm: Update (gnu platform...) to (guix platform...).

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-05-25 09:27:25 +02:00
Mathieu Othacehe
a4aa13c02f
doc: Add a 'Foreign architectures' chapter.
* doc/guix.texi ("Foreign architectures"): New chapter.
2022-05-22 15:15:34 +02:00
Mathieu Othacehe
b55310603f
linux: Remove system->linux-architecture procedure.
* gnu/packages/linux.scm (system->linux-architecture): Remove it.
(make-linux-libre-headers*, make-linux-libre*): Adapt them.
* guix/build-system/linux-module.scm (system->arch): Adapt it.
* gnu/packages/instrumentation.scm (uftrace): Ditto.
* gnu/packages/cross-base.scm (cross-kernel-headers): Ditto.
* gnu/packages/bioinformatics.scm (ncbi-vdb): Ditto.
* doc/guix.texi (Porting to a new platform): Update it.
2022-05-22 15:15:33 +02:00
Mathieu Othacehe
ec42d287b4
scripts: Add --list-systems and --list-targets options.
Also factorize the --system and --target build options. Check that the passed
system and target arguments are known platforms.

* doc/guix.texi (Additional Build Options): Document the new --list-systems
and --list-targets options.
* guix/scripts/build.scm (show-cross-build-options-help,
show-emulated-build-options-help, list-systems, list-targets): New procedures.
(%standard-cross-build-options, %standard-emulated-build-options): New
variables.
(show-help): Remove --system and --target entries and use
show-cross-build-options-help and show-emulated-build-options-help procedures instead.
(%options): Remove --system and --target entries and use
%standard-cross-build-options and %standard-emulated-build-options variables instead.
* guix/scripts/archive.scm (show-help, %options): Adapt them.
* guix/scripts/environment.scm: Ditto.
* guix/scripts/graph.scm: Ditto.
* guix/scripts/pack.scm: Ditto.
* guix/scripts/pull.scm: Ditto.
* guix/scripts/size.scm: Ditto.
* guix/scripts/weather.scm: Ditto.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-05-22 15:15:33 +02:00
Philip McGrath
b6c0f18dee
gnu: Add elm-todomvc.
* gnu/packages/elm.scm (elm-todomvc): New variable.
* doc/guix.texi (Build Systems)[elm-build-system]: Mention it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-22 01:07:55 +02:00
Philip McGrath
9885c2fd07
gnu: elm: Support 'elm reactor'.
* gnu/packages/elm.scm (elm): Rename to ...
(elm-sans-reactor): ... this new variable.
[synopsis, description]: Tweak.
(elm): New variable.
* guix/build-system/elm.scm (default-elm): Use elm-sans-reactor.
* doc/guix.texi (Build Systems)[elm-build-system]: Update accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-22 01:07:54 +02:00
Philip McGrath
903c82583e
import: Add Elm importer.
* guix/import/elm.scm, guix/scripts/import/elm.scm: New files.
* Makefile.am (MODULES): Add them.
* guix/scripts/import.scm (importers): Add "elm".
* doc/guix.texi (Invoking guix import): Document Elm importer.
* doc/contributing.texi (Elm Packages): Mention it.
* tests/elm.scm ("(guix import elm)"): New test group.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-22 01:07:52 +02:00
Philip McGrath
aefcfdd0ae
guix: Add elm-build-system.
* gnu/packages/patches/elm-offline-package-registry.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/elm.scm (elm): Use it.
* guix/build-system/elm.scm, guix/build/elm-build-system.scm,
tests/elm.scm: New files.
* Makefile.scm (MODULES, SCM_TESTS): Add them.
* doc/guix.texi (Build Systems): Document 'elm-build-system'.
* doc/contributing.texi (Elm Packages): New section. Document naming
conventions and utilities.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-22 01:07:51 +02:00
Tobias Geerinckx-Rice
fac0e3cb80
doc: Remove duplicate sddm-configuration.
* doc/guix.texi (X Window): Remove duplicate sddm-configuration @deftp,
after merging the better parts into the remaining one.

Reported by dgcampea in #guix.
2022-05-15 02:00:00 +02:00
Liliana Marie Prikler
131acaa28d
doc: Clarify guix shell's DWIM behaviour.
* doc/guix.texi ("Invoking guix shell"): Document the exact behaviour, that is
which flags go together with which file names.
2022-05-17 21:08:56 +02:00
Ludovic Courtès
4fdd091cf3
doc: Fix typos in the "Channels" chapter.
* doc/guix.texi (Using a Custom Guix Channel)
(Replicating Guix): Fix typos.
2022-05-16 15:48:08 +02:00
Jan (janneke) Nieuwenhuizen
33253b562a
doc: Fix "Full-Source Bootstrap" title case.
* doc/guix.texi (Full-source Bootstrap): Rename to...
(Full-Source Bootstrap): ...this.
2022-05-14 19:02:03 +02:00
Maxime Devos
89a2eb25c3
search-paths: Define $SSL_CERT_DIR and $SSL_CERT_FILE.
For the ‘why’, see the docstring next to $SSL_CERT_DIR.  In later commits,
packages will be changed to use these variables and the variables will be
added to more packages.

* guix/search-paths.scm ($SSL_CERT_DIR, $SSL_CERT_FILE): New variables.
* doc/guix.texi (Search Paths): Document them.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-13 17:15:37 +02:00
Ludovic Courtès
c99c3d11cd
doc: Add "Writing Manifests" node.
* doc/guix.texi (Invoking guix package): Remove explanation of
'specifications->manifest' and 'package->development-manifest'.  Link to
"Writing Manifests".
(Inferiors): Likewise.
(Invoking guix shell): Add anchor and link to 'package->development-manifest'.
(Invoking guix pack): Likewise.
(Writing Manifests): New section.
(Using TeX and LaTeX): Link to "Writing Manifests".
2022-05-13 17:04:22 +02:00
Jan (janneke) Nieuwenhuizen
eeba993f57
doc: Add the "Full-source Bootstrap".
* doc/guix.texi (Reduced Binary Seed Bootstrap): Update and rename to...
(Full-Source Bootstrap): ...this.
* doc/images/gcc-core-mesboot0-graph.dot: Regenerate.
2022-05-12 19:27:59 +02:00
Tobias Geerinckx-Rice
5fdc955615
doc: Avoid leading ‘But’.
* doc/guix.texi (Manual Installation): End sentence later.
2022-05-08 02:00:00 +02:00
Christopher Baines
e32cc011bb
services: nar-herder: Allow specifying the log level.
* gnu/services/guix.scm (nar-herder-configuration-log-level): New procedure.
(nar-herder-shepherd-services): Pass the log-level to the nar-herder process.
* doc/guix.texi (Nar Herder): Document configuring the log-level.
2022-04-22 15:31:42 +01:00
Ludovic Courtès
5f74169e8e
daemon: Support systemd-style socket activation.
* nix/nix-daemon/guix-daemon.cc (SD_LISTEN_FDS_START): New macro.
(systemd_activation_sockets): New function.
(main): Use it.  Remove obsolete 'printMsg' call.
* doc/guix.texi (Invoking guix-daemon): Document socket activation.
2022-04-14 14:48:20 +02:00
Ludovic Courtès
b9233cb9a8
publish: Support systemd-style socket activation.
* guix/scripts/publish.scm (systemd-socket): New procedure.
(guix-publish): Add 'style' variable.  Adjust startup message depending
on whether STYLE is 'systemd.
* doc/guix.texi (Invoking guix publish): Mention socket activation.
2022-04-14 14:48:20 +02:00
Liliana Marie Prikler
42679e3f81
services: Replace murmur-service-type with mumble-server-service-type.
* gnu/services/telephony.scm (murmur-configuration, make-murmur-configuration)
(murmur-configuration?, murmur-configuration-package)
(murmur-configuration-user, murmur-configuration-group)
(murmur-configuration-port, murmur-configuration-welcome-text)
(murmur-configuration-server-password)
(murmur-configuration-max-users)
(murmur-configuration-max-user-bandwidth)
(murmur-configuration-database-file)
(murmur-configuration-log-file, murmur-configuration-pid-file)
(murmur-configuration-autoban-attempts)
(murmur-configuration-autoban-timeframe)
(murmur-configuration-autoban-time)
(murmur-configuration-opus-threshold)
(murmur-configuration-channel-nesting-limit)
(murmur-configuration-channelname-regex)
(murmur-configuration-username-regex)
(murmur-configuration-test-message-length)
(murmur-configuration-image-message-length)
(murmur-configuration-cert-required?)
(murmur-configuration-remember-channel?)
(murmur-configuration-allow-html?)
(murmur-configuration-allow-ping?)
(murmur-configuration-bonjour?)
(murmur-configuration-send-version?)
(murmur-configuration-log-days)
(murmur-configuration-obfuscate-ips?)
(murmur-configuration-ssl-cert murmur-configuration-ssl-key)
(murmur-configuration-ssl-dh-params murmur-configuration-ssl-ciphers)
(murmur-configuration-public-registration)
(murmur-configuration-file)
(murmur-public-registration-configuration)
(make-murmur-public-registration-configuration)
(murmur-public-registration-configuration?)
(murmur-public-registration-configuration-name)
(murmur-public-registration-configuration-url)
(murmur-public-registration-configuration-password)
(murmur-public-registration-configuration-hostname)
(murmur-service-type): Add deprecation alias and rename to ...
(mumble-server-configuration, make-mumble-server-configuration)
(mumble-server-configuration?, mumble-server-configuration-package)
(mumble-server-configuration-user, mumble-server-configuration-group)
(mumble-server-configuration-port, mumble-server-configuration-welcome-text)
(mumble-server-configuration-server-password)
(mumble-server-configuration-max-users)
(mumble-server-configuration-max-user-bandwidth)
(mumble-server-configuration-database-file)
(mumble-server-configuration-log-file, mumble-server-configuration-pid-file)
(mumble-server-configuration-autoban-attempts)
(mumble-server-configuration-autoban-timeframe)
(mumble-server-configuration-autoban-time)
(mumble-server-configuration-opus-threshold)
(mumble-server-configuration-channel-nesting-limit)
(mumble-server-configuration-channelname-regex)
(mumble-server-configuration-username-regex)
(mumble-server-configuration-test-message-length)
(mumble-server-configuration-image-message-length)
(mumble-server-configuration-cert-required?)
(mumble-server-configuration-remember-channel?)
(mumble-server-configuration-allow-html?)
(mumble-server-configuration-allow-ping?)
(mumble-server-configuration-bonjour?)
(mumble-server-configuration-send-version?)
(mumble-server-configuration-log-days)
(mumble-server-configuration-obfuscate-ips?)
(mumble-server-configuration-ssl-cert mumble-server-configuration-ssl-key)
(mumble-server-configuration-ssl-dh-params) (mumble-server-configuration-ssl-ciphers)
(mumble-server-configuration-public-registration)
(mumble-server-configuration-file)
(mumble-server-public-registration-configuration)
(make-mumble-server-public-registration-configuration)
(mumble-server-public-registration-configuration?)
(mumble-server-public-registration-configuration-name)
(mumble-server-public-registration-configuration-url)
(mumble-server-public-registration-configuration-password)
(mumble-server-public-registration-configuration-hostname)
(mumble-server-service-type): ... these.
* doc/guix.texi ("Murmur (VoIP server)"): Rename to ...
("Mumble server"): ... this.  Adjust documentation accordingly.
2022-04-12 20:32:32 +02:00
Luis Felipe
e1c040b7b3
doc: package Reference: Mention syntax of package-description.
* doc/guix.texi (package Reference) <description>: Mention that the
string is in Texinfo syntax.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-04-10 00:17:41 +02:00
jgart
cec2ec4440
doc: guix: Add missing article "a".
* doc/guix.texi (Essential Home Services): Add missing article "a".

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-04-10 00:17:40 +02:00
Ludovic Courtès
b38e053513
doc: Build an empty index if the manual is missing.
That way, the "sk" index for 'guix-manual' is empty, because
'guix-manual' lacks an "sk" translation.

* doc/build.scm (html-manual-identifier-index)[build](html-files):
Gracefully handle 'scandir' returning #f.
2022-04-08 23:59:48 +02:00
Ludovic Courtès
0d0e2165ea
doc: Allow different translations for 'guix-cookbook' and 'guix-manual'.
Previously, 'guix-manual-text-domain' could be passed the cookbook
language list as its second argument.  Thus, it started failing when the
set of cookbook languages was no longer a subset of the manual
languages, starting with commit
93bfd4d9c7, which removed "sk" from
'guix-manual' but kept it for 'guix-cookbook'.

* doc/build.scm (%manual-languages, %cookbook-languages): New
variables.
(%languages): Use them.
(guix-manual-text-domain): Give LANGUAGES a valid default value.
(localization-helper-module): Remove optional argument to
'guix-manual-text-domain'.
2022-04-08 22:56:02 +02:00
Ludovic Courtès
868da34d54
doc: Fix cookbook URLs in htmlxref.cnf.
Reported by Greg Hogan <code@greghogan.com>.

* doc/htmlxref.cnf (GUIX_ROOT): New variable.
(GUIX, GUIX_COOKBOOK): Adjust.
2022-04-08 19:59:25 +02:00
Ludovic Courtès
6e747c3d50
doc: cookbook: Fix cross-reference to SICP.
Reported by Greg Hogan <code@greghogan.com>.

* doc/guix-cookbook.texi (A Scheme Crash Course): Fix xref to SICP.
2022-04-08 19:55:42 +02:00
Ludovic Courtès
63a11f92d1
doc: cookbook: Fix cross-reference to the manual.
Reported by Greg Hogan <code@greghogan.com>.

* doc/guix-cookbook.texi (Extended example): Fix node name in xref to
"package Reference".
2022-04-08 19:55:37 +02:00
Ludovic Courtès
808b9e8504
services: openssh: Start as an inetd service.
* gnu/services/ssh.scm (openssh-shepherd-service): Use
'make-inetd-constructor' when it is defined.
(<openssh-configuration>)[max-connections]: New field.
* gnu/tests/ssh.scm (run-ssh-test)["sshd PID"]: Adjust to cope with
PID-FILE being #f.
* gnu/tests/ssh.scm (%test-openssh): Pass #f as the 'pid-file'
argument.
* doc/guix.texi (Networking Services): Document 'max-connections'.
2022-04-07 00:08:56 +02:00
Aleksandr Vityazev
1e0cd871b8
doc: Update the sample yggdrasil-private.conf.
* doc/guix.texi (Networking Services): Update the sample yggdrasil-private.conf.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-04-05 20:41:39 +02:00
Ludovic Courtès
c42b7baf13
shell: Add '--export-manifest'.
* guix/scripts/shell.scm (show-help, %options): Add '--export-manifest'.
(manifest-entry-version-prefix, manifest->code*)
(export-manifest): New procedures.
(guix-shell): Honor '--export-manifest'.
* tests/guix-shell-export-manifest.sh: New file.
* Makefile.am (SH_TESTS): Add it.
* doc/guix.texi (Invoking guix shell): Document '--export-manifest'.
(Invoking guix environment): Link to it.
(Invoking guix pack): Likewise.
2022-04-04 22:58:04 +02:00
Ludovic Courtès
e692dc632c
services: Add 'log-cleanup' service to '%base-services' for build logs.
* gnu/services/base.scm (%base-services): Add 'log-cleanup-service-type'
instance.
* doc/guix.texi (Log Rotation): Add example and mention '%base-services'.
2022-04-04 22:58:03 +02:00
Ludovic Courtès
3b9b3b4931
services: Add 'log-cleanup-service-type'.
* gnu/services/admin.scm (<log-cleanup-configuration>): New record
type.
(log-cleanup-program, log-cleanup-mcron-jobs): New procedures.
(log-cleanup-service-type): New variable.
* doc/guix.texi (Log Rotation): Document it.
2022-04-04 22:58:03 +02:00
Julien Lepiller
93bfd4d9c7
nls: Enforce translation thresholds.
* po/doc/guix-cookbook.es.po: Remove file.
* po/doc/guix-cookbook.fa.po: Remove file.
* po/doc/guix-cookbook.fi.po: Remove file.
* po/doc/guix-cookbook.pt_BR.po: Remove file.
* po/doc/guix-cookbook.ru.po: Remove file.
* po/doc/guix-cookbook.uk.po: Remove file.
* po/doc/guix-cookbook.zh_Hans.po: Remove file.
* po/doc/guix-manual.fa.po: Remove file.
* po/doc/guix-manual.fi.po: Remove file.
* po/doc/guix-manual.it.po: Remove file.
* po/doc/guix-manual.ko.po: Remove file.
* po/doc/guix-manual.sk.po: Remove file.
* po/doc/local.mk: Remove them.
* doc/local.mk: Remove them.
2022-04-02 18:14:43 +02:00
Julien Lepiller
6386c011b2
doc: Document inclusion requirements for new translations.
* doc/contributing.texi (Translating Guix)[Conditions for Inclusion]:
New section.
2022-04-02 18:12:48 +02:00
Remco van 't Veer
e91c9edb20
services: dnsmasq: Add more options.
* gnu/services/dns.scm (<dnsmasq-configuration>): Add
forward-private-reverse-lookup?, strict-order? and cpe-id options.
(dnsmasq-shepherd-service): Pass added options to dnsmasq and use
match-record instead of match-lambda.
* doc/guix.texi (Guix Services): Document options added to dnsmasq.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-03-24 12:45:48 +01:00
Maxim Cournoyer
a9429c8f22
Merge branch 'staging' into core-updates. 2022-03-21 23:39:43 -04:00
Jelle Licht
10d865aa92
services: thermald: Add 'adaptive?' field.
* gnu/services/pm.scm (<thermald-configuration>): Add 'adaptive?' field.
(thermald-shepherd-service): Use it to pass --adaptive to thermald.
* doc/guix.texi (Power Management Services): Document the 'adaptive?' field of
'thermald-configuration'.
2022-03-20 16:40:22 +01:00
Ludovic Courtès
094a2cfbe4
guix home: Add 'container' command.
* guix/scripts/home.scm (show-help, %options): Add '--network',
'--share', and '--expose'.
(not-config?, user-shell, spawn-home-container): New procedures.
(%default-system-profile): New variable.
(perform-action): Add #:file-system-mappings, #:container-command,
and #:network?; honor them.
(process-action): Adjust accordingly.
(guix-home)[parse-sub-command]: Add "container".
[parse-args]: New procedure.
Use it instead of 'parse-command-line'.
* tests/guix-home.sh: Add tests.
* doc/guix.texi (Declaring the Home Environment): Mention 'guix home
container' as a way to test configuration.
(Invoking guix home): Document it.
2022-03-19 18:51:09 +01:00
EuAndreh
465259be78
doc: Fix wrong variable name.
* doc/guix.texi (Mail services): use correct variable name.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-03-18 23:51:19 +01:00
Ludovic Courtès
27c273ec89
doc: cookbook: Update Tor onion service name.
* doc/guix-cookbook.texi: New variable.
(Getting substitutes from Tor): Use it.
2022-03-18 23:51:19 +01:00
angryrectangle
3a91c92547
home: services: Fix bash aliases without guix-defaults.
* gnu/home/services/shells.scm: Fix bash aliases not being added if
  guix-defaults? was #f. Also fix inaccuracy in documentation about placement
  of defaults.
* doc/guix.texi (Shells Home Services): Adjust accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-03-18 16:03:34 +01:00
Ludovic Courtès
25261cbf96
guix home: Implement the 'extension-graph' and 'shepherd-graph' actions.
Until now these two actions were silently ignored.

* guix/scripts/home.scm (show-help, %options): Add "--graph-backend".
(%default-options): Add 'graph-backend' key.
(export-extension-graph, export-shepherd-graph): New procedures.
(perform-action): Add #:graph-backend parameter.  Add cases for the
'extension-graph' and 'shepherd-graph' actions.
(process-action): Pass #:graph-backend to 'perform-action'.
* guix/scripts/system.scm (service-node-type)
(shepherd-service-node-type): Export
* tests/guix-home.sh: Add tests.
* doc/guix.texi (Invoking guix home): Document it.
2022-03-18 16:03:33 +01:00
Florian Pelz
101ba64904
doc: Fix inappropriate escapes.
* doc/guix.texi (Shells Home Services): Change \" to ".
2022-03-13 14:38:20 +01:00
Ludovic Courtès
0691ab6779
services: openssh: Add 'generate-host-keys?' field.
* gnu/services/ssh.scm (<openssh-configuration>)[generate-host-keys?]:
New field.
(openssh-activation): Honor it.
* doc/guix.texi (Networking Services): Document it.
2022-03-10 23:46:50 +01:00
Ludovic Courtès
5e34e873af
services: guix: Add 'generate-substitute-key?' field.
* gnu/services/base.scm (<guix-configuration>)[generate-substitute-key?]:
New field.
(guix-activation): Honor it.
* doc/guix.texi (Base Services): Document it.
2022-03-10 23:46:50 +01:00
Demis Balbach
878578c0fa
services: bluetooth: Add missing config parameters.
* doc/guix.texi (Desktop Services): Document 'bluetooth-service-type'
and 'bluetooth-configuration'.
* gnu/services/desktop.scm (<bluetooth-configuration>): Add many fields.
(bluetooth-configuration-file): Handle them.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-03-09 23:38:18 +01:00
Ludovic Courtès
be84fb701b
doc: Publish the Slovak translation of the cookbook.
* doc/build.scm (%languages): Add "sk" for "guix-cookbook" (it's
currently at 57%).
2022-03-02 19:26:16 +01:00
Ludovic Courtès
f0efa6afc5
doc: Add "Using TeX and LaTeX" chapter.
* doc/guix.texi (Using TeX and LaTeX): New node.
2022-03-02 19:26:16 +01:00
Julien Lepiller
8c92d85e06
nls: Update translations.
* po/doc/guix-cookbook.uk.po: New file.
* po/doc/local.mk: Add uk cookbook.
* doc/local.mk: Add uk cookbook.
* po/guix/fa.po: New file.
* po/guix/uk.po: New file.
* po/guix/LINGUAS: Add fa and uk.
2022-03-01 22:17:18 +01:00
Maxim Cournoyer
6d9d616113
initrd: Honor rootfstype and rootflags command-line parameters.
* gnu/build/linux-boot.scm (boot-system): Honor rootfstype and rootflags
arguments.  Update doc.  Error out in case there is insufficient information
with regard to the root file system.
Restore the behavior of inferring the root device from the root file system
from the operating system in case the root argument is not provided.
* doc/guix.texi (Initial RAM Disk): Document the new command-line parameters.
2022-03-01 10:30:18 -05:00
Maxim Cournoyer
0dc019e19a
initrd: Use non-hyphenated kernel command-line parameter names.
This is to make it less surprising, given the common convention sets forth by
the kernel Linux command-line parameters.

* gnu/build/linux-boot.scm (boot-system): Rename '--load', '--repl', '--root'
and '--system' to 'gnu.load', 'gnu.repl', 'root' and 'gnu.system',
respectively.  Adjust doc.
(find-long-option): Adjust doc.
* gnu/installer/parted.scm (installer-root-partition-path): Adjust accordingly.
* gnu/system.scm (bootable-kernel-arguments): Add a VERSION argument and
update doc.  Use VERSION to conditionally return old style vs new style initrd
arguments.
(%boot-parameters-version): Increment to 1.
(operating-system-boot-parameters): Adjust doc.
(operating-system-boot-parameters-file): Likewise.
* gnu/system/linux-initrd.scm (raw-initrd, base-initrd): Likewise.
* doc/guix.texi: Adjust doc.
* gnu/build/activation.scm (boot-time-system): Adjust accordingly.
* gnu/build/hurd-boot.scm (boot-hurd-system): Likewise.
* gnu/packages/commencement.scm (%final-inputs-riscv64): Adjust comment.
2022-03-01 10:30:17 -05:00
Maxim Cournoyer
61a847187d
gnu: glibc-utf8-locales: Hide the package.
This package has a long history of confusing users, due to containing only a
small, arbitrary subset of UTF-8 locales.

* gnu/packages/base.scm (glibc-utf8-locales): Define as a hidden package.
* doc/guix.texi (Application Setup): Do not mention glibc-utf8-locales.
Instead, provide an example for defining a custom locales package.
2022-02-27 20:21:02 -05:00
Ludovic Courtès
bc8bea1739
pull: '--news' no longer shows package lists.
* guix/scripts/pull.scm (display-channel-news): Return #t when news were
displayed.
(display-news): Add #:profile-news? parameter and honor it.  Print
something there were no news.
(process-query): For 'display-news', call 'display-channel-news'
directly.
* doc/guix.texi (Invoking guix pull): Adjust accordingly.
2022-02-27 18:06:14 +01:00
Maxim Cournoyer
60cb647a28
services: pulseaudio: Add an extra-script-files configuration field.
* gnu/services/sound.scm (<pulseaudio-configuration>)
[extra-script-files]: Add field.
(extra-script-files->file-union): New procedure.
(append-include-directive): Likewise.
(pulseaudio-etc): Use them.
* doc/guix.texi: Document the new 'extra-script-files- configuration field.
2022-02-26 09:03:01 -05:00
Danny Milosavljevic
ed17082d94
services: agetty: Add shepherd-requirement.
* gnu/services/base.scm (<agetty-configuration>): Add shepherd-requirement.
* doc/guix.texi (agetty-configuration): Document it.
2022-02-25 17:13:18 +01:00
John Kehayias
50311f338f
doc: Fix 'setuid-program' example.
%setuid-programs was previously moved to be in the list sexp instead of just
the append one. This causes an "invalid G-expression input" error.

Error reported by: Kolev on #guix.

* doc/guix.texi (Setuid Programs): Move %setuid-programs out to the append
sexp.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-02-23 23:14:23 -05:00
Simon Streit
c0bc08d82c
doc: Document virtlogd package variable.
* doc/guix.texi (Virtualization Services): Document virtlogd package
variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2022-02-23 12:47:30 +02:00
Ludovic Courtès
9724da9abc
doc: Typographical tweaks.
* doc/guix.texi (Build Utilities): Remove trailing #t from phases.
Use @lisp for 'wrap-program' examples.
2022-02-18 14:14:38 +01:00
Ludovic Courtès
de65fd92d5
doc: Document 'wrap-program' and 'wrap-script'.
* doc/guix.texi (Build Utilities)[Wrappers]: New subsection.
2022-02-16 16:49:26 +01:00
Ludovic Courtès
8d472e9314
doc: Move build commands to @example for clarity.
* doc/contributing.texi (Building from Git): Tweak so that all the
commands appear in @example boxes.  Show --localstatedir=/var instead of
--localstatedir=@var{directory}.
2022-02-15 10:29:09 +01:00
Josselin Poiret
cfa6fdc54c
doc: Clarify the Swap Space examples, and include an helper example.
* doc/guix.texi (Swap Space): The examples referred to variables
defined outside of the snippets, and so were not very informative for
people without much Guile knowledge.  Instead, refer to mapped-devices
for the first, and use the new helper
file-systme-mount-point-predicate for the second.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-02-15 10:14:18 +01:00
Ludovic Courtès
b9df2e2b4d
pull: '--list-generations' lists packages only with '--details'.
* guix/scripts/pull.scm (show-help, %options): Add "--details".
(process-query): Honor it.
* doc/guix.texi (Invoking guix pull): Document it.
2022-02-14 15:52:36 +01:00
Ludovic Courtès
ca87601dd9
git-authenticate: Ensure the target is a descendant of the introductory commit.
Fixes a bug whereby authentication of a commit *not* descending from the
introductory commit could succeed, provided the commit verifies the
authorization invariant.

In the example below, A is a common ancestor of the introductory commit
I and of commit X.  Authentication of X would succeed, even though it is
not a descendant of I, as long as X is authorized according to the
'.guix-authorizations' in A:

   X   	 I
    \   /
      A

This is because, 'authenticate-repository' would not check whether X
descends from I, and the call (commit-difference X I) would return X.

In practice that only affects forks because it means that ancestors of
the introductory commit already contain a '.guix-authorizations' file.

* guix/git-authenticate.scm (authenticate-repository): Add call to
'commit-descendant?'.
* tests/channels.scm ("authenticate-channel, not a descendant of introductory commit"):
New test.
* tests/git-authenticate.scm ("authenticate-repository, target not a descendant of intro"):
New test.
* tests/guix-git-authenticate.sh: Expect earlier test to fail since
9549f0283a is not a descendant of
$intro_commit.  Add new test targeting an ancestor of the introductory
commit, and another test targeting the v1.2.0 commit.
* doc/guix.texi (Specifying Channel Authorizations): Add a sentence.
2022-02-14 11:23:08 +01:00
Marius Bakke
b38ce8489f
doc: Zabbix: Improvide description.
* doc/guix.texi (Monitoring Services): Document the various 'zabbix-*' service
types, and expand description of all Zabbix services.  Use less marketing terms.
(Web Services): Add subsubheading for PHP-FPM, and anchors for
cross-referencing.
* gnu/services/monitoring.scm (zabbix-front-end-configuration): Use @ref
instead of @pxref for cross-referencing.
2022-02-13 13:33:56 +01:00
Marius Bakke
43bc85f444
doc: Regenerate Zabbix server and agent configuration.
...to make them in line with the newly generated front-end documentation.

* doc/guix.texi (Monitoring Services): Regenerate zabbix-server-configuration
and zabbix-agent-configuration.
2022-02-07 18:19:46 +01:00
Marius Bakke
326e08bf0f
services: zabbix-front-end: Restore backwards compatibility.
Commit e301f1a8ed removed the NGINX argument
entirely, but users may rely on and override it.  Reported by rekado on #guix.

* gnu/services/monitoring.scm (%zabbix-front-end-nginx-configuration): Restore
exported variable.
(zabbix-front-end-nginx-extension): New procedure.
(zabbix-front-end-configuration): Remove FASTCGI-PARAMS field.  Restore NGINX
field, but default to the empty list.
(zabbix-front-end-service-type): Extend NGINX-SERVICE-TYPE by
ZABBIX-FRONT-END-NGINX-EXTENSION.
* doc/guix.texi (Monitoring Services): Regenerate documentation.
2022-02-07 18:19:46 +01:00
Ludovic Courtès
39e8025d3b
home: Add redshift service.
* gnu/home/services/desktop.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Desktop Home Services): New node.
2022-02-07 00:05:59 +01:00
Julien Lepiller
8391a99d08
nls: Update translations.
* po/doc/guix-cookbook.pt_BR.po: New file.
* po/doc/local.mk: Add it.
* doc/local.mk: Add pt_BR cookbook.
2022-02-04 18:29:00 +01:00
Christopher Baines
71d2bdfa9f
services: nar-herder: Support ttl and negative-ttl options.
* gnu/services/guix.scm (<nar-herder-configuration>): Add ttl and negative-ttl
fields.
(nar-herder-shepherd-services): Pass the ttl and negative-ttl values to the
service.
* doc/guix.texi (Guix Services): Document this.
2022-02-04 10:09:01 +00:00
Ludovic Courtès
5c13484646
deploy: Add '--execute'.
* guix/scripts/deploy.scm (show-help, %options): Add '--execute'.
(invoke-command): New procedure.
(guix-deploy): Break arguments at "--" and handle '-x' and associated
command.
* doc/guix.texi (Invoking guix deploy): Document it.
2022-02-02 18:35:00 +01:00
Ludovic Courtès
9679123ce0
guix system: 'describe' shows the running system, not the current one.
* guix/profiles.scm (generation-number): Add optional 'base-profile'
parameter and use it.
* guix/scripts/system.scm (process-command): Add "/run/current-system"
as first argument to 'generation-number'.
* doc/guix.texi (Invoking guix system): Clarify that 'guix system
describe' shows the running system.
2022-02-02 18:12:22 +01:00
Attila Lendvai
67f28faf42
services: tlp: Add config variables for battery charging.
* gnu/services/pm.scm (tlp-configuration): Add start-charge-thresh-bat0,
stop-charge-thresh-bat0, start-charge-thresh-bat1, stop-charge-thresh-bat1.
* doc/guix.texi (Power Management Services): Document them.

Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
2022-02-02 10:43:04 +01:00
Marius Bakke
e301f1a8ed
services: zabbix-frontend: Support custom server package.
* gnu/services/monitoring.scm (%zabbix-front-end-configuration-nginx): Rename
to ...
(zabbix-front-end-nginx-configuration): ... this.  Take server package and
FastCGI parameters from ...
(zabbix-front-end-configuration): ... here.  Add PACKAGE and FASTCGI-PARAMS
fields, remove NGINX.
(zabbix-front-end-service-type): Adjust for renamed procedure.
* doc/guix.texi (Monitoring Services)[Zabbix front-end]: Regenerate documentation.
2022-02-01 23:46:05 +01:00
Maxim Cournoyer
01c925bf49
doc: Fix typo.
* doc/guix.texi (Sound Services): Fix typo.
2022-02-01 15:32:11 -05:00
Maxim Cournoyer
c1043fd60d
doc: Add a rule of thumb to guide enabling new committers.
* doc/contributing.texi (Commit Access): Introduce a new rule of thumb to
determine if a contributor should be considered to become a committer.
2022-01-31 23:38:52 -05:00
Konrad Hinsen
c328d7fca1
doc: Document --profile option to "guix environment"
* doc/guix.texi (Invoking guix environment): New paragraph.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-02-01 00:24:26 +01:00
Konrad Hinsen
cff54cc47c
doc: Document --profile option to "guix shell"
* doc/guix.texi (Invoking guix shell): New paragraph.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-02-01 00:24:26 +01:00
Christopher Baines
087cdafc9f
services: guix: Add nar-herder-service-type.
* gnu/services/guix.scm (<nar-herder-configuration>): New record type.
(nar-herder-configuration, nar-herder-configuration?,
nar-herder-configuration-package,
nar-herder-configuration-user,
nar-herder-configuration-group,
nar-herder-configuration-mirror
nar-herder-configuration-database
nar-herder-configuration-database-dump
nar-herder-configuration-host
nar-herder-configuration-port
nar-herder-configuration-storage
nar-herder-configuration-storage-limit
nar-herder-configuration-storage-nar-removal-criteria
nar-herder-shepherd-services, nar-herder-activation,
nar-herder-account): New procedures.
(nar-herder-service-type): New variable.
* gnu/tests/guix.scm (%test-nar-herder): New variable.
* doc/guix.texi (Guix Services): Document the new service.
2022-01-31 18:28:16 +00:00
Ludovic Courtès
23ccfd3840
home: 'reconfigure' checks for potential downgrades.
* guix/scripts/home.scm (show-help, %options): Add "--allow-downgrades".
(%default-options): Remove 'build-mode'; add 'validate-reconfigure'.
(perform-action): Add #:validate-reconfigure.  Call
'check-forward-update' when ACTION is 'reconfigure.
(process-action): Pass #:validate-reconfigure to 'perform-action'.
* gnu/home/services.scm (home-provenance): Export.
* doc/guix.texi (Invoking guix home): Document '--allow-downgrades'.
2022-01-28 23:14:44 +01:00
Guix Together
2f21931833
doc: Mention how to remedy "source file ... newer than compiled error".
* doc/contributing.texi (Running Guix Before It Is Installed): Mention
how to remedy "source file ... newer than compiled" error by running
`make -j`.

Co-authored-by: jgart <jgart@dismail.de>
Co-authored-by: Julien Lepiller <julien@lepiller.eu>
Co-authored-by: Ryan Prior <rprior@protonmail.com>
Co-authored-by: Blake Shaw <blake@nonconstructivism.com>
Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2022-01-28 10:15:26 +01:00
Guix Together
087ad097da
doc: Explain the use of make clean-go when an ABI mismatch occurs.
* doc/contributing.texi (Building from Git): Adds section on using
make clean-go.

Co-authored-by: jgart <jgart@dismail.de>
Co-authored-by: Julien Lepiller <julien@lepiller.eu>
Co-authored-by: Ryan Prior <rprior@protonmail.com>
Co-authored-by: Blake Shaw <blake@nonconstructivism.com>
Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2022-01-28 10:14:56 +01:00
Maxim Cournoyer
0d41fe4855
Merge branch 'staging' into core-updates.
With "conflicts" resolved in (mostly in favor of master/staging):
	gnu/packages/admin.scm
	gnu/packages/gnuzilla.scm
	gnu/packages/gtk.scm
	gnu/packages/kerberos.scm
	gnu/packages/linux.scm
	guix/lint.scm
2022-01-25 23:48:37 -05:00
Ludovic Courtès
5543f80df7
doc: Document 'invoke' & co.
* doc/guix.texi (Build Utilities)[Program Invocation]: New subsection.
2022-01-25 23:54:44 +01:00
Ludovic Courtès
d582b39978
build: Require Guile >= 3.0.3.
Fixes <https://issues.guix.gnu.org/53157>.
Reported by Efraim Flashner <efraim@flashner.co.il>.

* configure.ac: Require Guile >= 3.0.3.
* doc/guix.texi (Requirements): Update accordingly.
2022-01-25 23:54:44 +01:00
Ludovic Courtès
a00dff3ac1
doc: Clarify search path bits.
Suggested by Maxime Devos <maximedevos@telenet.be>
and Maxim Cournoyer <maxim.cournoyer@gmail.com>.

* doc/guix.texi (package Reference): Clarify 'native-search-paths'
vs. 'search-paths'.
(Search Paths): Link to it.  Remove unnecessarily "define libxml2".
Reword 'file-pattern' description that said "When true".
2022-01-24 10:38:13 +01:00
Ludovic Courtès
68eda25964
doc: Tweak Guix Home bits.
* doc/guix.texi (Shepherd Home Service): Tweak section name.  Add
intro.
(Invoking guix home): Refer to "guix search".  Use @var where
appropriate.
2022-01-23 23:12:55 +01:00
Ludovic Courtès
3878cf9618
doc: Document search paths.
* doc/guix.texi (package Reference): Link to "Search Paths".
(Invoking guix package): Likewise.
(Build Phases): Mention 'set-paths' phase.
(Search Paths): New node.
2022-01-23 23:03:33 +01:00
Guillaume Le Vaillant
1aa269d1d7
services: guix-publish: Add negative-ttl parameter.
* gnu/services/base.scm (guix-publish-configuration): Add 'negative-ttl'
  field.
  (guix-publish-sheperd-service): Process it.
* doc/guix.texi (Base Services)[guix-publish-service-type]: Add item for
  negative-ttl.
2022-01-20 14:55:19 +01:00
Ludovic Courtès
a27e47f9d1
doc: Normalize language codes in menu URLs.
* doc/build.scm (stylized-html)[build](base-language-url): Add calls to
'normalize'.
2022-01-19 22:07:55 +01:00
Ludovic Courtès
fa580bf3b4
doc: Make the HTML language menu disappear on narrow screens.
* doc/build.scm (stylized-html)[build](navigation-bar): New procedure.
(stylized-html): Use it.
2022-01-19 15:43:25 +01:00
Ludovic Courtès
7eb883b7c2
doc: Add a language menu in the HTML manual.
* doc/build.scm (stylized-html): New procedure.
(html-manual): Use it.
2022-01-18 22:51:08 +01:00
Ludovic Courtès
ee16e4e8da
doc: Factorize 'language-code->native-name'.
* doc/build.scm (localization-helper-module)[content](translate): Add
call to 'setenv' before 'write'.  Remove use of 'with-language'.
(language-code->native-name): New procedure.
(html-manual-indexes)[build](top-level-index): Use it.
2022-01-18 22:51:08 +01:00
Ludovic Courtès
575e52ac2b
daemon: Always default to gzip for log compression.
* nix/libstore/globals.cc (Settings::Settings): Have 'logCompression'
default to COMPRESSION_GZIP unconditionally.
* gnu/services/base.scm (<guix-configuration>)[log-compression]: Default
to 'gzip.
* doc/guix.texi (Invoking guix-daemon, Base Services): Adjust accordingly.
2022-01-18 18:46:51 +01:00
Ludovic Courtès
62fc6fdb4c
doc: Extract (localization) module.
* doc/build.scm (localization-helper-module): New procedure.
(html-manual-indexes)[build]: Use it.  Remove use of GUILE-JSON-3.
2022-01-18 18:46:51 +01:00
Ludovic Courtès
084b76a70a
machine: ssh: Add 'safety-checks?' field.
Fixes <https://issues.guix.gnu.org/52766>.
Reported by Michael Rohleder <mike@rohleder.de>.

* gnu/machine/ssh.scm (<machine-ssh-configuration>)[safety-checks?]: New
field.
(machine-check-file-system-availability): Return the empty list when
'safety-checks?' is false.
(machine-check-initrd-modules): Likewise.
* doc/guix.texi (Invoking guix deploy): Document it.
2022-01-16 23:56:55 +01:00