~ruther/guix-local

ref: bc06affabcf68bbe93e9afee13bef8cc8c6336a2 guix-local/doc d---------
eac51712 — Andrew Tropin 1 year, 9 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, 10 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, 10 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, 10 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, 10 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, 10 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, 10 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, 10 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, 10 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, 10 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, 10 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>
a237f0d4 — Giacomo Leidi 1 year, 10 months ago
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>
4955589f — Christopher Baines 1 year, 10 months ago
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
9c3a8a38 — Florian Pelz 1 year, 10 months ago
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
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
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>
Next