Commit graph

3014 commits

Author SHA1 Message Date
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