Commit graph

3622 commits

Author SHA1 Message Date
Tomas Volf
76a2b9d707
services: guix: Default `channels' field to #f.
In the absence of the /etc/guix/channels.scm file, %default-channels is used
anyway.  If user manually (or by extra-special-file) created the file, we
should respect it.  This commit therefore changes the default to #f, hopefully
having zero impact on people not actively using the `channels' field.

* gnu/services/base.scm (<guix-configuration>)[channels]: Set default to #f.

Change-Id: I516c1735a037a153fabbebfc337051aaf0be2155
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-26 23:36:24 +02:00
Tomas Volf
398393187c
doc: Warn about extra-special-file usage in /etc.
* doc/guix.texi (Base Services)[extra-special-file]: Add warning regarding
files in /etc.

Change-Id: Ic45465c8712d61caeed42d7912777368e8763a1a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-26 23:34:59 +02:00
Ludovic Courtès
0a220c1599
services: shepherd: Support “free-form” services.
* gnu/services/shepherd.scm (<shepherd-service>)[free-form]: New field.
[start]: Add default value.
(shepherd-service-file): Rename to…
(shepherd-service-file/regular): … this.
(shepherd-service-file/free-form): New procedure.
(shepherd-service-file): Dispatch to one of the two procedures above.
* doc/guix.texi (Shepherd Services): Document the ‘free-form’ field.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>

Change-Id: I206374e950ef6d1e4a996c0f507fb5fcd9cadde3
2024-06-26 22:51:25 +02:00
Ludovic Courtès
0fdac5f036
doc: Introduce mumi before referring to it.
* doc/contributing.texi (Debbugs User Interfaces): Introduce mumi in the
body of the text rather than a footnote since the “Command-Line
Interface” section assumes it has already been introduced.
(Command-Line Interface, Emacs Interface): Capitalize titles.

Change-Id: I0e87cd48b6158582016734afe71c716c548c1639
2024-06-26 22:49:36 +02:00
Richard Sent
da3e71f472
services: web: Improve nginx formatting for extra-content.
When extra-content is a list, add 4 space indentation and a newline to every
line. If it's a string, continue inserting it directly. This makes the list
serialization behavior more consistent with other services.

* gnu/services/web (default-nginx-config): Support lists.
* doc/guix.texi (Web Services)[nginx-configuration]: Document it.

Change-Id: Iec8614ba3cfc37292a566197e8d39b352b04846a
Signed-off-by: Christopher Baines <mail@cbaines.net>
2024-06-26 15:11:52 +01:00
Richard Sent
5f88f71c2d
doc: Add message for common error about make check-system.
* doc/contributing.texi (Running the Test Suite): Mention that make clean-go
may need to be run before running make check-system when previous builds were
run with different work trees.

Change-Id: I4b68d3a05f1425505816db969284487d725840d6
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Fixes: https://issues.guix.gnu.org/47573.
2024-06-24 08:51:45 -04:00
Tomas Volf
fc921acbef
doc: Improve description of nginx's configuration.
* doc/guix.texi (Web Services)[nginx-server-configuration]: Document semantics
of raw-content field.
[nginx-location-configuration]: Document semantics of body field.

Change-Id: I1e699d085a27f2615190de1e1973146da4ab193d
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:51:45 -04:00
Simon Tournier
d19d5447cd
doc: contributing: Mention 'guix git authenticate'.
Follow up of 73b3f941d7.

* doc/contributing.texi (Applying for Commit Access): Update accordingly with
the removal of 'make authenticate'.

Change-Id: Id945c484f6265c76d4eb803369a7fbd9f797434f
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:51:42 -04:00
Ludovic Courtès
e6facbe069
gnu: grub: Update to 2.12.
* gnu/packages/bootloaders.scm (grub): Update to 2.12.
[source](patches): Remove ‘grub-ignore-metadata-csum-seed.patch’.
(snippet): Create ‘grub-core/extra_deps.lst’.  Replace “exit 99”
by “exit 77”.
(grub-coreboot): Update value of ‘XFAIL_TESTS’.
* doc/guix.texi (Keyboard Layout and Networking and Partitioning): Update
accordingly (it should now be fine to use LUKS2).
* gnu/packages/patches/grub-ignore-metadata-csum-seed.patch: Remove.
* gnu/local.mk (dist_patch_DATA): Remove it.

Change-Id: Ia31b3b7e0a2e7de42d30229733e9c196fcd12fd9
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:51:41 -04:00
Richard Sent
ff9942dcc1
doc: Prepend ISC to DHCP client references.
This makes it clearer that this service uses the ISC's dhclient implementation
and does not support DHCP clients that have different command line interfaces.

* doc/guix.texi (Networking Setup): Prepend ISC to all DHCP client references.

Change-Id: I750ef2ffb4b23445c4a2b97aaa44eba56458f430
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:50:49 -04:00
Richard Sent
b539e5ae39
services: networking: Allow dhcp-client to use a config file.
* gnu/services/networking.scm (dhcp-client-configuration) [config-file]: New
field.
(dhcp-client-configuration-config-file): New accessor.
(dhcp-client-shepherd-service): Use the config file when invoking
dhclient if supplied.
* doc/guix.texi: Document it.

Change-Id: I286de4ddf59c5e606bf1fe0a7510570869e62b1a
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:50:45 -04:00
Tomas Volf
603d523fc3
doc: Fix Reviewed-by format.
The documentation does not have a space between `e' and `<', which is not how
people use it, as can be seen from git log.  So adjust the format to match the
reality.

* doc/contributing.texi (Reviewing the Work of Others): Fix format for
Reviewed-by.

Change-Id: Ib863536db72b885cf34927323cb4ebc52a8db2ed
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:34:44 -04:00
Juliana Sims
b49e556b9e
services: radicale: Use define-configuration.
* doc/guix.texi (radicale-configuration): Update documentation to reflect new
configuration, add new symbols.
* gnu/services/mail.scm (%default-radicale-config-file): Delete.
(radicale-auth-configuration, radicale-auth-configuration?)
(radicale-encoding-configuration, radicale-encoding-configuration?)
(radicale-logging-configuration, radicale-logging-configuration?)
(radicale-rights-configuration, radicale-rights-configuration?)
(radicale-server-configuration, radicale-server-configuration?)
(radicale-storage-configuration, radicale-storage-configuration?):
New configuration types and corresponding predicates.
(radicale-configuration, radicale-configuration?): Use define-configuration.
(radicale-activation, radicale-shepherd-service): Update to new
configuration format.
(radicale-activation): Use user-defined values for service files.
(radicale-service-type): Capitalize "Radicale" in description.

Change-Id: Ic88b8ff2750e3d658f6c7cee02d33417aa8ee6d2
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2024-06-23 10:09:01 +02:00
Richard Sent
5d39cbdfff
doc: Fix typo in Guix Home Service
* doc/guix.texi (Guix Home Service): Change home-service-type to
guix-home-service-type in example.

Change-Id: Ief7f71c9e6494ced20ccda3bb2643f01eabe8441
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-06-22 21:51:02 +08:00
Sergey Trofimov
10d8bbdabb
services: dnsmasq: Add escape hatch.
* gnu/service/dns.scm: (<dnsmasq-configuration>)[extra-options]: Add.
* doc/guix.texi: Document (<dnsmasq-configuration>)[extra-options].

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I7d2df7aa5d3b041b69b2f8b3e311a7328c28a3be
2024-06-13 22:43:59 +02:00
Ludovic Courtès
086fe7ef25
doc: Use a symbol for Cuirass specification names.
* doc/guix.texi (Continuous Integration): Change ‘name’ field of
‘specification’ to be a symbol, as written in upstream Cuirass doc.

Change-Id: I0a8cddfb8ab47f627a01459393aaf346028bb3f6
2024-06-13 11:34:33 +02:00
Arun Isaac
f65bbca6e4
doc: Refer to mumi send-email in Submitting Patches.
* doc/contributing.texi (Submitting Patches): Refer to mumi send-email.

Change-Id: I009cdc306220ef63e6641fac69d3453ab169bfa2
2024-06-12 22:14:41 +01:00
Arun Isaac
d25bb39c51
doc: Add mumi CLI concept index entries.
* doc/contributing.texi (Debbugs User Interfaces)[Command-line interface]: Add
mumi CLI concept index entries.

Change-Id: Ic2e67226c18e87a7360b938476a662aae76dd58e
2024-06-12 22:14:41 +01:00
Arun Isaac
cb1c12156e
doc: Document mumi am, compose and www subcommands.
* doc/contributing.texi (Debbugs User Interfaces)[Command-line interface]:
Document mumi am, compose and www subcommands.
* doc/guix.texi: Bump copyright year.

Change-Id: I28bde9454ad35115ed60fe4d6ffa35fad599b2d1
2024-06-12 22:14:41 +01:00
Nguyễn Gia Phong
039da35176
doc: Update field name in gitile-configuration.
* doc/guix.texi (gitile-configuration): Update field name
  nginx-server-block to nginx.

Change-Id: I215d3d57c1cb88271c580fa1426a661477a775f7
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-12 00:21:52 +02:00
Denis 'GNUtoo' Carikli
0f9fe721be
doc: Binary Installation: Add Parabola packages.
* doc/guix.texi (Binary Installation): Add Parabola packages.

Co-authored by: Florian Pelz <pelzflorian@pelzflorian.de>
Change-Id: Id646152c54de0a958740314b09fdcf6af898e22e
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-06-06 23:38:31 +02:00
Denis 'GNUtoo' Carikli
902a55e1dc
doc: Binary Installation: Mention Trisquel package.
* doc/guix.texi (Binary Installation): Also mention Trisquel package.

Change-Id: Iae6f77de43de2c6f387b99a10dcae5b9d82aaee1
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-06-06 23:38:31 +02:00
Florian Pelz
66eb60509d
doc: Advise system administrators to read and follow security notices.
* doc/guix.texi (Binary Installation): Prefix installation instructions
with the advice.

Change-Id: I088c7f00f4c3c8e32bdfd117ea934942930f7513
2024-06-06 23:38:17 +02:00
Richard Sent
579df5bc80
services: base: Add optional delayed mount of file-systems
Add a mechanism to only require mounting a subset of file-system entries
during early Shepherd initialization. Any file-system with additional Shepherd
service requirements (e.g. networking) is not required to provision
'file-systems.

* gnu/services/base.scm (file-system-shepherd-service): Splice
file-system-requirements into the Shepherd service requirement list.
(file-system-shepherd-services): Provision 'file-system only when file system
services without additional Shepherd requirements are started.
* gnu/system/file-systems.scm (file-system): Add shepherd-requirements field
to the file-system record. This field is used for adding additional Shepherd
requirements to a file-system Shepherd service.
* doc/guix.texi: Add documentation for file-system shepherd-requirements.

Change-Id: If0392db03d48e8820aa53df1df482c12ec72e1a5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-04 12:08:34 +02:00
Florian Pelz
834a419524
nls: Update translations.
* po/doc/guix-cookbook.sv.po: New file.
* po/doc/local.mk: Add 'sv' cookbook.
* po/doc/po4a.cfg (po4a_langs): Add 'sv'.
* doc/local.mk: Add 'sv' cookbook.
* doc/htmlxref.cnf: Update URLs for cookbook.
* doc/build.scm (%cookbook-languages): Add 'sv'.
* doc/guix-cookbook.texi (Top): Mention 'sv' cookbook.

Change-Id: Ibfeb7254f583f1c8827e8c2756bbb02880bcba46
2024-06-03 00:27:12 +02:00
gemmaro
f65bd477b0
build: Use the po4a command for the translation generation.
* configure.ac (Documentation translation): Remove the po4a-translate command.
This command has been replaced by the po4a command and are not used from
anywhere.
* doc/local.mk ($(srcdir)/%D%/guix.%.texi, $(srcdir)/%D%/guix-cookbook.%.texi)
($(srcdir)/%D%/contributing.%.texi): Use the po4a command instead of the
po4a-translate for the translation generation.  This eliminates the warning of
po4a-translate; "po4a-translate is deprecated.  The unified po4a(1) program is
more convenient and less error prone."
(PO4A_PARAMS): Remove the Texinfo format option.  This option is specified in
the configuration file (po/doc/po4a.cfg).
(dummy_pot): Add a variable for the temporary POT file location.

Change-Id: I542b934c3c03b8701e9f86823191224f8b0ccf81
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-06-03 00:27:11 +02:00
Florian Pelz
5c4742663b
doc: cookbook: Fix direnv example.
When replacing `guix environment' with `guix shell',
I forgot to add a `--development' argument.

Follow-up to 9c3a8a380b.

* doc/guix-cookbook.texi (Environment management)
[Guix environment via direnv]: Fix example.

Change-Id: I0a0df33b3b547bfc3ada10c4648e593be6608070
2024-06-03 00:27:11 +02:00
Ludovic Courtès
8f0878da8d
services: nscd: ‘log-file’ defaults to #f.
* gnu/services/base.scm (<nscd-configuration>)[log-file]: Default to #f.
* doc/guix.texi (Base Services): Clarify documentation.

Change-Id: Ia75914fc2665db13bef688d53659083a615ebef4
2024-06-02 20:52:24 +02:00
Andrew Tropin
eac5171246
Revert "services: home: Use pairs instead of lists."
This reverts commit dbeef44f3c.

Despite the more semantically correct data type, it doesn't follow the style
of the most services and also breaks user-facing API.

Change-Id: Ib4ef4e9cd2f53ac853a5b7c7c90e57c35c99a5ea
2024-06-02 15:06:16 +04:00
Andrew Tropin
dbeef44f3c
services: home: Use pairs instead of lists.
* gnu/services/guix.scm: Use pairs instead of lists.
* doc/guix.texi: Update accordingly.
* gnu/tests/guix.scm: Update accordingly.

Change-Id: I0b8d3fa5b214add89bdb84a11fa20d1b319435f0
2024-06-02 13:38:52 +04:00
Tomas Volf
8144c587f8
home: services: Add home-startx-command-service-type.
* gnu/home/services/desktop.scm (home-startx-command-service-type): New
variable.
(startx-command-service-type): New service-type mapping.
* doc/guix.texi (Guix Home Services): Document
home-startx-command-service-type.

Change-Id: Id38b5dc7b9235e04e3a9a1b70a35b02e8fae95f0
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2024-05-30 22:40:54 +01:00
Tomas Volf
e51a930c5c
services: xorg: Add startx-command-service-type.
* gnu/services/xorg.scm (startx-command-profile-service,
startx-command-service-type): New variables.
* doc/guix.texi (X Window): Document startx-command-service-type.

Change-Id: Ia2a7c3b2d5ebf6bcfff40cb2640b17d3baf6eba0
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2024-05-30 22:40:23 +01:00
Tomas Volf
9948816819
services: xorg: Add xorg-start-command-xinit procedure.
When the user does not use any desktop environment, the typical sequence is to
log in and then type `startx' into the tty to get a window manager running.
Most distributions do provide a startx by default, but Guix has only an
xorg-start-command that is not suitable for this.

This commit adds a second procedure, xorg-start-command-xinit, that correctly
picks a virtual terminal to use, sets up XAUTHORITY and starts xinit with the
correct arguments.  That should make running Guix without a desktop
environment more approachable.

* gnu/services/xorg.scm (xorg-start-command-xinit): New public procedure.
* doc/guix.texi (X Window): Document it.

Change-Id: I17cb16093d16a5c6550b1766754700d4fe014ae9
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2024-05-30 18:23:34 +01:00
Maxim Cournoyer
4114060cd0
gnu: linux: Turn %default-extra-linux-options into a procedure.
This is to allow version-specific options to the list of defaults.

* gnu/packages/linux.scm (%default-extra-linux-options): Transform to...
(default-extra-linux-options): ... this procedure, which accepts a 'version'
argument.
(make-linux-libre, linux-libre-arm-generic, linux-libre-arm-generic-5.10)
(linux-libre-arm-generic-5.4, linux-libre-arm64-generic)
(linux-libre-arm64-generic-5.10, linux-libre-arm64-generic-5.4)
(linux-libre-riscv64-generic, linux-libre-mips64el-fuloong2e)
(linux-libre-with-bpf): Adjust accordingly.
* doc/guix-cookbook.texi (Customizing the Kernel): Adjust accordingly.

Change-Id: Ifd3be8b7ed8699bada224a938dbc84205366ff3d
2024-05-29 22:01:23 -04:00
Efraim Flashner
c0610dfb1a
gnu: Use new ovmf firmware packages.
* doc/guix.texi (Invoking guix system): Update qemu command to use
ovmf-x86-64.
* gnu/packages/virtualization.scm (xen)[inputs]: Replace ovmf with
ovmf-i686.
* gnu/tests/install.scm (uefi-firmware): Use system appropriate ovmf
firmware.

Change-Id: Ia2ff76eaf766c8d4fb0be4a7cc7b8941574433d0
2024-05-27 10:26:24 +03:00
宋文武
f119408f2f
doc: Replace 'specification->package+output' with 'specifications->packages'.
'(map specification->package+output specs)' doesn't work due to
'specification->package+output' will return multiple values.

* doc/guix.texi (Using the Configuration System): Replace
'specification->package+output' with 'specifications->packages'.

Change-Id: I443771327a2ef5ae5e7dddd9785f1eef4200e898
2024-05-27 09:28:39 +08:00
Maxim Cournoyer
77771036f0
configure.ac: Set default value for the 'prefix' variable.
The Guix standard configuration uses a localstatedir of /var and a sysconfdir
of /etc.  To ease things for everyone, make the default values match that
standard expected configuration.  See
<https://lists.gnu.org/archive/html/guix-devel/2024-05/msg00003.html> for a
related discussion.

* configure.ac: Default $prefix to '' unless already set.
* doc/contributing.texi (Building from Git): Streamline doc.
* doc/guix-cookbook.texi (Guix environment via direnv): Likewise.

Reviewed-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I23cd12b58a842d246fbc9fdc740311c573eb0212
2024-05-25 23:28:30 -04:00
Ludovic Courtès
73b3f941d7
maint: Suggest ‘guix git authenticate’ for initial authentication.
The previous recommendation, running ‘make authenticate’, was insecure
because it led users to run code from the very repository they want to
authenticate:

  https://lists.gnu.org/archive/html/guix-devel/2024-04/msg00252.html

* Makefile.am (commit_v1_0_0, channel_intro_commit)
(channel_intro_signer, GUIX_GIT_KEYRING, authenticate): Remove.
* Makefile.am (.git/hooks/%): New target, generalization of previous
‘.git/hooks/pre-push’ target.
(nodist_noinst_DATA): Add ‘.git/hooks/post-merge’.
* doc/contributing.texi (Building from Git): Suggest ‘guix git
authenticate’ instead of ‘make authenticate’.
* etc/git/post-merge: New file.
* etc/git/pre-push: Run ‘guix git authenticate’ instead of ‘make
authenticate’.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Reported-by: Skyler Ferris <skyvine@protonmail.com>
Change-Id: Ia415aa8375013d0dd095e891116f6ce841d93efd
2024-05-25 16:23:56 +02:00
Richard Sent
0efa1daad3
doc: Document ‘assume-valid-file-name’ in ‘local-file’.
* doc/guix.texi (G-Expressions): Document the use of assume-valid-file-name with
local-file.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I132f78e198cbf3ba2e5a677d671563d753de534c
2024-05-25 16:19:22 +02:00
Giacomo Leidi
c07731a777
gnu: docker: Allow passing tarballs for images in oci-container-configuration.
This commit allows for loading an OCI image tarball before running an
OCI backed Shepherd service. It does so by adding a one shot Shepherd
service to the dependencies of the OCI backed service that at boot runs
docker load on the tarball.

* gnu/services/docker.scm (oci-image): New record;
(lower-oci-image): new variable, lower it;
(string-or-oci-image?): sanitize it;
(oci-container-configuration)[image]: allow also for oci-image records;
(oci-container-shepherd-service): use it;
(%oci-image-loader): new variable.

Change-Id: Ie504f479ea0d47f74b0ec5df9085673ffd3f639d
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-05-25 15:34:53 +02:00
Giacomo Leidi
68adfaea25
gnu: docker: Allow setting Shepherd dependencies in oci-container-configuration.
* gnu/services/docker.scm (oci-container-configuration)
[requirement]: New field;
(list-of-symbols): sanitize it;
(oci-container-shepherd-service): use it.
* doc/guix.texi: Document it.

Change-Id: Ic0ba336a2257d6ef7c658cfc6cd630116661f581
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-05-25 15:34:47 +02:00
Giacomo Leidi
e68c1af4f4
gnu: docker: Allow setting host environment variables in oci-container-configuration.
* gnu/services/docker.scm (oci-container-configuration)
[host-environment]: New field;
(oci-sanitize-host-environment): sanitize it;
(oci-container-shepherd-service): use it.
* doc/guix.texi: Document it.

Change-Id: I4d54d37736cf09f042a71cb0b6e673abc0948d9c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-05-25 15:34:43 +02:00
Giacomo Leidi
003c89a85c
gnu: docker: Provide escape hatch in oci-container-configuration.
* gnu/services/docker.scm (exports): Add missing procedures;
(oci-container-service-type)[description]: Docker and OCI images should
mean the same thing;
(oci-container-configuration): clarify field types;
[extra-arguments]: new field;
(oci-sanitize-extra-arguments): sanitize it;
(oci-container-shepherd-service): use it.
* doc/guix.texi: Document it.

Change-Id: I64e9d82c8ae538d59d1c482f23070a880156ddf7
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-05-25 15:34:38 +02:00
Giacomo Leidi
a237f0d436
services: Add restic-backup service.
* gnu/services/backup.scm: New file.
* gnu/local.mk: Add this.
* doc/guix.texi: Document this.

Change-Id: I9efd5559bb445b484107a7c27c2d0a65ccad1e66
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-05-25 15:24:14 +02:00
Christopher Baines
4955589f2f
doc: Make changes to the handling of branches.
Require that you create a "Request to merge" issue when you create a branch,
rather than when you wish to merge it.  This should help avoid this step being
missed.

Also, add information on how to manage these branches:

 1. Suggest creating the branch from patches, rather than having a stateful
 branch, since this should help to reduce complexity and avoid merges.

 2. Require that branches don't have unnecessary changes, since this increases
 the risks of conflicts with other branches.

 3. Suggest that the branch not be stateful, and it's just a combination of
 patches.

 4. Suggest avoiding merges since these create a more complicated Git history.

 5. Suggest that the branch be up to date before merging, as this helps avoid
 the combination of master plus the branch differing significantly from the
 branch alone.

 6. Document how to manage branches without commit access.

Finally, require that the branch be deleted once they're merged.  This
prepares for the branch being created again.

* doc/contributing.texi (Managing Patches and Branches): Make changes to the
handling of branches.

Change-Id: Ib9419c6df94f485475bd6f147e82ea254e76cec2
2024-05-22 14:31:01 +01:00
Florian Pelz
9c3a8a380b
doc: cookbook: Fix overlong lines.
Fixes <https://issues.guix.gnu.org/63680>.

Thanks to Nigko Yerden for telling me ExecStart lines can be multi-line
<https://lists.gnu.org/archive/html/bug-guix/2024-05/msg00153.html>.

* doc/guix-cookbook.texi (System Configuration)
[Customizing the Kernel]: Split lines.
[Customizing a Window Manager]<StumpWM>: Likewise.
[Setting up a bind mount]: Move comments.
[Getting substitutes from Tor]: Split line with backslash.
[Music Server with Bluetooth Audio]: Likewise.
(Advanced package management)[Guix Profiles in Practice]
<Basic setup with manifests>: Likewise.
<Reproducible profiles>: Likewise.
(Environment management)[Guix environment via direnv]: Likewise.
(Installing Guix on a Cluster)[Setting Up a Head Node]:
On Info and PDF, split ExecStart= command with backslash.

Change-Id: I31ef5b0417b319c3f6946d65f83edafb86c8f36b
2024-05-19 19:09:40 +02:00
Jelle Licht
0685042c46
import: Add binary npm importer.
* guix/scripts/import.scm: (importers): Add "npm-binary".
* doc/guix.texi (Invoking guix import): Document npm-binary importer.
* guix/import/npm-binary.scm: New file.
* guix/scripts/import/npm-binary.scm: New file.
* tests/npm-binary.scm: New file.
* Makefile.am: Add them.

Co-authored-by: Timothy Sample <samplet@ngyro.com>
Co-authored-by: Lars-Dominik Braun <lars@6xq.net>

Change-Id: I98a45068cf5b9c42790664cc743feaa7ac76f807
2024-05-19 16:05:00 +02:00
Dariqq
d0ad4f557f
gnu: services: Add power-profiles-daemon-service-type.
* gnu/services/pm.scm
(power-profiles-configuration): New configuration.
(power-profiles-daemon-shepherd-service): New procedure.
(power-profiles-daemon-activation): New variable.
(power-profiles-daemon-service-type): New procedure.
* doc/guix.texi (Power Management Services): Document it.

Change-Id: Ib035d993ed82eec2a43f3ba2b4c92f77e08a0fd7
Signed-off-by: Christopher Baines <mail@cbaines.net>
2024-05-15 20:58:03 +01:00
Tomas Volf
dc4c6ab4cb
doc: Fix bug in hg-reference documentation.
The field is called changeset, not revision.  And the string does not have to
be a number.

* doc/guix.texi (origin Reference): Fix documentation for hg-reference.

Change-Id: Ic622dfc7b44caf42d070cdab8e42808dd96e6d63
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-05-13 16:31:34 +02:00
Tomas Volf
408c4511a6
doc: Document cvs-fetch and cvs-reference.
For some reason, they were missing from the documentation.  This commit adds
them including an example of usage.

* doc/guix.texi (origin Reference): Add cvs-fetch and cvs-reference.

Change-Id: I6622a9f70e6d71ed31fbb3d2689df4a6946f8868
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-05-13 16:31:34 +02:00
Picnoir
986ee0c66c
doc: Update NixOS wiki url to the official wiki.
nixos.wiki was created by a community member a long time ago. It turned out to
be very useful to the community, it became an official service last month
hosted on the NixOS.org domain name. To ease the long term maintainance among
other things.

See more details at https://github.com/NixOS/foundation/issues/113

* doc/guix.texi (Nix service): Change nixos.wiki to wiki.nixos.org.

Change-Id: Ia95074fbfad494e8ceb5c2cdb3faab23f3604882
Signed-off-by: Christopher Baines <mail@cbaines.net>
2024-05-12 18:49:04 +01:00
Ahmad Draidi
7d9ad8f3a6
services: cuirass: Remove use-substitutes? configuration option.
As of Cuirass commit 9a1452ee021c9f773424961cfeef47ca0b7c5c5a, this option
seems to be unused and kept for back compatibility there.

* gnu/services/cuirass.scm (<cuirass-configuration>): Remove use-substitutes?
field.
(cuirass-shepherd-service): Remove the option.
* doc/guix.texi (Continuous Integration): Remove option documentation.

Change-Id: I933550ce76eecdf918b07891aa8212fd30a7c87e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-05-04 19:14:25 +02:00
Ahmad Draidi
70f277d0e4
services: cuirass: Add new configuration options.
* gnu/services/cuirass.scm (<cuirass-configuration>): Add ttl and threads
fields.
(cuirass-shepherd-service): Handle the new options.
* doc/guix.texi (Continuous Integration): Document them.

Change-Id: I4387fbd7bf6766f4a54801f35c7ed82ce4eb9645
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-05-04 19:14:25 +02:00
Ahmad Draidi
2cd6831161
services: cuirass: Use separate extra options for cuirass web process.
Currently, "extra-options" is passed to both "cuirass register" and "cuirass
web" processes. This makes it impractical since the extra parameters have to
be intended for and supported by both processes.

* gnu/services/cuirass.scm (<cuirass-configuration>): Add a web-extra-options
field.
(cuirass-shepherd-service): Replace extra-options with web-extra-options for
cuirass web.
* doc/guix.texi (Continuous Integration): Document the changes.

Change-Id: Iba79c559ea8267aaf8f25248f3d18ed7b352cb60
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-05-04 19:14:25 +02:00
Ludovic Courtès
8d1d98a3aa
git authenticate: Install pre-push and post-checkout hooks.
* guix/scripts/git/authenticate.scm (install-hooks): New procedure.
(guix-git-authenticate): Use it.
* doc/guix.texi (Invoking guix git authenticate): Document it.

Change-Id: I4464a33193186e85b476a12740e54412bd58429c
2024-05-01 17:26:19 +02:00
Ludovic Courtès
7b4bf4ee88
git authenticate: Record introduction and keyring in ‘.git/config’.
* guix/scripts/git/authenticate.scm (%default-options): Remove
‘keyring-reference’.
(config-value, configured-introduction, configured-keyring-reference)
(configured?, record-configuration, current-branch): New procedures.
(guix-git-authenticate)[missing-arguments]: New procedure.
Use ‘configured-introduction’ when zero arguments are given.
Use ‘configured-keyring-reference’ when ‘-k’ is not passed.  Add call to
‘record-configuration’.
* doc/guix.texi (Invoking guix git authenticate): Document it.

Change-Id: I66e111a83f50407b52da71662629947f83a78bbc
2024-05-01 17:26:18 +02:00
Ludovic Courtès
5f89f45e74
linux-initrd: Further strip the static Guile.
‘guile-static-initrd’ weighs in at 46 MiB, compared to 54 MiB for
‘guile-static-stripped’ (15% reduction).

* gnu/packages/make-bootstrap.scm (make-guile-static-stripped): Add
‘directories-to-remove’ parameter and honor it.
(%guile-static-initrd): New variable.
* gnu/system/linux-initrd.scm (expression->initrd): Default to
‘%guile-static-initrd’.
* doc/guix.texi (Initial RAM Disk): Adjust accordingly.

Change-Id: I2baf06fed7a3698433e7c83b1d7726054a8c746e
2024-04-29 22:52:08 +02:00
宋文武
3bd8d238ab
services: Add gvfs-service-type.
* gnu/services/desktop.scm (gvfs-service-type): New variable.
(gvfs-configuration, make-gvfs-configuration, gvfs-configuration?,
gvfs-package): New procedures.
(<gvfs-configuration>): New record.
* doc/guix.texi (Desktop Services): Document it.

Change-Id: I584819500e2ce7d2b14e57dac238a96e9888e75e
2024-04-29 08:54:36 +08:00
Florian Pelz
58646a949a
doc: contributing: Move localstatedir instructions.
* doc/contributing.texi (Requirements): Move localstatedir ...
(Building from Git): ... here.

Change-Id: I860bb7a9e6aea12881469c667496364248293c31
2024-04-26 11:31:14 +02:00
Florian Pelz
991f67902f
doc: contributing: Suggest building from Git.
* doc/contributing.texi (Requirements): Explain the purpose of
this section.  Refer regular contributors to Building from Git.

Change-Id: I731af4ac8e78b053b96a3b683528964223ab740b
2024-04-26 11:04:13 +02:00
Fabio Natali
67a3a83170
doc: Fix mentions of 'nss-certs'.
* doc/guix.texi (Using the Configuration System): Fix mention of 'nss-certs'
after the package has been added to '%default-packages' (see
'65e8472a4b6fc6f66871ba0dad518b7d4c63595e').

* doc/guix.texi (Web Services): Fix mention of 'nss-certs' after the package has
been added to '%default-packages' (see
'65e8472a4b6fc6f66871ba0dad518b7d4c63595e').

Change-Id: Iecdecb8deb440cdea224f3e9e7ce54e89dd575a2
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-04-23 07:13:38 +02:00
Matthew Trzcinski
b8ccbc942e
doc: Fix typo.
* doc/guix.texi (Installing Guix in a VM): Change indefinite article.

Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-04-22 21:08:41 +02:00
Rostislav Svoboda
0f68306268
doc: Correct the "guix shell --container" example.
* doc/guix.texi (Invoking @command{guix shell}): Add missing parameters
to preserve and expose $XAUTHORITY.  Adjust corresponding textual description.

Change-Id: Ib99c81c107ff9784708ae807ec9b3ab93ad75603
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2024-04-20 10:35:35 +02:00
Liliana Marie Prikler
e14bc39a97
doc: Update gnome-desktop-configuration.
* doc/guix.texi (gnome-desktop-configuration): Fill in missing fields.
[gnome]: Talk about the deprecation.
2024-04-20 10:35:34 +02:00
Matthew Trzcinski
86fb0e039b
doc: Fix cross-references.
* doc/guix.texi (Setting Up the Daemon): Use @xref to start sentence.
(Build Systems): Capitalize "python" and start parenthesized reference with
@pxref.

Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
Change-Id: I3504d8668d137029f5f76f025108b7023d9b4182
2024-04-19 21:33:15 +02:00
Janneke Nieuwenhuizen
ba52975ea9
Revert "maint: Generate 'doc/version.texi' reproducibly."
Using `build-aux/mdate-from-git.scm' makes this no longer necessary.

This reverts commit e73ea7bd64f64709c71f89dfb111cf3e8ada3771.

Change-Id: I29d1e36b13d255e5a65b7348e7ae4f2b2c24a518
2024-04-19 16:45:41 +02:00
Janneke Nieuwenhuizen
2a622090fa
Revert "maint: Generate 'doc/version-LANG.texi' reproducibly."
Using `build-aux/mdate-from-git.scm' makes this no longer necessary.

This reverts commit 0e4ead187d83a958ca0deb54857c04967e84d68b.

Change-Id: I9177828f90fa7f7e256bc72fdff35a2fab355780
2024-04-19 16:45:41 +02:00
Maxim Cournoyer
65e8472a4b
system: Remove nss-certs from OS templates, adjust doc.
This is a follow-up to commit 86afaadb51 ("system: Add 'nss-certs' to
%base-packages-networking.")

* doc/guix-cookbook.texi (Running Guix on a Linode Server): Remove nss-certs
from operating system's packages field.
(Running Guix on a Kimsufi Server): Likewise.
* doc/guix.texi (Using the Configuration System): Likewise.
(X.509 Certificates): Adjust to mention nss-certs *is* part of %base-packages.
* gnu/installer/services.scm (%system-services): Remove recommendation to
install nss-certs.
* gnu/system/examples/bare-bones.tmpl (host-name): Remove obsolete comments.
* gnu/system/examples/desktop.tmpl (packages): Remove nss-certs.
* gnu/system/examples/lightweight-desktop.tmpl (packages): Likewise.
* gnu/system/examples/plasma.tmpl (packages): Likewise.
* gnu/system/examples/raspberry-pi-64-nfs-root.tmpl (packages): Likewise.
* gnu/system/examples/raspberry-pi-64.tmpl (packages): Likewise.
* gnu/system/examples/vm-image.tmpl (packages): Likewise.
* gnu/system/images/orangepi-r1-plus-lts-rk3328.scm (packages): Likewise.
* gnu/system/images/pine64.scm (packages): Likewise.
* gnu/system/install.scm (installation-os) [packages]: Likewise.

Change-Id: If09123a69b987178bcb0aab61c4570c14fc1286f
2024-04-18 10:43:06 -04:00
Ludovic Courtès
f594d1bb80
doc: Expound on ‘guix-home-service-type’.
* doc/guix.texi (Guix Home Service): Reword intro.  Tweak example to be
closer to reality.
(Declaring the Home Environment): Link to ‘guix-home-service-type’.
(Invoking guix home): Likewise.

Change-Id: I0355a6da9b9a28818eb0738854381671a6a1f652
2024-04-17 12:13:03 +02:00
Richard Sent
59bb53823e
services: Add the Guix Home service.
This patch adds a Guix Home service, which allows for configuring/deploying an
operating-system declaration with an associated home-environment.

* gnu/services/guix.scm: Add guix-home-service and guix-home-shepherd-service
* gnu/home/services/shepherd.scm: Don't attempt to launch user shepherd when
the system shepherd runs guix-home-<user>
* doc/guix.texi: Add documentation for guix-home-service
* gnu/tests/guix.scm: Add a test to verify guix-home-service-type is able to
activate a home environment

Change-Id: Ifbcc0878d934aa4abe34bb2123b5081fb432aa8e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-04-17 12:13:03 +02:00
Jean-Pierre De Jesus DIAZ
9a60894156
guix: Add xtensa-ath9k-elf platform.
* Makefile.am (MODULES): Add guix/platforms/xtensa.scm.
* guix/platforms/xtensa.scm (xtensa-ath9k-elf): New variable.
* doc/guix.texi: Add xtensa-ath9k-elf documentation.

Change-Id: I51eef245142ed58613340c16d4bf7266e6bf6adb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-04-17 12:13:02 +02:00
Jean-Pierre De Jesus DIAZ
9d5356dbc3
doc: Add documentation for x86_64-linux-gnux32.
* doc/guix.texi: Add documentation for x86_64-linux-gnux32.

Change-Id: I408d57ae5ae3e9b1449633b82c41aba0d40ded06
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-04-17 12:13:02 +02:00
Janneke Nieuwenhuizen
416f11f1d4
maint: Ensure generated file reproducibility for dist.
* doc/local.mk (doc-clean): New target.
(DIST_CONFIGURE_FLAGS): New variable.
(auto-clean): Use them in new target.
* Makefile.am (dist-doc-pot-update): Use it in new target.
(dist): Change to depend on it to clean possibly stale files, instead of
doc-pot-update directly.
Add a toplevel check to ensure that Autotools cache is up to date.

Change-Id: I2ff2d88db9fe1e708ab65e33e1f3d7ecee882cb4
2024-04-14 10:29:11 +02:00
Janneke Nieuwenhuizen
3d8d0642da
maint: Reset CreationDate metadata on generated PDFs.
* doc/local.mk (.dot.pdf): Create PDF in UTC0 and reset CreationDate metadata.

Change-Id: I3873ecdeec781c30874d53d032406cbe23922a25
2024-04-14 10:29:11 +02:00
Janneke Nieuwenhuizen
abc47993ea
maint: Avoid PNG and PDF generation to fail silently.
* doc/local.mk (.dot.png): Split single shell command into separate recipe
lines, prefixed by $(AM_V_at).
(.dot.pdf): Likewise.

Change-Id: I41fb856bb73f947abd91361ed203132e939f3897
2024-04-14 10:29:11 +02:00
Janneke Nieuwenhuizen
4099b12f9f
maint: Avoid EPS generation to fail silently, ensure reproducibility.
Currently, Graphviz' dot does not insert a %%CreationDate.  ImageMagick's
convert on PNG->EPS does insert a %%CreationDate but it respects
SOURCE_DATE_EPOCH.

* doc/local.mk (.png.eps): Split single shell command into separate recipe
lines, prefixed by $(AM_V_at).
(.dot.png): Likewise.  Check that generated EPS file has no %%CreationDate.

Change-Id: I5a03485c19c72f0c46411815c51290e52a8e5399
2024-04-14 10:29:11 +02:00
Janneke Nieuwenhuizen
b4d2838d51
maint: Generate 'doc/version-LANG.texi' reproducibly.
* doc/local.mk ($(srcdir)/doc/stamp-vti): Change rule into...
(version.texi-from-git): ...this new function.  Call it with vti,guix.texi,;
and for all MANUAL_LANGUAGES with $(i),po/doc/guix-manual.$(lang).po,
-$(lang.po).

Change-Id: Ia8df618178066cad320eecea0299337224e23a73
2024-04-14 10:29:10 +02:00
Janneke Nieuwenhuizen
ea23a124ad
maint: Help help2man generate reproducible man-pages.
* doc/local.mk (SOURCE_DATE_EPOCH): New exported variable.

Change-Id: I6636693695d5502657f1475d93d31949e0b0b39d
2024-04-14 10:29:10 +02:00
Timothy Sample
8fdc372841
maint: Generate 'doc/version.texi' reproducibly.
* doc/local.mk ($(srcdir)/doc/stamp-vti): New rule (overriding one provided
by Automake).

Co-authored-by: Janneke Nieuwenhuizen <janneke@gnu.org>

Change-Id: If44965e9a3ecfb45865c58ee7a558951be8d15ae
2024-04-14 10:29:10 +02:00
Janneke Nieuwenhuizen
076670f7ac
doc: Use "dejavu sans" instead of "Helvetica" or "sans" in dot images.
Font-dejavu is (now) an input of fontconfig.  Specifying "dejavu sans" makes
generated images reproducible even when other fonts are installed (notably
font-google-noto).

* doc/images/bootstrap-graph.dot,
doc/images/bootstrap-packages.dot,
doc/images/coreutils-bag-graph.dot,
doc/images/coreutils-graph.dot,
doc/images/gcc-core-mesboot0-graph.dot,
doc/images/service-graph.dot,
doc/images/shepherd-graph.dot: Use fontname = "dejavu sans".
* doc/guix.texi (Full-Source Bootstrap): Update gcc-core-mesboot0.dot recipe
accordingly.

Change-Id: If21d7d39d45c66de5bceafb7b825a057d540ee50
2024-04-14 10:29:07 +02:00
Matthew Trzcinski
df7b569b46
doc: Standardize IRC stylization.
* doc/guix.texi (After System Installation): Make references to Libera.Chat
consistent.

Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-04-14 08:40:28 +02:00
Matthew Trzcinski
cd557e2d1c
doc: Fix grammar and markup.
doc/guix.texi (Setting Up the Daemon): Remove comma and extra words.

doc/guix.texi (Mail Services): Add definite article to setting.  Use
@samp markup on setting.

Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
Change-Id: I5b3ef115ec718454db4fc046ea5f77ba9fe50a37
2024-04-12 16:31:12 +02:00
Ludovic Courtès
b30b838d50
gexp: Add #:guile parameter to ‘gexp->file’ and ‘scheme-file’.
This brings ‘gexp->file’ in line with its documentation and mirrors
what’s done for ‘gexp->script’ and ‘program-file’.

Fixes <https://issues.guix.gnu.org/69401>.

* guix/gexp.scm (gexp->file): Add #:guile, as was already documented.
(<scheme-file>)[guile]: New field.
(scheme-file): Add #:guile.
(scheme-file-compiler): Honor ‘guile’ field.
* tests/gexp.scm ("gexp->file")
("gexp->file + file-append", "gexp->file + #:splice?")
("gexp->file, cross-compilation")
("gexp->file, cross-compilation with default target")
Add #:guile to ‘gexp->file’ calls.
("gexp-modules deletes duplicates")
("gexp->derivation & with-imported-module & computed module")
("gexp->derivation & with-extensions", "scheme-file"): Likewise for
‘scheme-file’ calls.

Change-Id: I47536063d5e411e561ec321e535267e92dd06044

Reported-by: Efraim Flashner <efraim@flashner.co.il>
Change-Id: I58d653c7fbe65c665bafcbd332ac9b264ddeab64
2024-04-08 00:05:48 +02:00
Florian Pelz
80d364b92b
doc: Restore some of the old installation instructions.
Follow-up to 227e0469db.

* doc/guix.texi (Binary Installation):
Revert wording for installing the Debian package.
Restore how to reproduce the binary tarball.
Restore how to uninstall.
(copying): Add copyright notice for Matthew Trzcinski.

Change-Id: Ib74199e39bd7a50ac58045f2bc47f61fc04eacb9
2024-04-07 10:29:37 +02:00
Matthew Trzcinski
2ce05b362c
doc: Move "Running the Test Suite" after "Building from Git".
* doc/contributing.texi (doc/guix.texi): Move "Running the Test
Suite" after "Building from Git".

Link: <https://lists.gnu.org/archive/html/guix-devel/2024-03/msg00023.html>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-04-06 11:38:34 -04:00
Matthew Trzcinski
fb82f6053c
doc: Move "Requirements" before "Building from Git"
* doc/contributing.texi (doc/guix.texi): Move "Requirements" before "Building
from Git".

Link: <https://lists.gnu.org/archive/html/guix-devel/2024-03/msg00023.html>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-04-06 11:37:44 -04:00
Maxim Cournoyer
2826596092
doc: Fix Texinfo menus.
There should be two spaces between the node name and its description.  Found
via 'M-x texinfo-all-menus-update' in Emacs.

Change-Id: I2b17180746f8d97ea5f927b8a504419c087dd5f5
2024-04-06 11:37:44 -04:00
Matthew Trzcinski
227e0469db
doc: Simplify installation instructions
* doc/guix.texi (Installation):
- Move the definition of "foreign distro" out of quotation
- Repeat overwrite warning
- Remove superfluous commentary

* doc/guix.texi (Binary Installation):
- Clarify that installing on a foreign distro has two methods: using
  packaged binaries and building from source
- Add cross reference to "Building from Git"
- Move the foreign distro installation instructions out of quotation
- Move directions for 'guix-install.sh' after instructions to use
  distribution-specific package managers
- Specify "distributions" as "GNU/Linux distributions"
- Add GnuPG as a requirement for 'guix-install.sh'
- Add comma after "Likewise"
- Remove redundant instructions to use 'guix-install.sh'
- Split the requirements between system requirements for binary
  installations, GNU/Linux or GNU/Hurd, and requirements for running
  'guix-install.sh'
- Clarify that 'guix-install.sh' guides users through the steps
- Summarize the steps 'guix-install.sh' follows rather than try to
  detail them
- Make explicit that the 'guix-install.sh' default is to download
  substitutes
- Emphasize that the substitute authorization code is an example and
  may need modification

Link: <https://lists.gnu.org/archive/html/guix-devel/2024-03/msg00023.html>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-04-06 11:37:39 -04:00
Ludovic Courtès
be14d41d9b
gnu: guix: Define ‘guix-for-channels’ and document its use.
* gnu/packages/package-management.scm (guix-for-channels): New
procedure.
* doc/guix.texi (Customizing the System-Wide Guix): New section.
(Base Services): Add cross-reference.

Change-Id: Ied51c3bf9bf08dfc629bb3f0a152eb20b869a636
2024-04-05 18:21:24 +02:00
Ludovic Courtès
d6a3818761
build-system/channel: Add support for additional channels.
Until now, ‘channel-build-system’ would assume a single channel, the
‘guix’ channel.  This change lets users specify additional channels
using the #:channels parameter.

* guix/build-system/channel.scm (build-channels): Add #:channels and
honor it.
(channel-build-system): In ‘lower’, add #:channels and honor it.
* doc/guix.texi (Build Systems): Document it.

Change-Id: I36c1d19cbeee02a4d1144de089b78df0390774a0
2024-04-05 18:21:23 +02:00
Ludovic Courtès
dd476cfb76
guix-install.sh: Add ‘--uninstall’ flag.
* etc/guix-install.sh (REQUIRE): Add groupdel and userdel.
(chk_term): Handle ‘WAR’.
(sys_delete_store, sys_delete_build_user, sys_delete_guix_daemon)
(sys_delete_init_profile, sys_delete_user_profiles): New functions.
(main): Rename to…
(main_install): … this.
(main_uninstall): New function.
(main): Dispatch between these two.
* doc/guix.texi (Installation): Refer to “Binary Installation” instead
of repeating it.
(Binary Installation): Document uninstallation.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I55b7c10823773bced2e268273e8ce828cb3bd98d
2024-04-05 18:21:23 +02:00
Florian Pelz
74517806f8
doc: Explain to run bootstrap after Automake errors.
Fixes <https://issues.guix.gnu.org/70140>.
Suggested by Rostislav Svoboda <rostislav.svoboda@gmail.com>.

* doc/contributing.texi (Building from Git): Explain.
* doc/guix.texi: Update copyright year.

Change-Id: I0cedc60f9ece3ec78df60df54ffeacff545bfc63
2024-04-05 16:12:59 +02:00
Christopher Baines
ac19e038b4
Switch order of the default substitute servers.
The aim here is to improve the user experience.  There's anecdotal evidence
that the network performance for bordeaux is better compared to ci at least
for some users, and I don't know of any issues with rate limiting or access
restriction for bordeaux compared to ci.  It also has IPv6 support.

Additionally, bordeaux generally had more substitutes than ci, particularly
for aarch64-linux and armhf-linux.  This change will offer a very slight
speedup for those substitutes that only bordeaux has.

Bordeaux has been a default substitute server for nearly 3 years now and I
think this change is overdue.  I'm also hopeful that we'll be able to build on
the testing regarding mirrors for bordeaux, and that'll allow potentially
improving the hosting setup (through providing more redundancy) and further
improving substitute fetching for users who currently have issues with
substitute access.

* config-daemon.ac: Switch substitute urls order.
* doc/guix.texi: Ditto.
* etc/guix-install.sh: Ditto.
* gnu/installer/newt/network.scm (wait-service-online): Ditto.
* guix/store.scm (%default-substitute-urls): Ditto.

Change-Id: I4f6d93ae1fc8b03d80b47b18b5749a51f1fde17b
Signed-off-by: Christopher Baines <mail@cbaines.net>
2024-04-03 17:18:38 +01:00
Janneke Nieuwenhuizen
df64d48e6f
maint: Fix help2man for guix subcommands with `make V=2'.
* doc/local.mk ($(srcdir)/%D%/guix-%.1): Use AM_V_HELP2MAN and cater for
make's `@' silencing at the start of the command.

Change-Id: Id80c48f0d7697167fea64700a7fe140003732d28
2024-04-03 16:19:47 +02:00
Florian Pelz
fa98837b1d
nls: Update translations.
* po/guix/ar.po: New file.
* po/guix/LINGUAS: Add 'ar'.
* po/doc/guix-cookbook.pt_BR.po: New file.
* po/doc/local.mk: Add 'pt_BR' cookbook.
* doc/local.mk: Add 'pt_BR' cookbook.
* doc/htmlxref.cnf: Update URLs for cookbook.
* doc/build.scm (%cookbook-languages): Add 'ko', 'pt_BR'.
* doc/guix-cookbook.texi (Top): Mention 'ko', 'pt_BR' cookbook.

Change-Id: Id1846ca100263b3fc1fa2ed52654c670270ee809
2024-04-01 14:09:20 +02:00
Maxim Cournoyer
4f236b328a
doc: cookbook: Fix typo.
* doc/guix-cookbook.texi (Network bridge for QEMU): Fix typo.

Change-Id: I32f88bd85157a6b2cee9f68840f9e77101596518
2024-03-31 21:25:50 -04:00
Liliana Marie Prikler
a915a57d91
Merge branch 'gnome-team' 2024-03-30 09:47:43 +01:00
Ludovic Courtès
b0a37d8b1a
doc: Cross-reference virtual build machines from ‘guix time-machine’.
* doc/guix.texi (Invoking guix time-machine): Tweak the note about
packages that may fail to build.  Add cross-reference to virtual build
machines.

Change-Id: Ib2a4a28cdca0c8970d0f5327e39b4a21800ea2e1
2024-03-30 01:01:32 +01:00
Ludovic Courtès
fbcd9022c6
doc: ‘guix time-machine’ can travel to v0.16.0.
This is a followup to a26bce55e6.

* doc/guix.texi (Invoking guix time-machine): Update reference to oldest
commit.

Change-Id: Iae3d751d4377de92481276f9f2f31128f85c23c4
2024-03-30 01:01:31 +01:00
Christopher Baines
b538c1d7b9
services: nar-herder: Add new configuration options.
* gnu/services/guix.scm (nar-herder-configuration-new-ttl,
nar-herder-cached-compression-configuration-unused-removal-duration,
nar-herder-cached-compression-configuration-ttl,
nar-herder-cached-compression-configuration-new-ttl): New procedure.
(nar-herder-shepherd-services): Handle the new options.
* doc/guix.texi (Guix Services): Document the new nar-herder options.

Change-Id: I161e490221a3ce394e32ada685dca27df60638bb
2024-03-25 20:40:22 +00:00