Commit graph

3947 commits

Author SHA1 Message Date
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
Florian Pelz
13cd6c9a13
nls: Update translations.
* po/doc/guix-cookbook.it.po: New file.
* po/doc/guix-manual.it.po: New file.
* po/doc/local.mk: Add 'it' manual, cookbook.
* po/doc/po4a.cfg (po4a_langs): Add 'it'.
* po/guix/el.po: New file.
* po/guix/LINGUAS: Add 'el'.
* doc/local.mk: Add 'it' manual, cookbook.
* doc/htmlxref.cnf: Update URLs for manual, cookbook.
* doc/build.scm (%cookbook-languages, %manual-languages): Add 'it'.
* doc/guix.texi (Top): Mention 'it' manual.
* doc/guix-cookbook.texi (Top): Mention 'it' cookbook.

Change-Id: I46023fa4b2dbe9db5227292823b4df9e41c3cee0
2025-07-10 18:43:09 +02:00
Florian Pelz
d7e986e482
doc: Replace www.gnu.org broken links.
See <https://bugs.gnu.org/78319>.

* doc/guix-cookbook.texi (Packaging Tutorial): Fix links.

Change-Id: Ib13b77a8248f6a1b91c05079c457bc4e96d847f3
2025-07-10 18:42:38 +02:00
Julien Lepiller
8b7208cb8e
doc: Update weblate URL.
* doc/build.scm (stylized-html): Update URL from fedora to codeberg's
  Weblate.
* doc/contributing.texi: idem.
* doc/guix-cookbook.texi: idem.
* doc/guix.texi: idem.

Change-Id: I13729a73f94738c9c336a067058020549f2640d6
2025-07-09 19:06:25 +02:00
Ludovic Courtès
f8c9432897
doc: Fix URL of ‘language-picker.svg’.
Fixes a regression introduced in
824d46a2fe.

* doc/build.scm (stylized-html)[build]: Avoid double leading slash for
‘language-picker.svg’.

Change-Id: I0817949862f061dbbe04352bda1e479347015c84
2025-07-09 14:26:09 +02:00
Ludovic Courtès
824d46a2fe
doc: Add links to versions and variants as a drop-down menu.
* doc/build.scm (%latest-guix-version): New variable.
(stylized-html): Add #:latest-version.
[build](menu-item-separator): New variable.
(version-menu-items, input-file-language): New procedures.
(stylized-html, process-html): Add ‘language’ parameter.  Update
callers.

Change-Id: If7cea2410802eec5af1d3c0407d5569250eb15ef
2025-07-09 11:53:23 +02:00
Ludovic Courtès
4e1f3d79f0
doc: Really honor ‘GUIX_WEB_SITE_URL’.
This is useful when testing changes locally, so that CSS links point to
the right place.

* doc/build.scm (%web-site-url): Default to /.
(%manual-css-url): Honor ‘%web-site-url’.

Change-Id: I8d885eba0fb8560dd7da7f21629c716a06c16b1f
2025-07-09 11:53:23 +02:00
Ludovic Courtès
b1dfc274ad
doc: Add missing paren in example.
* doc/guix.texi (Messaging Home Services): Add missing parent in
‘home-snuik-service-type’ example.

Change-Id: I97014da939f548000c45177f38387543c9200fc4
2025-07-09 11:53:23 +02:00
Maxim Cournoyer
0e14b1f971
doc: Update letsencrypt URL for retrieving ACME subscriber agreement.
* doc/guix.texi (Certificate Services): Update URL.

Change-Id: Ie32dcbc8198b70f1362b42c652542e3cc5654938
2025-07-08 16:54:06 +09:00
Pierre Langlois
57fc58ba48
services: certbot: Add dry-run? certificate option.
* gnu/services/certbot.scm (certificate-configuration): Add dry-run? field.
(certbot-command): Use it to pass --dry-run to certbot.
* doc/guix.texi (Certificate Services): Document dry-run? option.

Change-Id: I26b0dc06e2b7e5fb34305deee09e311d085f8a4b
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-07-08 16:54:06 +09:00
Pierre Langlois
c603068f6f
services: certbot: Refer to authentication-hook in documentation.
* doc/guix.texi (Cerfiticate Services): Refer to non-abbreviated
authentication-hook instead of auth-hook.

Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-07-08 16:54:06 +09:00
Ludovic Courtès
6b42df3ad6
services: ci: Add Forgejo Runner service.
* gnu/services/ci.scm (<forgejo-runner-configuration>): New record type.
(create-forgejo-runner-account, forgejo-runner-activation)
(write-yaml, yaml-file, forgejo-runner-shepherd-service): New procedures.
(forgejo-runner-service-type): New variable.
* doc/guix.texi (Continuous Integration): Add “Forgejo Runner” heading.

Co-authored-by: David Thompson <davet@gnu.org>
Change-Id: Iba42d84da35812afa60e94773fbbadd68eca9813
2025-07-04 18:41:43 +02:00
Ludovic Courtès
04e80066a2
doc: More typographical tweaks for “Bulk Updates” section.
* doc/contributing.texi (Bulk Updates): Capitalize title.  Leave two
spaces after end-of-sentence period.  Use @dots{} instead of showing
full store file names, as per ‘assert-no-store-file-names’ target.
Fix typo.

Change-Id: Iceb0079ec35fda95280afff1c0d4b2cd84717b96
2025-07-01 23:21:32 +02:00
Sergey Trofimov
c4b332bfc1
doc: contributing: Correct typos in Bulk updates.
* doc/contributing.texi (Bulk updates): Correct typos.

Change-Id: I660520b64139537e6ca9186c06810f5053d4368e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-07-01 22:57:27 +02:00
Nicolas Graves
76a19b08b0
doc: Update CVE documentation.
* doc/guix.texi (Invoking guix lint): Document ‘cpe-vendor’ and
‘lint-hidden-cpe-vendors’.

Change-Id: I5f3054c9f6e2d1e85a1ccb293a2471439f5e5f44
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-06-30 19:36:42 +02:00
Christopher Baines
c099efbf59
gnu: bffe: Update to 0-15.2f9b1cb.
* gnu/packages/package-management.scm (bffe): Update to 0-15.2f9b1cb.
* doc/guix.texi (Guix Services): Remove build-priority option from example.

Change-Id: Ib6444dabef5bae4976d2ff9e3e4956873e49f0bc
2025-06-28 10:03:22 +02:00
jgart
2575929020
doc: Add copyright.
* doc/guix.texi: Add copyright.

Change-Id: I4bc634a8ae5341e664988cd062155d67bd265e90
2025-06-25 15:57:12 -04:00
jgart
f4841808e2
doc: Mention asdf-build-system/clasp.
* doc/guix.texi: Mention asdf-build-system/clasp.

Change-Id: I571c1ac455473ae999a5d35470813b3c4e5fd06e
Signed-off-by: jgart <jgart@dismail.de>
2025-06-25 15:23:16 -04:00
Reepca Russelstein
fb42611b8f
daemon: Use slirp4netns to provide networking to fixed-output derivations.
Previously, the builder of a fixed-output derivation could communicate with an
external process via an abstract Unix-domain socket.  In particular, it could
send an open file descriptor to the store, granting write access to some of
its output files in the store provided the derivation build fails—the fix for
CVE-2024-27297 did not address this specific case.  It could also send an open
file descriptor to a setuid program, which could then be executed using
execveat to gain the privileges of the build user.

With this change, fixed-output derivations other than “builtin:download”
and “builtin:git-download” always run in a separate network namespace
and have network access provided by a TAP device backed by slirp4netns,
thereby closing the abstract Unix-domain socket channel.

* nix/libstore/globals.hh (Settings)[useHostLoopback, slirp4netns]: new
fields.
* config-daemon.ac (SLIRP4NETNS): new C preprocessor definition.
* nix/libstore/globals.cc (Settings::Settings): initialize them to defaults.
* nix/nix-daemon/guix-daemon.cc (options): add --isolate-host-loopback option.
* doc/guix.texi: document it.
* nix/libstore/build.cc (DerivationGoal)[slirp]: New field.
(setupTap, setupTapAction, waitForSlirpReadyAction, enableRouteLocalnetAction,
 prepareSlirpChrootAction, spawnSlirp4netns, haveGlobalIPv6Address,
 remapIdsTo0Action): New functions.
(initializeUserNamespace): allow the guest UID and GID to be specified.
(DerivationGoal::killChild): When ‘slirp’ is not -1, call ‘kill’.
(DerivationGoal::startBuilder): Unconditionally add CLONE_NEWNET to FLAGS.
When ‘fixedOutput’ is true, spawn ‘slirp4netns’.
When ‘fixedOutput’ and ‘useChroot’ are true, add setupTapAction,
waitForSlirpReadyAction, and enableRouteLocalnetAction to builder setup
phases.
Create a /etc/resolv.conf for fixed-output derivations that directs them to
slirp4netns's dns address.
When settings.useHostLoopback is true, supply fixed-output derivations with a
/etc/hosts that resolves "localhost" to slirp4netns's address for accessing
the host loopback.
* nix/libutil/util.cc (keepOnExec, decodeOctalEscaped, sendFD, receiveFD,
  findProgram): New functions.
* nix/libutil/util.hh (keepOnExec, decodeOctalEscaped, sendFD, receiveFD,
  findProgram): New declarations.
* gnu/packages/package-management.scm (guix): add slirp4netns input for linux
  targets.
* tests/derivations.scm (builder-network-isolated?): new variable.
  ("fixed-output derivation, network access, localhost", "fixed-output
  derivation, network access, external host"):
  skip test case if fixed output derivations are isolated from the network.

Change-Id: Ia3fea2ab7add56df66800071cf15cdafe7bfab96
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2025-06-24 10:07:57 -04:00
Jelle Licht
f17acfc2db
doc: contributing: Fix broken example.
* doc/contributing.texi (Bulk updates): Properly escape special characters.

Change-Id: I9aa4d88f19904056546717cd80ca89ab2f5924fe
2025-06-23 17:41:02 +02:00
Sharlatan Hellseher
0cd9eef15d
doc: Document bulk updates.
* doc/contributing.texi (Bulk updates): New section describing update
technique for collection of packages.

Change-Id: Ic67978a6c8e0140980a0ede968f7e411faf23a1d
Signed-off-by: jgart <jgart@dismail.de>
2025-06-23 11:07:07 -04:00
Jonas Meeuws
a597b95593
doc: Replace ftp.gnu.org with ftpmirror.gnu.org
* doc/guix.texi: Change BASE-URL.

Closes: #408
Change-Id: Id71b413d55019d900ead71e690c2c8fe407f5a3e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-06-16 23:11:10 +02:00
Ludovic Courtès
d1f91d1686
doc: Fix typo.
* doc/contributing.texi (The Issue Tracker): Fix typo.

Change-Id: Ibcc93fa13bcb8a5bc902e6ce743b43b7973608e4
2025-06-12 14:38:17 +02:00
Ludovic Courtès
ff954d9c9f
doc: Document ‘etc/teams.scm sync-codeberg-teams’.
* doc/contributing.texi (Teams): Document ‘sync-codeberg-teams’.

Change-Id: I0a32c78b26f3687ed744a29a9d768b5ee597d932
2025-06-09 22:05:14 +02:00
Ludovic Courtès
37e6363820
doc: Mention Codeberg issues and pull requests.
* doc/contributing.texi (Submitting Patches): Describe the two options,
Codeberg and Debbugs.
(Sending a Patch Series): Add deprecation warning.
(The Issue Tracker): Mention Codeberg.
(Managing Patches and Branches): Remove initial reference to
guix-patches.
(Debbugs User Interfaces): Add deprecation warning.
(Reviewing the Work of Others): Mention pull request approval.

Change-Id: Ibf21e8923e555db1e14107ad87a65bf45f9f3fc3
2025-06-09 22:05:14 +02:00
Ludovic Courtès
5a0271c43f
services: iwd: Use the official name.
* gnu/services/networking.scm (iwd-shepherd-service): Fix name and
mention “iwd” in ‘description’.
* doc/guix.texi (Networking Setup): Correct iwd’s name and add link.

Change-Id: I7605488f2018b8ac60664c6617a82f05ddadf6ec
2025-06-06 18:30:27 +02:00
Ludovic Courtès
33ec2f58ff
services: iwd: Provide default value in <iwd-settings>.
Fixes a failure of ‘tests/guix-system.sh’, when running ‘guix system
search .’:

    2296:10  3 (iwd-environment _)
     2165:0  2 (%iwd-network-settings-name-resolving-service-procedure #)
  In ice-9/boot-9.scm:
    1685:16  1 (raise-exception _ #:continuable? _)
    1685:16  0 (raise-exception _ #:continuable? _)

  ice-9/boot-9.scm:1685:16: In procedure raise-exception:
  In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): %unset-marker%

* gnu/services/networking.scm (iwd-settings)[network]: Provide default
value.

Change-Id: I2ea28853f698583ceeaa0b56cde8447fe3546dc3
2025-06-06 18:22:51 +02:00
Hilton Chain
62b5a27c86
doc: contributing: Disable authentication when simulating ‘guix pull’.
* doc/contributing.texi (Submitting Patches): Add ‘--disable-authentication’
when simulating ‘guix pull’.
* .forgejo/pull_request_template.md: Likewise.

Fixes: #427
Change-Id: I4c6847314c8876a2f6e29f938cbbbe286178231b
2025-06-06 21:18:15 +08:00
Sergey Trofimov
c4e1081f82
services: networking: Add iwd-service-type.
* gnu/services/networking.scm (iwd-service-type): New service type.
(iwd-configuration), (iwd-settings), (iwd-scan-settings),
(iwd-general-settings), (iwd-network-settings): New configuration types.
* doc/guix.texi (Networking setup): Document it.

Change-Id: I852115b9c6768b3ec4eedb34a7f9e66438bd1429
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-06-05 22:43:36 +02:00
Sergey Trofimov
e4995c9978
services: network-manager: Require wireless-daemon.
* gnu/services/networking.scm
(<network-manager-configuration>)[shepherd-requirement]:
Replace wpa-supplicant with wireless-daemon.
* doc/guix.texi (Networking Setup): Adjust.

Change-Id: Id1a51429ccb6ea24839fc2aacd051a3ffe91c33c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-06-05 22:42:14 +02:00
Sergey Trofimov
faa8cdfc09
services: wpa-supplicant: Add 'wireless-daemon' provision.
* gnu/services/networking.scm (wpa-supplicant-configuration):
[requirement]: Deprecate, [shepherd-requirement]: New field,
[shepherd-provision]: Extract to a field. Add 'wireless-daemon to it.
* doc/guix.texi (Networking Setup): Document it.

Change-Id: Icc6fdd695e6e96ef168a085524989da639f77cd3
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-06-05 22:42:14 +02:00
Sergey Trofimov
2ec1469104
services: networking: Add shepherd-requirement for dhcpcd.
* gnu/services/networking.scm (dhcpcd-configuration): Add
shepherd-requirement field.
(dhcpcd-shepherd-service): Use it.
* doc/guix.texi (Networking Setup): Regenerate dhcpcd-configuration
documentation.
(File Systems): Fix typo.

Change-Id: Id347e2bed2569237685a47be82dbf686640db25b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-06-05 22:42:13 +02:00
Ludovic Courtès
57ec633ea9
doc: Use CSS from guix.gnu.org.
This is a followup to commit 7bbc00ccf0315a68509cacd6a85e1ae8ae7f5e5d of
guix/artwork.git.

* doc/build.scm (%manual-css-url): New variable.
(%makeinfo-html-options): Use it instead of www.gnu.org/…/manual.css.
(stylized-html): Likewise for the default #:manual-css-url.

Change-Id: I20bd3866383f8cbb4984993c15dbab483a17f6c9
2025-06-05 22:42:13 +02:00
Adam Quandour
3df02ddb26
doc: cookbook: Fix grammar.
* doc/guix-cookbook.texi (Customizing the Kernel): Fix grammar.

Change-Id: I896536a6c9f06e2fb30f3da56e054a26bfd5d0af
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2025-06-02 12:03:46 +08:00
Mickaël Fortunato
dc02be0b61
doc: Depend on os-config-*.texi files.
This allows running `make info` without having to run `make` first.

* doc/local.mk (%C%_guix_TEXINFOS): Add os-config-*.texi.

Change-Id: I1998bccc6fb13a74e992a3f23311ed0de4799e89
Signed-off-by: Ekaitz Zarraga <ekaitz@elenq.tech>
2025-05-30 20:09:48 +02:00
Maxim Cournoyer
f458883cf5
doc: Substitute 'outputted' for 'output'.
* doc/guix.texi (mpv Media Player): Use the more common usage [0].

[0]  https://english.stackexchange.com/a/35433

Change-Id: I5c10d281441c2995849df880dbaf62a790d2ff78
2025-05-27 19:22:39 +09:00
Tomas Volf
0543ccf62c
home-mpv-configuration: Support file-like for file fields.
* gnu/home/services/mpv.scm (serialize-mpv/file, mpv/file?): New procedures.
(ao-null-latency, audio-file-paths, audio-files, bluray-device, cdda-device)
(chapters-file, cookies-file, cover-art-files, demuxer-cache-dir, dump-stats)
(dvbin-file, dvd-device, external-files, glsl-shaders, gpu-shader-cache-dir)
(icc-cache-dir, icc-profile, image-lut, include, input-conf, input-ipc-server)
(log-file, lut, ordered-chapters-files, osd-fonts-dir, screenshot-directory)
(scripts, stream-dump, sub-ass-styles, sub-file-paths, sub-files)
(sub-fonts-dir, target-lut, tls-ca-file, tls-cert-file, tls-key-file):
(vo-image-outdir, watch-history-path, watch-later-directory): Change type.
* doc/guix.texi (mpv Media Player): Document it.

Reported-by: Sergey Trofimov <sarg@sarg.org.ru>
Change-Id: I7e55b306104c235d165ab138397b767f1af5c124
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-05-27 19:22:39 +09:00
Tomas Volf
0e23ff2995
home-mpv-configuration: Update for mpv 0.40.0.
* gnu/home/services/mpv.scm (audio-backward-batch, clipboard-backends)
(clipboard-monitor?, demuxer-mkv-crop-compat?, hwdec-software-fallback)
(input-ime?, load-commands?, load-console?, load-positioning?)
(osd-bar-marker-min-size, osd-bar-marker-scale, osd-bar-marker-style)
(osd-selected-color, osd-selected-outline-color, playlist-exts)
(save-watch-history?, sub-ass-prune-delay, sub-ass-scale-with-window?)
(sub-hinting, sub-line-spacing, sub-scale-signs?, sub-shaper, video-recenter?)
(watch-history-path, wayland-internal-vsync): New options.
(cache-pause-wait, video-aspect-override): Change range.
(dvbin-timeout, media-controls, target-colorspace-hint): Change type.
(video-aspect-method): Add enumeration member.
(drm-connector, drm-device, drm-draw-plane, drm-draw-surface-size)
(drm-drmprime-video-plane, drm-format, drm-mode, drm-vrr-enabled)
(load-osd-console?, sub-ass-hinting, sub-ass-line-spacing)
(sub-ass-scale-with-window?, sub-ass-shaper)
(vd-lavc-software-fallback): Removed options.
* doc/guix.texi: Update the list of fields.

Change-Id: I7e55b306104c235d165ab138397b767f1af5c124
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-05-27 19:22:39 +09:00
Maxim Cournoyer
cfa2de2a77
services: Modernize and test nftables service.
* doc/guix.texi (Networking Services) <nftables>: Update doc.
* gnu/services/networking.scm (list-of-debug-levels?):
(debug-level?, maybe-list-of-debug-levels?):
(nftables-configuration): Rewrite using `define-configuration'.
[debug-levels]: New field.
(nftables-shepherd-service): Honor it.
* gnu/tests/networking.scm (%inetd-echo-port): Extract to top level.
(run-iptables-test): Adjust accordingly.
(make-nftables-os): New procedure.
(%default-nftables-ruleset-for-tests): New variable.
(%nftables-os): Likewise.
(%test-nftables): New test.

Change-Id: I2889603342ff6d2be6261c3de6e4fddd9a9bbe2d
2025-05-26 13:43:28 +09:00
Maxim Cournoyer
900d1fdbff
services: Add vte-integration-service-type.
* gnu/services.scm (vte-integration-service-type): New service type.
* doc/guix.texi (Service Reference): Document it.

Change-Id: I7e4bc1b913b50a5a061894f9ddef27f1877b62a2
2025-05-26 13:43:03 +09:00
Maxim Cournoyer
c743d646ee
system: Factorize bashrc default configuration.
This factorizes out the remaining bashrc bits from /etc/skel/.bashrc to a the
template used for both /etc/bashrc on Guix System and ~/.bashrc for
home-bash-service-type.

Rationale: The use of /etc/skel introduce state: the file is only copied
originally when the user account is created, and never (automatically)
refreshed again.

* gnu/system.scm (operating-system-etc-service):
<profile>: Guard against souring /etc/bashrc in non-interactive, SSH case.
<bashrc>: Use %default-bashrc, having migrated the remaining definitions to...
* gnu/system/shadow.scm (%default-bashrc): ... here.  Factorize aliases to...
* gnu/services.scm (%default-bash-aliases): ... here.
(%default-bashrc-d-aliases): New variable.
(%default-etc-bashrc-d-files): Include it in the default configuration.
* gnu/services/base.scm (%base-services): Register etc-bashrc-d-service-type.
* gnu/home/services/shells.scm (add-bash-configuration): Do not set PS1, now
part of %default-bashrc.
(home-bash-configuration) [guix-defaults?]: Update doc.
[aliases]: Set %default-bash-aliases as the default value.  Update doc.
* doc/guix.texi (Shells Home Services): Update documentation.
(Service Reference): Update example.

Change-Id: I340c614983a78fd20a9c4a9705e7fc542ae9b513
2025-05-26 13:43:03 +09:00
Maxim Cournoyer
45b883a9d3
system: Migrate sourcing bash_completion.sh to etc-bashrc-d-service-type.
* gnu/system.scm (operating-system-etc-service): Remove block sourcing
bash_completion.sh.
(%base-packages-interactive): Delete bash-completion.
* gnu/services.scm (%default-etc-bashrc-d-files): New variable, which includes
the bash_completion.sh file.
(etc-bashrc-d-service-type): Use it.
* doc/guix.texi (Service Reference): Update documentation.

Change-Id: I2223a5f96f5d761148badc6be29e1c5c80465a1d
2025-05-26 13:43:03 +09:00
Maxim Cournoyer
4c017ccfe5
services: Add etc-bashrc-d-service-type.
* gnu/services.scm (files->bashrc-d-directory) New procedure.
(etc-bashrc-d-service-type): New service type.
* doc/guix.texi (Service Reference): Document it.
* gnu/tests/base.scm (test-basic-os): Test it.

Change-Id: Ibbb0f684de7aee296adedbce5b1192786d661af2
2025-05-26 13:43:03 +09:00
Maxim Cournoyer
279adf431b
services: Add etc-profile-d-service-type.
* gnu/services.scm (make-files->etc-directory)
(files->profile-d-entries): New procedures.
(etc-profile-d-service-type): New service type.
* doc/guix.texi (Service Reference): Document it.
* gnu/tests/base.scm (run-basic-test): Test it.

Change-Id: I45dde43a1b9603c3384b933ebd1d6e45dba146b9
2025-05-26 13:43:03 +09:00