~ruther/guix-local

ref: d98dc7051d2dcdbaa2ce2f92fe6385ee7bd4bab0 guix-local/doc d---------
579df5bc — Richard Sent 1 year, 8 months ago
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>
834a4195 — Florian Pelz 1 year, 8 months ago
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
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>
5c474266 — Florian Pelz 1 year, 8 months ago
doc: cookbook: Fix direnv example.

When replacing `guix environment' with `guix shell',
I forgot to add a `--development' argument.

Follow-up to 9c3a8a380bcfebdb77af61532e7bfec523d7bde8.

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

Change-Id: I0a0df33b3b547bfc3ada10c4648e593be6608070
8f0878da — Ludovic Courtès 1 year, 9 months ago
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
eac51712 — Andrew Tropin 1 year, 8 months ago
Revert "services: home: Use pairs instead of lists."

This reverts commit dbeef44f3c520816251bde74c1005915a637e1ef.

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
dbeef44f — Andrew Tropin 1 year, 9 months ago
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
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>
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>
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>
4114060c — Maxim Cournoyer 1 year, 9 months ago
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
c0610dfb — Efraim Flashner 1 year, 9 months ago
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
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
77771036 — Maxim Cournoyer 1 year, 9 months ago
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
73b3f941 — Ludovic Courtès 1 year, 9 months ago
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
0efa1daa — Richard Sent 1 year, 9 months ago
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
c07731a7 — Giacomo Leidi 1 year, 9 months ago
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>
68adfaea — Giacomo Leidi 1 year, 9 months ago
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>
e68c1af4 — Giacomo Leidi 1 year, 9 months ago
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>
003c89a8 — Giacomo Leidi 1 year, 9 months ago
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>
Next