Commit graph

3940 commits

Author SHA1 Message Date
Arun Isaac
1a22809928
services: mumi: Add Debbugs rsync as shepherd timer.
* gnu/services/web.scm (<mumi-configuration>)[data-directory, rsync-remote,
rsync-flags]: New fields.
(%mumi-worker-log): Delete variable.
(%mumi-rsync-and-index-log): New variable.
(mumi-rsync-and-index): New function.
(mumi-shepherd-services): Remove mumi-worker service. Add mumi-rsync-and-index
service.
(mumi-service-type): Remove default value.
* doc/guix.texi (Web Services)[mumi]: Document data-directory, rsync-remote
and rsync-flags fields.

Co-authored-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-09-25 01:33:10 +01:00
Arun Isaac
464d738655
services: nginx: Add stream configuration.
* gnu/services/web.scm (<nginx-stream-configuration>): New record type.
(<nginx-configuration>)[stream]: New field.
(emit-nginx-server-config): Add context argument.
(default-nginx-config): Serialize stream.
* doc/guix.texi (Web Services): Document it.
2025-09-24 12:21:30 +01:00
Maxim Cournoyer
b03b8d23e0
doc: Clarify how to create the Codeberg token for `sync-codeberg-teams'.
* doc/contributing.texi (Teams): Mention needed permissions and provide the
page URL.

Change-Id: I4ba44379a4ce5df9e987b32f28ebac0c7dc35618
2025-09-23 23:03:09 +09:00
Tom Fitzhenry
ef4e77e76d
doc: Remove docs for non-existent virtio? parameter of raw-initrd.
virtio? was removed in commit eac026e5c8.

* doc/guix.texi (Initial RAM Disk): Remove docs for virtio? in raw-initrd.

Change-Id: I99aaf58f0c5239409511146c4617546a202f5041
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-23 14:58:03 +02:00
Alexey Abramov
7365e16db8
services: dhcpcd: Add shepherd-provision field.
* doc/guix.texi (Networking Setup)<dhcpcd-configuration>: Regenerate
the dhcpcd-configuration documentation.
* gnu/services/networking.scm (dhcpcd-configuration)
<shepherd-provision>: Add new field.  Fix typo in client-id description.
(dhcpcd-shepherd-service): Use it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-23 14:57:22 +02:00
Edouard Klein
9a70af56e0
doc: Fix documentation of ‘vfs-mapping’.
* doc/guix.texi (VFS Mapping Service): Fix source/destination mixup.

Change-Id: I10bd066369a6507e69a40155dc3faa23cf40c1e6
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-21 19:19:59 +02:00
Giacomo Leidi
877610c1ce
services: oci: Fix OCI backed Shepherd services HOME variable.
This patch allows containers run with podman to run each with their own
specific user.

* doc/guix.texi: Fix wrong type for oci-container-configuration's
shepherd-dependencies field.
* gnu/services/containers.scm (oci-container-shepherd-service): In case
a specific container is not run through the user provisioned by the
oci-service-type, its environment is different from the globally
provisioned one and must be recomputed.

Change-Id: I5d636ad0616ced0af124002de4403da3067334de
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-18 12:14:35 +02:00
Maxim Cournoyer
10482f731e
Reapply "Update Maxim's email address."
This reverts commit a7db92d9b3, this time with
the more careful command, to avoid a world rebuild:

grep -rl --exclude-dir=build --exclude-dir=patches --exclude=ld-wrapper.in \
  --exclude=sitecustomize.py --exclude=guix-emacs.el maxim.cournoyer@gmail.com |
  xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g'

Change-Id: I0871f5cf9ace79e34e78e24154d0da6ea95a3a91
2025-09-18 13:44:12 +09:00
Maxim Cournoyer
a7db92d9b3
Revert "Update Maxim's email address."
This reverts commit d0d87a744d. Oops! This
caused a world rebuild.

Change-Id: I25fff644b2b61d0ee93d69b457b04c72b5b74d15
2025-09-18 12:07:31 +09:00
Maxim Cournoyer
d0d87a744d
Update Maxim's email address.
The change was automated via:

  git grep -l maxim.cournoyer@gmail.com |
    xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g'

* .mailmap: New entry.

Change-Id: Iaa88b1e51c94159c49138fb43910badb990eb169
2025-09-18 08:05:19 +09:00
Gabriel Wicki
85e8036412
doc: Remove broken link.
* doc/contributing.texi: Delete sentence with broken link.

Change-Id: I2f0b67e1fa70750414e30d7cd474e1d4d077d9e8
2025-09-16 19:11:06 +02:00
Ian Eure
96c30d2bf6
gnu: Remove Tailon services and documentation.
The tailon package was removed in 63023deaf9,
but the associated service and documentation weren’t, leading to `guix pull`
breaking.

Fixes guix/guix#2689.

* doc/guix.texi: Remove Tailon documentation.
* gnu/services/web.scm (tailon-service-type): Delete variable.
(tailon-configuration-file): Delete variable.
(tailon-configuration-file?): Delete variable.
(tailon-configuration-file-files): Delete variable.
(tailon-configuration-file-bind): Delete variable.
(tailon-configuration-file-relative-root): Delete variable.
(tailon-configuration-file-allow-transfers?): Delete variable.
(tailon-configuration-file-follow-names?): Delete variable.
(tailon-configuration-file-tail-lines): Delete variable.
(tailon-configuration-file-allowed-commands): Delete variable.
(tailon-configuration-file-debug?): Delete variable.
(tailon-configuration-file-http-auth): Delete variable.
(tailon-configuration-file-users): Delete variable
(tailon-configuration): Delete variable.
(tailon-configuration?): Delete variable.
(tailon-configuration-config-file): Delete variable.
(tailon-configuration-package): Delete variable.
* gnu/tests/web.scm (%test-tailon): Delete variable.

Change-Id: I3b507df8233b0440baa6a2bce4604b5813cb3bb0
2025-09-14 11:13:17 -07:00
Arnaud Daby-Seesaram
aec2a05e35
home: services: home-sway-service-type: Enable extensions.
* gnu/home/services/sway.scm (%empty-sway-configuration): New value.
  (sway-combine): New procedure.
  (sway-compose): New procedure.
  (sway-extend): New procedure.
  (home-sway-service-type) [compose/extend]: New fields.
* doc/guix.texi (Sway window manager): Document this.

Change-Id: I548a18a6a273380be90c9b5b365f65a93cc02416
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-14 18:13:07 +02:00
Arnaud Daby-Seesaram
0b0f8702ea
home: services: Support options for bindings in sway-service-type.
* gnu/home/services/sway.scm (make-alist-predicate): Add an optional argument.
  (bindings?): Remove procedure.
  (keybinding-options?): New procedures.
  (codebinding-options?): New procedures.
  (gesture-options?): New procedures.
  (mouse-bindings?): Allow to pass options to mouse-bindings.
  (sway-configuration) [keybindings]: Allow to pass options to key-bindings.
  [gestures]: Allow to pass options to gesture-bindings.
  (sway-mode) [keybindings]: Allow to pass options to key-bindings.
  (serialize-binding): Support options.
  (serialize-mouse-binding): Support options.
  (serialize-keybinding): Support options.
  (serialize-gesture): Support options.
  (serialize-variable): Inline previous definition.
* doc/guix.texi (Sway window manager): Document this.

Change-Id: Icf210aca4a9b44adc0baead7430637f6fcda17e5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-14 18:13:07 +02:00
Ludovic Courtès
d72eef9c91
services: cuirass: Add more configuration fields.
* gnu/services/cuirass.scm (<cuirass-configuration>)[parallel-evaluations]
[evaluation-ttl, web-threads]: New fields.
(cuirass-shepherd-service): Honor them.
* doc/guix.texi (Continuous Integration): Document them.

Change-Id: I33485b978d2a37ee93230b1d425731e6cb3b80e4
2025-09-05 17:25:39 +02:00
Ludovic Courtès
7f5c1c662d
doc: Remove misplaced ‘guix refresh’ example.
* doc/guix.texi (Invoking guix refresh): Remove broken and out-of-place
‘trytond-party’ example.

Change-Id: Iab2413774eb611e7fab2519001f484ce29010599
2025-09-04 17:41:52 +02:00
Hugo Buddelmeijer
3f61691b18
doc: Restructure 'guix refresh' section.
Previously, there were options described in the running text (in
particular --recursive), and vice-versa, there was normal text
interleaved inbetween the options. Both hid information, as it was
unclear where an option description would change into running text.

Furthermore, tables were closed and opened arbitrarily, making the
section hard to read.

Can probably be improved further.

* doc/guix.texi (Invoking guix refresh): Restructured text.

Change-Id: I517d0dc43a9addbaccf5e5e8c9fadfa30fe378db
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-04 17:41:52 +02:00
Gabriel Santos
8a8a31fad1
docs: Fix module reference in guix-home-service-type.
* doc/guix.texi (Guix Services): Use (gnu services guix) module instead of the
outdated (gnu home) module in the example.

Closes #2369.

Change-Id: I19eeeffbaeb150db68510c90b0f7c8ef23bdfeb6
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-02 23:19:33 +09:00
Florian Pelz
f799d148ad
nls: Update translations.
* po/doc/guix-cookbook.zh_CN.po: New file.
* po/doc/local.mk: Add 'zh_CN' cookbook.
* po/packages/ru.po: New file.
* po/packages/LINGUAS: Add 'ru'.
* doc/local.mk: Add 'zh_CN' cookbook.
* doc/htmlxref.cnf: Update URLs for cookbook.
* doc/build.scm (%cookbook-languages): Add 'zh_CN'.
* doc/guix-cookbook.texi (Top): Mention 'zh_CN' cookbook.

Change-Id: Ic15114f01ee826a72060eebcbf1baf3bf619284f
2025-09-02 00:30:19 +02:00
Yelninei
fecaf550cf
services: hurd-vm: Support different hurd types.
* gnu/services/virtualization.scm (sanitize-hurd-vm-configuration-type): New procedure.
(hurd-vm-confiuration): Add type field.
(hurd-vm-disk-image): Use it.
* doc/guix.texi (hurd-vm-configuration): Document it.

* gnu/tests/virtualization.scm (%childhurd64-os): New variable.
(run-childhurd-test): Add the os a parameter.
(%test-childhurd): Adjust accordingly.
(%test-childhurd64): New system test.

Change-Id: Ie1c55a9414657ced4bf8b4324527037f1a1f78f4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-08-30 23:52:09 +02:00
Ludovic Courtès
b12844f5e0
services: cuirass: Increase default polling interval to 5mn.
* gnu/services/cuirass.scm (<cuirass-configuration>)[interval]: Change to 300.
* doc/guix.texi (Continuous Integration): Update accordingly and explain where
it is used.

Change-Id: I30e38ffe0d75cd1f5857b422b4fa5d05dd47a7e5
2025-08-29 17:43:35 +02:00
Ludovic Courtès
173709089b
doc: Add link to issues and pull requests with the ‘deprecation’ label.
* doc/contributing.texi (Deprecation Policy): Add note with link to
issues and pull requests with the ‘deprecation’ label.

Change-Id: If5e833e20c11796f961f48e086c54fdbb9155dd1
2025-08-28 23:01:25 +02:00
Giacomo Leidi
57386498b6
home: Add home-oci-service-type.
* gnu/home/service/containers.scm: New file;
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (OCI backed services): Document it.

Change-Id: I8ce5b301e8032d0a7b2a9ca46752738cdee1f030
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-08-25 13:04:36 +09:00
Giacomo Leidi
60f4d72590
services: Add oci-service-type.
This patch implements a generalization of the
oci-container-service-type, which consequently is made deprecated.  The
oci-service-type, in addition to all the features from the
oci-container-service-type, can now provision OCI networks and volumes.
It only handles OCI objects creation, the user is supposed to handle
state once the objects are provsioned.

It currently supports two different OCI runtimes: Docker and rootless
Podman.  Both runtimes are tested to make sure provisioned containers
can connect to each other through provisioned networks and can
read/write data with provisioned volumes.

At last the Scheme API is thought to facilitate the implementation of a
Guix Home service in the future.

* gnu/build/oci-containers.scm: New file containg OCI runtime business
logic used in OCI backed Shepherd services.
oci-read-lines
(oci-system*,oci-object-exists?,oci-object-service-available?
oci-image-load,oci-log-verbose,oci-container-execlp,oci-object-create):
New procedures.
* gnu/local.mk: Add it.
* gnu/services/containers.scm (list-of-oci-containers?,
list-of-oci-networks?,list-of-oci-volumes?,%oci-supported-runtimes,
oci-runtime?,oci-runtime-system-environment,oci-runtime-system-extra-arguments,
oci-runtime-system-requirement,oci-runtime-cli,oci-runtime-system-cli,
oci-runtime-home-cli,oci-runtime-name,oci-runtime-group,
oci-container-shepherd-name,oci-networks-shepherd-name,
oci-networks-home-shepherd-name,oci-volumes-shepherd-name,
oci-volumes-home-shepherd-name,oci-container-configuration->options,
oci-network-configuration->options,oci-volume-configuration->options,
oci-container-shepherd-service,oci-objects-merge-lst,oci-extension-merge,
oci-service-accounts,oci-service-profile,oci-service-subids,
oci-configuration->shepherd-services,oci-configuration-extend): New
procedures.
(image-reference): Implement unambiguous naming convention, that paired
with the new implementation for listing caches images with docker ls or
podman ls, allows for more efficient image caching.
(oci-container-configuration)[user,group]: Change default-type to
maybe-string, since by default containers will run under the user and
group declared in oci-configuration records. When unset the
oci-service-type will derive their value from the OCI runtime state.
[runtime,host-environment,environment,shepherd-actions,ports,extra-arguments]:
define a predicate and use it as a type in the configuration.  This
way errors are reported with source location information.
(lower-manifest): Defer to caller the logic of setting up an image tag.
(lower-oci-image): Rename to load-oci-image-state.
(oci-runtime-state): Intermediate representation of the OCI runtime
details. It is supposed to be an internal API.
(oci-state): Intermediate representation of the OCI provisioning state,
such as containers and networks. It is supposed to be an internal API.
(oci-container-invocation): Intermediate representation of the OCI
runtime run command to start a container. It is supposed to be an
internal API.
(%oci-image-loader): Rename to oci-image-loader and use
oci-runtime-state and (gnu build oci-containers).
(oci-container-shepherd-service): Use oci-state and oci-runtime-state,
add command-line action.
(oci-network-configuration,oci-volume-configuration,oci-configuration,
oci-extension): New record types.
(oci-service-type): New service-type.
* doc/guix.texi: Document it.
* gnu/tests/containers.scm: Test it.
* gnu/services/docker.scm: Deprecate the oci-container-service-type.

Change-Id: I656b3db85832e42d53072fcbfb91d1226f39ef38
Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-08-25 13:04:36 +09:00
Morgan Arnold
4e2e5c71cb
doc: Increase minimum Guile-Git version.
* doc/contributing.text: bump minimum required version of guile-git from
  0.5.0 to 0.10.0, required by 86022e994e.
* po/doc/guix-manual.*: update translations as well.

Change-Id: I8cc8fd720cc71fbe17e2e530f7411b9c888ba0f6
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-08-23 17:24:45 +02:00
Ludovic Courtès
c1e3c49135
services: system-log: Allow ‘max-silent-time’ to be #f.
* gnu/services/shepherd.scm (gexp-or-integer-or-false?): New procedure.
(system-log-configuration)[max-silent-time]: Change to
‘gexp-or-integer-or-false’.
* doc/guix.texi (Shepherd Services): Regenerate documentation with
‘configuration->documentation’.

Change-Id: I75228cd19ca892c26347a64cbb952668fc893669
2025-08-23 16:57:48 +02:00
Hilton Chain
3e45fc0f37
doc: Document lockfile importer based Rust packaging workflow.
* doc/guix.texi (Build Systems) [cargo-build-system]: Add cross-reference for
the term "Cargo workspaces".
* doc/contributing.texi (Packaging Guidelines)[Rust Crates]: Update
documentation.
* doc/guix-cookbook.texi (Packaging)[Packaging Workflow]: New section.
* gnu/packages/rust-crates.scm,
* gnu/packages/rust-sources.scm: Stop mentioning guix-rust-registry for now, we
may remove the repository if future merges are managed well.

Change-Id: Ic0c6378cf5f5df97d6f8bdd040b486be62c7bddc
2025-08-21 19:09:04 +08:00
Hilton Chain
92d130e035
import: crate: Stop importing dependencies from crates.io.
* guix/scripts/import/crate.scm (show-help, %options, guix-import-crate)
[--recursive, --recursive-dev-dependencies, --mark-missing]: Remove options.
* doc/guix.texi (Invoking guix import)[crate]: Adjust accordingly.
Mention packaging workflow.
* guix/import/crate.scm (make-crate-sexp): Don't use "rust-" prefix and semver
suffix for package name.
[#:cargo-inputs, #:cargo-development-inputs, #:build?]: Remove arguments.
(crate->guix-package)[#:include-dev-deps?, #:mark-missing?]: Remove arguments.
(<crate-dependency>): Remove data type.
(make-crate-dependency, crate-dependency?, json->crate-dependency)
(crate-version-dependencies, package-names->package-inputs)
(maybe-cargo-inputs, maybe-cargo-development-inputs, maybe-arguments)
(version->semver-prefix, find-package-version, crate-recursive-import): Remove
procedures.
* tests/crate.scm (test-foo-crate, test-bar-crate): Adjust for modified tests.
(test-foo-dependencies, test-bar-dependencies, test-root-crate)
(test-root-dependencies, test-intermediate-a-crate)
(test-intermediate-a-dependencies, test-intermediate-b-crate)
(test-intermediate-b-dependencies, test-intermediate-c-crate)
(test-intermediate-c-dependencies, test-leaf-alice-crate)
(test-leaf-alice-dependencies, test-leaf-bob-crate)
(test-leaf-bob-dependencies, rust-leaf-bob-3, rust-leaf-bob-3.0.2-yanked):
Remove variables.
("crate->guix-package yanked", "crate->guix-package only yanked available"): New
tests.
("crate->guix-package"): Adjust accordingly.
("crate->guix-package-marks-missing-packages", "crate-recursive-import")
("crate-recursive-import-honors-existing-packages")
("crate-import-only-yanked-available"): Remove tests.

Change-Id: Ib1d24511ed0ea1a2373f53de12e06afa7950a7d7
2025-08-21 19:09:04 +08:00
Hilton Chain
efaa3e681e
build-system: cargo: Deprecate #:cargo-inputs and #:cargo-development-inputs.
* guix/build-system/cargo.scm (lower): Emit warning when using #:cargo-inputs
or #:cargo-development-inputs.
* doc/guix.texi (Build Systems)[cargo-build-system]: Deprecate #:cargo-inputs
and #:cargo-development-inputs.

Change-Id: I43ed66e04c55368159aed309367c4ac278d8cc58
2025-08-21 19:09:04 +08:00
Hilton Chain
12e0b9e9e4
import: crate: Add ‘--lockfile’ option.
* guix/import/crate.scm (cargo-inputs-from-lockfile)
find-cargo-inputs-location, extract-cargo-inputs): New procedures.
* guix/scripts/import/crate.scm (%options): Add ‘--lockfile’ option.
(show-help): Add it.
(guix-import-crate): Use it.
* doc/guix.texi (Invoking guix import): Document it.

Change-Id: I291478e04adf9f2df0bf216425a5e8aeba0bedd9
2025-08-21 19:08:21 +08:00
Hilton Chain
5494343bfc
build-system: cargo: Support installing Cargo workspace.
*guix/build-system/cargo.scm (cargo-build, cargo-cross-build)
[#:cargo-install-paths]: New argument.
* guix/build/cargo-build-system.scm (install): Use it.
* doc/guix.texi (Build Systems)[cargo-build-system]: Document it.

Change-Id: I74ed1972a5716da05afeac8edb2b0e4b6834bf40
2025-08-21 19:08:19 +08:00
Hilton Chain
878bdd7fb6
build-system: cargo: Support packaging Cargo workspace.
* guix/build-system/cargo.scm (cargo-build, cargo-cross-build)
[#:cargo-package-crates]: New argument.
* guix/build/cargo-build-system.scm (package): Use it.
* doc/guix.texi (Build Systems)[cargo-build-system]: Document it.

Change-Id: I45ccd95e90827d47127015cb0bda2d41f792335b
2025-08-21 19:08:19 +08:00
Denis 'GNUtoo' Carikli
d5cf3b5def
doc: Upgrading Guix: Add instructions for distro packages.
This makes sure that, prior to the upgrade commands, the guix-daemon is run
from /var/guix/profiles/per-user/root/current-guix/bin/guix-daemon instead of
/usr/bin/guix-daemon.

* doc/guix.texi (Upgrading Guix): Add instructions for distro packages.

Change-Id: I71df3603cffc5d20b6a77241b0c384872b54ec83
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-08-20 16:09:30 +09:00
Denis 'GNUtoo' Carikli
96b0d77231
doc: Upgrading Guix: Constraint update command to guix-install.sh.
At least on distributions based on Arch Linux and Debian, the given command to
update the daemon doesn't work because the systemd service runs
/usr/bin/guix-daemon instead of
@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon.

* doc/guix.texi (Upgrading Guix): Tell that the command works if Guix was
installed with guix-install.sh.

Change-Id: I2360a9dc9a5b23f28e25402b92724f51d9ed3937
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-08-20 16:09:27 +09:00
Efraim Flashner
17f7e9c4f3
doc: Fix some typos.
* doc/contributing.texi (Bulk Updates): Fix typo.
* doc/guix.texi (Networking Services, Power Management Services, Guix
Services, Backup Home Services): Same.

Change-Id: I4ebde33ad628e35ea2c1888b8247707ab3763cf1
2025-08-06 13:30:53 +03:00
Greg Hogan
f361e7fa4a
gnu: cmake-build: Retry failed tests.
* guix/build-system/cmake.scm (cmake-build, cmake-cross-build),
* guix/build-system/qt.scm (qt-build, qt-cross-build): Add
test-repeat-until-pass? and test-repeat-until-pass-count fields.
* guix/build/cmake-build-system.scm (check): Add and use new fields.
* doc/guix.texi: Document new parameters.

Change-Id: I046dfc86a18fb2a2be4ae362c1226c2f8cab129c
2025-08-04 04:11:27 +00:00
Greg Hogan
5da1d852c2
build-system/cmake: Use CMake.
* guix/build/cmake-build-system.scm (configure): Add and use generator
field to configure the build system. Create and use CMake variable cache
file. Set the CMake variable BUILD_TESTING to the value of TESTS? so
that a package can optionally build tests. Set CMAKE_COLOR_DIAGNOSTICS
to ON. Set max load for parallel builds.
(build, install): New function.
(check): Replace call to gnu-build's non-parallelizable check with
function using cmake's ctest.
(%standard-phase): Add new build and install functions as phases.

* guix/build-system/cmake.scm (cmake-build, cmake-cross-build),
* guix/build-system/qt.scm (qt-build, qt-cross-build): Add generator
and test-exclude fields and remove unused test-target field.
* doc/guix.texi: Document new parameters.

* guix/build-system/cmake.scm (cmake-build),
* guix/build-system/qt.scm (qt-build): Add ninja to build-inputs.

Change-Id: Ifa8174c91f0fdc030ac5813e98f7c21cba1a7725
2025-08-03 23:36:40 +00:00
Zacchaeus
c40c69766d
doc: Correct tor-onion-service-configuration mapping documentation.
* doc/guix.texi (Networking Services): Fix tor-onion-service-configuration
description which was broken in commit 9be1ee6a49 when documentation was
changed to indicated that port-location mappings should be provided as cons
cells when the code always expected lists

Change-Id: Ib12d273cbd37976f9507a60a6d088078f71d4e7a
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2025-08-03 11:07:45 +02:00
Gabriel Wicki
564ba45905
doc: Fix rootless-podman-service-type example.
Fixes: guix/guix#1308.

* doc/guix.texi (Miscellaneous Services): Fix the rootless-podman-service-type
example.

Change-Id: I3ff484df7088fe8e0994c71b81ee474c81a3070a
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2025-08-03 11:05:20 +02:00
Efraim Flashner
54717bb5b3
guix: lint: Check for misplaced argument flags.
* guix/lint.scm (check-misplaced-flags): New procedure.
(%local-checkers): Register new lint-checker.
* doc/guix.texi (Invoking guix lint): Add entry for misplaced-flags.
* tests/lint.scm (misplaced-flags: make-flag is incorrect,
misplaced-flags: configure-flag is incorrect, misplaced-flags: cargo
feature flags, misplaced-flags: flags without g-exp is incorrect,
misplaced-flags: build-type set correctly): New tests.

Change-Id: Ia8abbe787e26bffc65ee5c763326c7e271c189a4
2025-07-28 10:34:36 +03:00
Zacchaeus
16dbd20852
services: tor: add auto-start?
* gnu/services/networking.scm (tor-configuration): Add `auto-start?' field.
Fix indent.
* doc/guix.texi (tor-configuration): Document this.

Change-Id: I9339291e3329d615550f97e9cc0f0d773f0d1c51
Reviewed-by: André Batista <nandre@riseup.net>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-27 09:28:31 +01:00
Edouard Klein
b740fe801e
services: Add shared-cache-service-type.
* gnu/services/guix.scm (shared-cache-service-type)
(shared-cache-configuration, user-cache): New variables.
* doc/guix.texi (Shared Cache Service): New subsubsection under
"Guix Services".

Change-Id: I73a8db228d9a892c8bb93c6cdfef12d0d06e25a6
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-07-25 23:36:10 +09:00
Edouard Klein
f05f8fb6b4
services: Add vfs-mapping-service-type.
* gnu/services/linux.scm (vfs-mapping-service-type, vfs-mapping-configuration,
vfs-mapping-binding): New variables.
* doc/guix.texi: (Vfs Mapping Service): New subsubsection under "Linux Services".

Change-Id: I7ebd48afb809ded9fa6fe9eb80c618accb856716
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-07-25 23:36:10 +09:00
Maxim Cournoyer
93b65f5aca
doc: Adjust guix-install.sh URL.
A new alias as been added to the nginx configuration to improve consistency.

* doc/guix.texi (Binary Installation): Replace https://guix.gnu.org/install.sh
with https://guix.gnu.org/guix-install.sh.

Closes: #573
Change-Id: Iaf1da338b5d6433e9e7b1459db3587bf7a44ad79
Reported-by: Artyom V. Poptsov <poptsov.artyom@gmail.com>
2025-07-19 22:22:15 +09:00
wrobell
c65da197cf
services: Add rabbitmq service.
* gnu/services/high-availability.scm (<rabbitmq-configuration>): New record.
  (rabbitmq-shepherd-service): New procedure.
  (rabbitmq-service-type): New variable.
* gnu/tests/high-availability.scm (run-rabbitmq-test): New procedure.
  (%rabbitmq-os, %tests-rabbitmq): New variables.
* doc/gnu.texi (High Availability Services): Document it.

Change-Id: I53e9f2881b6340e1ed314785e4c5529b81381a3b
Co-authored-by: Christopher Baines <mail@cbaines.net>
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-19 01:47:50 +01:00
Tomas Volf
e72c26d7f0
doc: Update arguments for gexp procedures.
Some keyword arguments were missing, some had wrong default values.  This
commit updates the documentation to match the code.

* doc/guix.texi (G-Expressions)[computed-file]: Use @var.  Document #:guile.
[gexp->script]: Fix default value for #:target.
[gexp->file]: Document #:system and #:target.

Change-Id: Ie92a57fe1c3b45d1c7a5e8865fcf291c5f590c11
Signed-off-by: Janneke Nieuwenhuizen <janneke@gnu.org>
2025-07-18 20:17:27 +02:00
Ludovic Courtès
14c8728f0d
mapped-devices: luks: Adjust to support extra arguments.
Fixes <https://issues.guix.gnu.org/70826>.

When using ‘luks-device-mapping-with-options’, procedures such as
‘operating-system-boot-mapped-devices’ would fail to identify LUKS
mapped devices because they would check whether the mapped device type
is ‘eq?’ to ‘luks-device-mapping’.

This addresses that by ensuring mapped devices are always of the
‘luks-device-mapping’ type, even when different options are used.

* gnu/system/mapped-devices.scm (close-luks-device): Add #:rest.
(luks-device-mapping-with-options): Deprecate.
* gnu/tests/install.scm (%encrypted-home-os-key-file): Update
accordingly.
* doc/guix.texi (Mapped Devices): Document use of the ‘arguments’ field
of ‘luks-device-mapping’.  Remove ‘luks-device-mapping-with-options’
documentation.
(Bootloader Configuration): Update example with key file in extra
initrd.

Change-Id: I5442908cb8ef4e3891dbb053cccf5e42b895486f
Reported-by: Tadhg McDonald-Jensen <tadhgmister@gmail.com>
2025-07-18 00:57:31 +02:00
Ludovic Courtès
62bf9a7cc7
mapped-devices: Add ‘arguments’ field.
Fixes <https://issues.guix.gnu.org/70826>.

This allows users to specify extra arguments specific to the underlying
mapped device type.

* gnu/system/mapped-devices.scm (<mapped-device>)[arguments]: New field.
(device-mapping-service-type): Honor it.
* guix/scripts/system.scm (check-mapped-devices): Likewise.
* gnu/system/linux-initrd.scm (raw-initrd): Likewise.
* doc/guix.texi (Mapped Devices): Document it.

Reported-by: 45mg <45mg.writes@gmail.com>
Change-Id: Idef5a3e68535c412f13bae9a92c81c49053d4f4a
2025-07-18 00:57:25 +02:00
cdr-shdr-wdr
9f6b8a7f25
doc: Fix some grammar.
* doc/contributing.texi (Alternative Setups): Fix grammar, add double space.
(Sending a Patch Series): Add missing word.
* doc/guix.texi (Daemon Offload Setup, Invoking guix repl): Fix grammar.
(Bootloader Configuration): Fix grammar, capitalize "RAM".

Change-Id: I459c8343b28b2b3474c7a54372f75c61c8111a10
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2025-07-12 12:58:32 +02:00
Danny Milosavljevic
72996cd573
services: greetd: Support initial-session.
* gnu/services/base.scm (<greetd-terminal-configuration>): Add
initial-session-user, initial-session-command.
* doc/guix.texi (Base Services): Document them.

Change-Id: Iaf7a8203f34794bc36b031166e1ff7005d7a7104
2025-07-12 02:39:54 +02:00