Commit graph

2753 commits

Author SHA1 Message Date
Ludovic Courtès
b0aab0f255
doc: Update "guix shell -D -f" example to new input style.
* doc/environment-gdb.scm: Change to use 'modify-inputs'.
2022-01-14 22:39:24 +01:00
Mathieu Othacehe
2d12ec724e
scripts: system: Rationalize persistency.
Make sure that the images are created with a non volatile root by default and
the vm are created with a volatile root by default. Break the --volatile
option into --volatile-image and --persistent-vm options.

* guix/scripts/system.scm (perform-action): Turn volatile? argument into
volatile-vm-root?.
(show-help): Introduce --volatile-image and --persistent-vm options instead of
--volatile.
(%default-options): Adapt it.
(%options): Handle those options.
(process-action): Honor them.
* doc/guix.texi (Invoking guix system): Adapt it accordingly.
2022-01-14 12:26:07 +01:00
Efraim Flashner
03b45230d4
gnu: bootstrap: Add support for riscv64-linux.
On 7d93b21ab1
    gnu: glibc-for-bootstrap: Update patch.

Run
    ./pre-inst-env guix build --target=riscv64-linux-gnu bootstrap-tarballs

Producing
    /gnu/store/4hdzva9i0wyyfbgj1lmqc1wkk644pv07-bootstrap-tarballs-0

With guix hash -rx
    1nj0fdgj08bbmfny01mp2blv7c3p2iciqh31zmf04ap5s7ygsqlp

* gnu/packages/bootstrap.scm (%bootstrap-executables): Add entries for
riscv64-linux.
(%bootstrap-guile-hash, %bootstrap-coreutils&co, %bootstrap-binutils,
%bootstrap-glibc, %bootstrap-gcc): Add entry for riscv64-linux.
(raw-build-guile3): New procedure.
(make-raw-bag): Use raw-build-guile3 for riscv64-linux.
* guix/packages.scm (%supported-systems): Add riscv64-linux.
(%cuirass-supported-systems): Remove riscv64-linux.
* guix/utils.scm (target-64bit?): Add riscv64-linux.
* m4/guix.m4: Add riscv64-linux as a supported system.
* doc/guix.texi (GNU Distribution): Add riscv64-linux.
2022-01-14 11:41:15 +02:00
Maxim Cournoyer
374fea0f3b
services: Adjust the jami service for the upgraded jami.
* gnu/services/telephony.scm (jami-configuration)[jamid]: Rename libring to
libjami.
* gnu/services/telephony.scm
(jami-configuration->command-line-arguments): Adjust daemon file name.
* gnu/services/telephony.scm (jami-service-type): Adjust doc.
* gnu/tests/telephony.scm (run-jami-test): Check for 'jamid' process, not
'dring'.
* doc/guix.texi (Telephony Services): Adjust doc for the jami-qt to jami and
libring to libjami packages renaming.
2022-01-13 00:57:52 -05:00
Ludovic Courtès
0552dcb294
shell: Cache profiles even when using package specs.
This enables profile caching not just when '-m' or '-f' is used, but
also when package specs are passed on the command line, as in:

  guix shell -D guix git

It also changes profile cache keys to include the system type, which was
previously ignored.

* guix/scripts/shell.scm (options-with-caching)[single-file-for-caching]:
Remove.
Call 'profile-cached-gc-root' instead; adjust to accept two values.
(profile-cache-primary-key): New procedure.
(profile-cache-key): Remove.
(profile-file-cache-key, profile-spec-cache-key): New procedures.
(profile-cached-gc-root): Rewrite to include functionality formally in
'single-file-for-caching', but extend to handle package specs.
* gnu/packages.scm (cache-is-authoritative?): Export.
* guix/transformations.scm (transformation-option-key?): New procedure.
* doc/guix.texi (Invoking guix shell): Move '--rebuild-cache'
documentation to the bottom, just above '--root'.  Explain caching and
how these two options relate to that.
2022-01-11 20:34:59 +01:00
Ludovic Courtès
d064f922b5
doc: Fix typo in 'setuid-program' example.
* doc/guix.texi (Setuid Programs): Fix typo in example.
2022-01-11 20:34:59 +01:00
Tobias Geerinckx-Rice
83abdc8371
doc: Update ‘guix home search’ output sample.
The old output differs greatly from the current one and contains a typo.

* doc/guix.texi (Invoking guix home): Update ‘guix home search’ output
sample.
2022-01-09 21:58:34 +01:00
Tobias Geerinckx-Rice
746e590d4a
doc: Fix typos.
* doc/guix.texi (Home Services, Essential Home Services)
(Shells Home Services): Fix ‘avaliable’ typo, & grammar.
(Using the Configuration System): Fix another typo.
2022-01-09 21:58:34 +01:00
Ludovic Courtès
1b87dc2f2a
doc: Use @lisp and clarify 'setuid-program' examples.
* doc/guix.texi (Setuid Programs): Use @lisp instead of @example.  Add
scope for the 'setuid-programs' field snippet.
2022-01-10 19:31:03 +01:00
Ludovic Courtès
c1aa0ee9bd
guix hash: Allow '-r' as a non-deprecated alias.
This is a followup to 05c962594c.

Discussed at <https://issues.guix.gnu.org/51307#24>.

* guix/scripts/hash.scm (%options): Warn about deprecation for
"--recursive", but not for '-r' as it's a convenient shorthand.  Mention
'--serializer=nar' in the deprecation message.
* doc/guix.texi (Invoking guix hash): Adjust accordingly.
2022-01-10 19:31:02 +01:00
Ludovic Courtès
611989d1d6
doc: Fix typo.
* doc/guix.texi (Invoking guix style): Fix typo.
2022-01-10 19:31:02 +01:00
Ludovic Courtès
c4fe13c294
style: Add '--styling' option.
* guix/scripts/style.scm (format-package-definition): New procedure.
(%options, show-help): Add "--styling".
(%default-options): Add 'styling-procedure'.
(guix-style): Honor it.
* tests/style.scm (with-test-package)
("input labels, 'safe' policy")
("input labels, 'safe' policy, nothing changed")
("input labels, margin comment")
("input labels, margin comment on long list")
("input labels, line comment")
("input labels, modify-inputs and margin comment"): Pass "-S inputs".
* etc/indent-code.el: Remove.
* doc/contributing.texi (Formatting Code): Mention "guix style" instead
of "etc/indent-code.el".
(Submitting Patches): Add item for "guix style".
* doc/guix.texi (Invoking guix style): Document "-S" and update.
2022-01-10 14:59:26 +01:00
zimoun
a2010ac21b
build: julia-build-system: Create 'Project.toml' file when missing.
* guix/build/julia-build-system.scm (link-depot): Create 'Project.toml' file
when missing using data provided by the user.
(julia-create-package-toml): Remove from export.
* doc/guix.texi (Build Systems): Update julia-build-system section.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2022-01-10 15:15:31 +02:00
Tobias Geerinckx-Rice
19a4759cad
doc: Fix some typos.
* doc/guix.texi (Invoking guix hash): Fix a few typos today.

Reported by KarlJoad on #guix, and then we found more.
2022-01-10 00:34:49 +01:00
Julien Lepiller
934b0cdfee
nls: Update translations.
* po/doc/guix-cookbook.fi.po: New file.
* po/doc/guix-manual.fi.po: New file.
* po/doc/local.mk: Add them.
* doc/local.mk: Add them.
* po/guix/fi.po: New file.
* po/guix/LINGUAS: Add it.
2022-01-09 11:35:59 +01:00
Jelle Licht
a1846e9b91
doc: Fix typo.
* doc/guix.texi (Essential Home Services): Fix typo.
2022-01-07 23:07:56 +01:00
Tobias Geerinckx-Rice
2dfbd03a60
doc: Use a better setuid example.
nmtui does not benefit from being setuid.  Oops.

* doc/guix.texi (Setuid Programs): Replace network-manager's /bin/nmtui
with nfs-utils' /sbin/mount.nfs.  Change a @code{} to a @command{}.
2022-01-07 21:45:38 +01:00
Tobias Geerinckx-Rice
0701efb351
doc: Fix typo.
* doc/guix.texi (Build Utilities): Fix typo.

Reported by Mortimer Cladwell <mbcladwell@gmail.com>
2022-01-06 15:17:47 +01:00
Leo Famulari
6a7945971d
doc: Try to clarify the setuid programs examples.
Based on user feedback, the shadow / passwd example was too obscure for those
who aren't familiar with the shadow collection of tools. And it was also
considered confusing for the two examples to use different packages.

* doc/guix.texi (Setuid Programs): Use 'nmtui' in the examples.
2022-01-03 20:20:00 -05:00
Ludovic Courtès
62ab885daa
doc: Avoid (getenv "HOME") in 'machines.scm' example.
Fixes <https://issues.guix.gnu.org/52517>.
Reported by zimoun <zimon.toutoune@gmail.com>.

* doc/guix.texi (Daemon Offload Setup): Avoid misleading (getenv
"HOME") in example.
2022-01-03 19:32:08 +01:00
Ludovic Courtès
4362125033
doc: Document clauses of 'modify-inputs'.
Suggested by Alexander Asteroth <alexander.asteroth@h-brs.de>.

* doc/guix.texi (Defining Package Variants): Document all the supported
clauses of 'modify-inputs'.
2022-01-03 19:32:08 +01:00
Christopher Baines
dfc5d5247f
services: guix-build-coordinator: Fix variable name in agent config.
* gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): Fix
variable name.
* doc/guix.texi (Guix Services): Update accordingly.
2022-01-02 17:47:36 +00:00
Christopher Baines
1dca8a19ef
gnu: Add guix-build-coordinator/agent-only.
This avoids issues where the coordinator component dependencies (like sqitch
and guile-fibers) make it harder to use the agent.

* gnu/packages/package-management.scm (guix-build-coordinator/agent-only): New
variable.
* gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): Use
the guix-build-coordinator/agent-only package by default.
* doc/guix.texi (Guix Services): Update accordingly.
2022-01-02 17:00:09 +00:00
Ludovic Courtès
d090e9c37d
transformations: Add '--tune'.
* guix/transformations.scm (tuning-compiler)
(tuned-package, tunable-package?, package-tuning)
(transform-package-tuning)
(build-system-with-tuning-compiler): New procedures.
(%transformations): Add 'tune'.
(%transformation-options): Add "--tune".
* tests/transformations.scm ("options->transformation, tune")
("options->transformations, tune, wrong micro-architecture"): New
tests.
* doc/guix.texi (Package Transformation Options): Document '--tune'.
2022-01-01 15:23:24 +01:00
Ludovic Courtès
671e6a8180
system: Allow 'chfn' to change the user's full name.
Fixes <https://issues.guix.gnu.org/52539>.
Reported by Jacob First <jacob.first@member.fsf.org>.

* gnu/build/accounts.scm (allocate-passwd): Add comment as to why
'real-name' is taken from PREVIOUS.  Add (not system?) to the
condition.
* gnu/system.scm (operating-system-etc-service) <login.defs>: Add
"CHFN_RESTRICT".
* gnu/system.scm (%setuid-programs): Add "chfn".
* gnu/system/pam.scm (base-pam-services): Add "chfn".
* doc/guix.texi (User Accounts): Document it.
2022-01-01 15:10:12 +01:00
Leo Famulari
c7d74a9bcc
doc: cookbook: Update custom kernel guide.
* doc/guix-cookbook.texi (Customizing the Kernel): Adjust to new interface.
2021-12-30 15:58:24 -05:00
Leo Famulari
28b477cb2e
doc: Give a complete example of adding setuid programs.
* doc/guix.texi (Setuid Programs): Give a complete example of how to use
SETUID-PROGRAM.
2021-12-26 22:23:48 -05:00
Mathieu Othacehe
3ed8ddd606
scripts: system: Deprecate the docker-image command.
* guix/scripts/system.scm (system-derivation-for-action): Use the image API to
generate the docker images and deprecate the docker-image command.
(process-action): Ditto.
* doc/guix.texi (Invoking guix system): Adapt it.
2021-12-23 10:54:00 +01:00
Mathieu Othacehe
05a9d1f378
Remove VM generation dead-code.
This code duplicates the (gnu system image) and (gnu build image) code. Using
VM for image generation is not needed, not portable and really slow. Remove
all the VM image generation code to make sure that only the image API is used.

* gnu/build/vm.scm: Remove it. Move the qemu-command procedure to ...
* gnu/build/marionette.scm: ... here.
* gnu/local.mk (GNU_SYSTEM_MODULES): Adapt it.
* tests/modules.scm: Ditto.
* gnu/tests/install.scm: Ditto.
* gnu/system/vm.scm: Adapt it and remove expression->derivation-in-linux-vm,
qemu-img, system-qemu-image/shared-store and system-docker-image procedures.
* doc/guix.texi (G-Expressions): Adapt it.
2021-12-23 10:54:00 +01:00
Xinglu Chen
86434dfbc9
doc: Document (gnu services configuration).
* guix.texi (Complex Configurations): New node.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-12-22 23:23:17 +01:00
Nathan Dehnel
6fb5459e8b
services: wireguard: Add DNS config field.
* gnu/services/vpn.scm (wireguard-configuration)[dns]: New field.
(wireguard-configuration-file): Honor it.
* doc/guix.texi: Document it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-12-22 09:07:39 +01:00
Ludovic Courtès
c9d92409d4
services: rsync: Allow configuring several rsync "modules".
Until now the rsync service would export a single module, named
"files".  This allows users to specify as many modules as they want, in
line with rsyncd.conf(5).

* gnu/services/rsync.scm (warn-share-field-deprecation): New procedure.
(<rsync-configuration>)[modules]: New field.
[share-path, share-comment, read-only?, timeout]: Mark as deprecated.
(<rsync-module>): New record type.
(%default-modules): New variable.
(rsync-configuration-modules): New procedure.
(rsync-activation): Create the directory of each module.
(rsync-config-file): Generate configuration for each module.
(rsync-service-type)[description]: New field.
* doc/guix.texi (Networking Services): Adjust documentation.  Augment
example.
2021-12-21 15:47:03 +01:00
Ludovic Courtès
2c469f04a3
doc: Remove extra closing paren.
* doc/contributing.texi (Emacs Packages): Remove extra paren in example.
2021-12-20 16:23:28 +01:00
Olivier Dion
b88bfa14f1
doc: Fix wrong home-shepherd-configuration data type.
* doc/guix.texi (Managing User's Daemons): Rename shepherd-configuration for
home-shepherd-configuration.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-12-20 16:21:41 +01:00
Ludovic Courtès
e60f803b90
doc: cookbook: Simplify inputs in examples.
* doc/guix-cookbook.texi (Recursive importers, Inheritance): Use
the simplified input style.
2021-12-20 16:21:40 +01:00
Ludovic Courtès
4204156eb4
doc: Format 'guix hash -S' values as a table.
* doc/guix.texi (Invoking guix hash): Format serializer types as a
table.
2021-12-17 17:30:28 +01:00
zimoun
28ffdc5cc8
guix hash: Add git serializer.
* guix/scripts/hash.scm (git-hash): New procedure.
(%options): Use it.
* tests/guix-hash.sh: Test it.
* doc/guix.texi: Update.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-12-17 17:29:34 +01:00
zimoun
05c962594c
guix hash: Add 'serializer' option.
* guix/scripts/hash.scm (%options): Deprecate 'recursive', add 'serializer'.
(%default-options): Add 'serializer'.
(nar-hash): New procedure.
(default-hash): New procedure.
(guix-hash)[file-hash]: Use them.
(show-help): Adjust.
* tests/guix-hash.scm: Adjust.
* doc/guix.texi: Update.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-12-17 17:29:34 +01:00
zimoun
6e08f07f20
guix hash: Support several files.
* guix/scripts/hash.scm (guix-hash): Allow several files.
[file-hash]: Catch system-error.
[formatted-hash]: New procedure.
* tests/guix-hash.sh: Add test.
* doc/guix.texi (Invoking guix hash): Mention "one or more files".

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2021-12-17 17:29:34 +01:00
Ludovic Courtès
3bfdf1c382
doc: Do not explain quote/quasiquote in the context of inputs.
* doc/guix.texi (Defining Packages): Move reference to
quote/quasiquote from 'inputs' to 'arguments'.
2021-12-15 00:41:08 +01:00
Ludovic Courtès
d68cc7fe96
doc: Use @lisp for 'static-networking-service-type' example.
* doc/guix.texi (Networking Setup): Use @lisp for
'static-networking-service-type' example.
2021-12-15 00:41:08 +01:00
Efraim Flashner
861ee6d908
doc: Mention powerpc-linux support.
This was missing with the addition of powerpc-linux support in commit
cbdb7d4fea.

* doc/guix.texi (GNU Distribution): Add powerpc-linux.
2021-12-14 18:33:51 +02:00
Efraim Flashner
3544b2e74a
doc: Mark mips64el-linux as unsupported.
* doc/guix.texi (GNU Distribution): Change mips64el-linux from
deprecated to unsupported.
2021-12-14 18:33:51 +02:00
Ludovic Courtès
1052ae5f03
Merge branch 'master' into core-updates-frozen 2021-12-13 11:49:15 +01:00
Ludovic Courtès
788f56b4dc
doc: Add missing closing paren.
* doc/guix.texi (Desktop Services): Add missing closing paren in example.
2021-12-13 11:31:53 +01:00
Ludovic Courtès
c946e1464d
doc: Handle '&nbsp' when syntax-highlighting HTML.
* doc/build.scm (syntax-highlighted-html)[build](entity->string): Handle "&nbsp".
2021-12-13 11:31:53 +01:00
Ludovic Courtès
5967aee398
services: Define '%loopback-static-networking'.
* gnu/services/base.scm (%loopback-static-networking): New variable.
(%base-services): Use it.
* gnu/system/hurd.scm (%base-services/hurd): Use it.
* gnu/system/install.scm (%installation-services): Use it.
* doc/guix.texi (Networking Setup): Document it.
2021-12-12 23:20:50 +01:00
Ludovic Courtès
1644f4f1f8
services: Define '%qemu-static-networking'.
* gnu/services/base.scm (%qemu-static-networking): New variable.
* gnu/system/hurd.scm (%base-services/hurd): Use it.
* doc/guix.texi (Networking Setup): Document it.
2021-12-12 23:20:49 +01:00
Ludovic Courtès
223f1b1eb3
services: static-networking: Change interface to mimic netlink.
* gnu/services/base.scm (<static-networking>)[interface, ip, netmask]
[gateway]: Remove.
[addresses, links, routes]: New fields.
[requirement]: Default to '(udev).
(<network-address>, <network-link>, <network-route>): New record types.
(ensure-no-separate-netmask, %ensure-no-separate-netmask): Remove.
(ipv6-address?, cidr->netmask, ip+netmask->cidr)
(network-set-up/hurd, network-tear-down/hurd)
(network-set-up/linux, network-tear-down/linux)
(static-networking->hurd-pfinet-options): New procedures.
(static-networking-shepherd-service): New procedure.
(static-networking-shepherd-services): Rewrite in terms of the above.
(static-networking-service): Deprecate.  Adjust to new
'static-networking' API.
(%base-services): Likewise.
* gnu/system/install.scm (%installation-services): Likewise.
* gnu/system/hurd.scm (%base-services/hurd): Likewise, and separate
'loopback' from 'networking'.
* gnu/build/hurd-boot.scm (set-hurd-device-translators): Remove
"servers/socket/2".
* gnu/tests/networking.scm (run-openvswitch-test)["networking has
started on ovs0"]: Check for 'networking instead of 'networking-ovs0,
which is no longer provided.
* doc/guix.texi (Networking Setup): Document the new interface.  Remove
documentation of 'static-networking-service'.
(Virtualization Services): Change Ganeti example to use the new
interface.
2021-12-12 23:20:49 +01:00
Ludovic Courtès
a4d33fef31
doc: Add new "Networking Setup" node for the main setup options.
This should make it easier to find how to get started setting up
networking.

* doc/guix.texi (Networking Setup): New section.
(Networking Services): Remove 'static-networking-service',
'dhcp-client-service-type', 'network-manager-service-type',
'connman-service-type', 'wicd-service', 'modem-manager-service-type',
'usb-modeswitch-service-type', and 'wpa-supplicant-service-type'.
2021-12-12 23:20:49 +01:00