Commit graph

4002 commits

Author SHA1 Message Date
Ludovic Courtès
cf005b5107
doc: Add missing double quotes in ‘mapped-device’ snippet.
* doc/guix.texi (Mapped Devices): Add missing double quotes in
‘luks-device-mapping’ example.

Change-Id: I5bcd980ec3d5d142ea37697575f539d640bc6466
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:46:57 +01:00
Rutherther
20157dae27
image: Add qcow2-gpt image type.
qcow2 is a mbr-hybrid image. But on aarch64, we
have to use grub-efi bootloader. For that bootloader,
gpt should be used and Guix errors if it isn't (due to
failed check in Guix code). So it's impossible to generate
qcow2 type aarch64 image without using customized bootloader.
One would have to define their own image instead of using
the ones pre-defined.

* gnu/system/system.scm (qcow2-gpt-image-type): New variable.
* doc/guix.texi: Document qcow2-gpt and its use.

Change-Id: I93f0880c7ca2d3f934067c12dd1143ad20828333
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:38 +01:00
Noé Lopez
587fd2dad4
etc: Add AppArmor profile for the daemon.
* .gitignore: Add etc/apparmor.d/tunables/guix.
* Makefile.am (nodist_apparmor_profile_DATA)
(nodist_apparmor_profile_tunables_DATA): Define it.
* configure.ac: Generate etc/apparmor.d/tunables/guix. Add
--with-apparmor-profile-dir option.
* etc/apparmor.d/guix-daemon: New file.
* etc/apparmor.d/tunables/guix.in: New file.
* doc/guix.texi: Document AppArmor profiles.
* gnu/packages/package-management.scm (guix): Add future changes commented.

Change-Id: Iac7df9d642383cc46a2d450c3badef31199ab041
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 22:48:57 +01:00
Ashvith Shetty
4b25873c12
services: Modernize redis service.
* gnu/services/databases.scm
(redis-configuration): Rewrite using `define-configuration'.
(redis-shepherd-service): Honor it.
* doc/guix.texi (Database Services) <redis>: Regenerate
documentation.

Change-Id: I5b99822ca3d8d23fb5133497d00eada0336d0c65
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #2158
2025-12-22 15:42:39 +01:00
Nguyễn Gia Phong
ce279acd14
doc: Fix typo.
* doc/guix.texi (Mapped Devices): Fix typo.

Change-Id: I72a5e0e651e3926def0bd5fdb67ccc01cc8a2041
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 11:00:19 +01:00
Noé Lopez
1e0eb9e8df
doc: Warn about specific nologin paths when it is not in PATH.
See <https://codeberg.org/guix/guix/issues/4704#issuecomment-8751141>.

* doc/guix.texi (Build Environment Setup): Add warning in case the nologin
binary is not found.

Reported-by: FuncProgLinux
Change-Id: Ib8aa2bdaf0aef6a589afe638e2fcd539c8276ac7
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 18:21:46 +01:00
Noé Lopez
2dcf1ec33e
doc: Update information on installing guix with package managers.
There is no longer a guix package in Debian.  Adapt the instructions to avoid
having to list how to install on every package manager.  The specific
instructions for Parabola are kept since it is a FSDG system.

* doc/guix.texi (Binary Installation): Remove Debian and OpenSUSE installation
instructions.  Update examples of distros with a guix package.  Add
instructions for other package managers.

Change-Id: Ie34b40d7224593df8e51d62d665a15a1b16b8e70
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 18:21:44 +01:00
Rutherther
ed1b6b5451
doc: Mention that services doing mounts should depend on user-file-systems.
This is a recent change. If the services do not depend on it, it's possible
user-file-systems will try to unmount the file systems byt itself first.

* doc/guix.texi (Shepherd Services): Mention services should depend on
user-file-systems if they do mounts.

Change-Id: I87f459aa43c2a59ffcae35750e02a08abc3c1f8a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 13:37:13 +01:00
Tomas Volf
55bf53fe92
monad-repl: Add "graft?" command.
Grafts are not always required when just exploring in the REPL, and they do
take time, so this commit adds easy way to disable them.

* guix/monad-repl.scm (build-graft): New meta command.
* doc/guix.texi (Using Guix Interactively): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-19 00:05:43 +01:00
Hugo Buddelmeijer
3bebde3481
doc: Warn that extra-special-file files persist.
* doc/guix.tex (Base Services)[extra-special-file]: Add warning regarding
special files persisting after extra-special-file call is removed from the
system config.

Change-Id: I29cb3a31ee45894293d9becf3c0ebe93ea7f0da4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #2810
2025-12-13 23:14:28 +01:00
Owen T. Heisler
94b26ff284
services: oci: Fix oci-image value field handling.
* gnu/services/containers.scm (lower-oci-image-state, oci-lowerable-image?):
Remove support for gexps and correctly lower file-like objects.
* doc/guix.texi: Remove gexp from oci-image value field description.

Fixes: guix/guix#3818
Change-Id: Ib812d65b32dd68f8572fcb371ab4521d22e5336c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #3819
2025-12-11 15:31:09 +01:00
Ludovic Courtès
4a52ab4559
doc: Remove unreachable reference from the Cookbook.
* doc/guix-cookbook.texi (A Scheme Crash Course): Remove “Scheme at a Glance”,
which is no longer accessible.

Change-Id: Ia60bf461d0410ddd042b0ad7d792548749c4cc7c
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2025-12-08 15:34:21 +01:00
Ludovic Courtès
2d54198f6d
doc: Add reference to Guix-Packager.
* doc/guix.texi (Defining Packages): Wrap ‘guix import’ reference
in @quotation.  Add reference to Guix-Packager.

Change-Id: I5ba1b0f66e8edd2548fb05fa6fca06d3432c7460
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2025-12-08 15:34:21 +01:00
Ludovic Courtès
15e79d93ad
doc: Use a gexp in “Defining Packages”.
* doc/guix.texi (Defining Packages): Update ‘arguments’ field in example to
use ‘list’ and a gexp.  Remove description of quote/unquote; document gexps
instead.

Change-Id: I2ed1f5796d76e8c389227aed58fd31aa76edbb9a
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2025-12-08 15:34:15 +01:00
Simon Josefsson
f29cd8868e
doc: Mention newgidmap tool for systemd installations
* doc/guix.texi (Binary Installation): Mention newgidmap.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-05 14:54:39 +01:00
Ludovic Courtès
d4e06997e4
services: hurd-vm: Support persistent images again.
Fixes a regression introduced in bab6434f58
whereby following the example from the manual regarding non-volatile images
would no longer work.

* gnu/services/virtualization.scm (hurd-vm-shepherd-service): Pass ‘image’ to
‘system-image’ only if it’s an image.
* doc/guix.texi (Virtualization Services): Explicitly say that the ‘image’
field can contain a file name.  Remove use of ‘const’ for the ‘image’ field in
persistent image example and adjust text.

Fixes: guix/guix#4130
Reported-by: Maxim Cournoyer <maxim@guixotic.coop>
Change-Id: I1a81ce27fb45978a681310b8a8788ab671b3edf8
2025-12-03 17:56:15 +01:00
Lilah Tascheter
07adc47e55
doc: home: Document Himitsu services.
* doc/guix.texi (Home Services)[Secrets Home Services]: New section...
  (Top,Home Services): ...and add to tables of contents.

Change-Id: Ie290d2ad642c1679c410bbb96d1d7e5283988b7a
Signed-off-by: jgart <jgart@dismail.de>
2025-12-02 12:49:38 -06:00
Giacomo Leidi
17fdce75ec
gnu: Add home-gcr-ssh-agent-service-type.
GNOME Keyring used to be able to act as a wrapper over ssh-agent.
It would display a GUI password entry dialog, including a checkbox to remember
the password, which, if selected, would allow fully passwordless use of that key.

The SSH functionality is disabled by default in gnome-keyring-daemon
builds since version 1.46
(commit 25c5a1982467802fa12c6852b03c57924553ba73).
It has been moved
(https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/67)
into gcr-ssh-agent, which is part of the gcr package.

* gnu/home/services/gnome.scm: New file.
(gcr-ssh-agent-log-file,gcr-ssh-agent-shepherd-services): New public
procedures.
(gcr-ssh-agent-configuration): New configuration record.
(home-gcr-ssh-agent-service-type): New service type.
* gnu/local.mk: Add it.
* doc/guix.texi: Document it.

Change-Id: Idd3e40f544d40bb4c6682255f877cb79f0c70850
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
Reviewed-by: Dariqq <dariqq@posteo.net>
Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-12-01 17:20:55 +09:00
Florian Pelz
9436acc15c
nls: Update translations.
* po/doc/guix-cookbook.ta.po: New file.
* po/doc/local.mk: Add 'ta' cookbook.
* po/doc/po4a.cfg (po4a_langs): Add 'ta'.
* po/guix/pt.po: New file.
* po/guix/LINGUAS: Add 'pt'.
* po/packages/ta.po: New file.
* po/packages/LINGUAS: Add 'ta'.
* doc/local.mk: Add 'ta' cookbook.
* doc/htmlxref.cnf: Update URLs for cookbook.
* doc/build.scm (%cookbook-languages): Add 'ta'.
(html-manual-indexes)<language-index>: Hide PDF for 'ta'.
* doc/guix-cookbook.texi (Top): Mention 'ta' cookbook.

Change-Id: I05e887f31b0715def25ce1b1912077144ae65e92
2025-12-01 01:56:53 +01:00
Florian Pelz
fd11c1d5d9
doc: cookbook: Fix typo.
* doc/guix-cookbook.texi (A Scheme Crash Course): Change
supposed printout of code example to what is actually printed.

Change-Id: I4d2d2f1f1c3be0a8251f2fc91bc5657bc63891c8
2025-12-01 01:56:53 +01:00
Denis 'GNUtoo' Carikli
35770c78a2
image: Add support for swap.
* gnu/build/image.scm (make-swap-image): New variable.
  (make-partition-image): Support swap.
* gnu/system/image.scm (system-disk-image): Support swap.
* doc/guix.texi: (partition Reference): Support swap.

Change-Id: I1c201e6aa5dd207d53e5732617910860ee894990
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-11-24 23:22:52 +01:00
Denis 'GNUtoo' Carikli
5e5ac81e95
image: Add support for f2fs.
* gnu/build/image.scm (make-f2fs-image): New variable.
  (make-partition-image): Support f2fs.
  (estimate-partition-size): Add optional margin.
* gnu/system/image.scm (system-disk-image): Support f2fs.
* doc/guix.texi: (partition Reference): Support f2fs.

Change-Id: Ia7fc4483c3cc1af5f34fac86a529a90a1bd7c2c6
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-11-24 23:22:51 +01:00
dan
65c77e90aa
gnu: Add home-darkman-service-type.
* gnu/home/services/desktop.scm (home-darkman-configuration)
(home-darkman-service-type): New variables.
(serialize-number, serialize-boolean,
serialize-home-darkman-configuration)
(home-darkman-configuration-files, home-darkman-profile-service)
(home-darkman-shepherd-service): New procedures.
* doc/guix.texi (Desktop Home Services): Document it.

Change-Id: I23acb2cae9745e1a76c19c5552bf487539d6a807
Reviewed-by: Sergey Trofimov <sarg@sarg.org.ru>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-11-22 15:38:13 +00:00
Andreas Enge
e1a3b41a4b
gnu: Remove lsh-service-type.
* gnu/services/ssh.scm (<lsh-configuration>, %yarrow-seed,
lsh-initialization, lsh-activation, lsh-shepherd-service,
lsh-pam-services, lsh-service-type): Delete variables.
* doc/guix.texi: Remove lsh-service-type documentation.

Change-Id: I18377a111c10ec6f6d362fadabc64cb66a2b122d
2025-11-21 14:35:35 +01:00
Ludovic Courtès
1ce270fb85
gnu-maintenance: ‘generic-html’ recognizes ‘release-file-regexp’ property.
* guix/gnu-maintenance.scm (package-release-file?): New procedure.
(tarball->version): Add optional parameter and honor it.
(import-html-release): Use ‘package-release-file?’ and pass second argument to
‘tarball->version’.
* tests/gnu-maintenance.scm ("latest-html-release, 'release-file-regexp' property")
("latest-html-release, invalid 'release-file-regexp' property"): New tests.
* doc/guix.texi (Invoking guix refresh): Document it.

Change-Id: Ia9328418fdd2faf118e4ec9d5fbde4a279e100ed
Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-11-18 13:05:49 +01:00
Ian Eure
fa4aba28a0
gnu: Add autofs-service-type.
* gnu/services/nfs.scm (autofs-service-type): New variable.
(<autofs-configuration>): New record.
(<autofs-indirect-map>): New record.
(<autofs-map-entry>): New record.

Change-Id: I4ed1862772001470d1214c3061a306440b0d775b
2025-11-16 10:21:52 -08:00
Carlo Zancanaro
0f96ceb58f
gnu: Add --pid-file option to "guix system container" scripts.
* gnu/system/linux-container.scm (container-script): Accept pid-file command
line option to write out the container's process ID.
* doc/guix.texi (Invoking guix system): Document new option.

Change-Id: I93e8a99b39c1dd831f116104bf92c723d96c9965
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-11-13 21:55:42 +01:00
Lilah Tascheter
7fb7d071cf
gnu: services: Add mollysocket service.
* gnu/services/messaging.scm (ms-format,ms-serialize-string,
ms-serialize-integer, ms-serialize-boolean,
ms-serialize-list-of-strings, mollysocket-shepherd-service,
mollysocket-account-service, mollysocket-activation-service): New
procedures.
(mollysocket-configuration): New configuration.
(mollysocket-service-type): New variable.
* doc/guix.texi (Messaging Services)[Mollysocket Service]: New section.

Change-Id: I87d57b69a6d8fa8841a95add084aa383385de4c7
2025-11-12 12:20:22 +02:00
Dariqq
49ba3adfdf
services: opensmtd: Add back option to log to syslog.
The option for syslog logging was removed in 6036f1f305.

* gnu/services/mail.scm (opensmtpd-shepherd-service): When log-file is #f
daemonize and set the pid-file.

Change-Id: I356f4ccacc473def35708c114947788d485d058b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-11-09 22:12:02 +01:00
Giacomo Leidi
3dab48ccbb
doc: Add mix-build-system.
* doc/guix.texi: Document mix-build-system and its most common keyword
arguments.
* gnu/build-system/mix.scm: Update links to documentation without hard
coding an Elixir version.

Change-Id: I68eb76efaaf5639f0eac2d9b674cdb05008e15a4
Reviewed-by: Hartmut Goebel <h.goebel@crazy-compilers.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-11-09 19:56:46 +00:00
dan
78f05b29c1
gnu: Add iio-sensor-proxy-service-type.
* gnu/services/desktop.scm (iio-sensor-proxy-configuration)
(iio-sensor-proxy-shepherd-service, iio-sensor-proxy-service-type): New
variables.
* doc/guix.texi (Desktop Services): Document iio-sensor-proxy-service-type.

Change-Id: I0c3d7164efcc499e4b785fd1f994c68a971ebdbd
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-11-07 18:39:59 +01:00
Sören Tempel
08db14c74f
file-systems: Support the 'remount' mount flag.
This allows remounting file systems which are already mounted by
the initrd with custom mount options (e.g. /proc with hidepid=2).

* gnu/build/file-systems.scm (mount-flags->bit-mask): Map 'remount
to MS_REMOUNT.
* gnu/system/file-systems.scm (invalid-file-system-flags): Add
'remount to the list of KNOWN-FLAGS.
* doc/guix.texi (File Systems): Document it.

Fixes: guix/guix#3849
Change-Id: I0ab116a5b4f7bd201e955ecf022e260c63828dc4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-11-06 23:29:46 +01:00
Kjartan Oli Agustsson
b2a6f65753
doc: Fix documentation of unattended-upgrade-service
* doc/guix.texi (Unattended Upgrades): Replace mention of mcron with Shepherd
Timers.

Change-Id: I7e0a509a33e15834429ec4cc0b735a5247cff9d9
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-11-06 23:29:45 +01:00
Nguyễn Gia Phong
b7a3ad2922
services: gitile: Add git-owner-validation? configuration.
* gnu/services/version-control.scm (gitile-configuration):
  Add git-owner-validation? field.
* doc/guix.text (Version Control Services): Document it.

Change-Id: I7d35e66e512fcaae25a5eac138b0fb2437a7c70c
2025-11-02 14:48:38 +01:00
Lilah Tascheter
90f786c492
doc: Document hare-build-system.
* doc/guix.texi (Build Systems)[hare-build-system]: New variable doc.

Change-Id: I4aee955eb8ea6451340a76cd57671fdc6ba238d9
Signed-off-by: jgart <jgart@dismail.de>
2025-10-31 13:38:15 -05:00
Nicolas Graves
a1b0fde434
style: Add git-source rule.
* guix/scripts/style.scm (transform-to-git-fetch)
(url-fetch->git-fetch): New procedures.
* doc/guix.texi: Add entry for git-source.
* tests/style.scm: Add tests for url-fetch->git-fetch.

Change-Id: I6192fba4d84619b81fbc75850542b9dbd2326d4a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-10-24 16:42:54 +02:00
Romain GARBAGE
09e9c0c21e
services: forgejo-runner: Add ‘log-file’ option.
* gnu/services/ci.scm (<forgejo-runner-configuration>) [log-file]: New field.
(forgejo-runner-shepherd-service): Use new field.
* doc/guix.texi (Continuous Integration): Add documentation.

Change-Id: Ie03e6d4b9b4f2c1cad0e9cd20032fca5ae4a4410
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-10-24 16:42:53 +02:00
Ludovic Courtès
3f900442b4
home: services: bash: Support setting shell variables.
* gnu/home/services.scm (shell-variable-definitions): New procedure.
* gnu/home/services/shells.scm (serialize-shell-variables): New procedure.
(home-bash-configuration)[variables]: New field.
(add-bash-configuration): Honor it.
(home-bash-extension)[variables]: New field.
(home-bash-extensions): Handle ‘variables’.
* doc/guix.texi (Shells Home Services): Update.  Change ‘PS1’ example to use
‘variables’, not ‘environment-variables’.
* doc/he-config-bare-bones.scm: Use ‘variables’ instead of ‘bash-profile’.

Change-Id: I29083d6313d10b1eb9d91eccacfb33efefe60d58
2025-10-23 19:35:07 +02:00
Ludovic Courtès
a1276ea843
doc: Refer to the Deprecation Policy from “Creating a Channel”.
* doc/guix.texi (Creating a Channel): Reword warning to refer to the
deprecation policy.

Change-Id: I6c1cd8dfac557634c2963f13f17903f16acbe720
2025-10-23 19:35:07 +02:00
Ludovic Courtès
9995614558
doc: Recommend ‘define-deprecated-package’ in the Deprecation Policy.
* doc/contributing.texi (Deprecation Policy): Document and recommend
‘define-deprecated-package’.

Change-Id: I530310f5216f09025525d91f690bb3885fe2cfb4
2025-10-23 19:35:06 +02:00
Christopher Baines
b0ef1997d8
services: nar-herder: Add control server options.
* gnu/services/guix.scm (<nar-herder-configuration>): Add control host and
control port fields.
(nar-herder-shepherd-services): Use them.
* doc/guix.texi (Guix Services): Document them.

Change-Id: Ie738fb30302496d2ec530ca3b5c8b0628fdd4c05
2025-10-23 16:43:17 +01:00
Florian Pelz
0e68fb6788
doc: cookbook: Update command for installing the SICP book.
Follow-up to commit e5a5b1d66a.

* doc/guix-cookbook.texi (A Scheme Crash Course): Change command.

Change-Id: Ie559fc88738abef0dfa75dfc1d5dc926a618e4c2
2025-10-20 17:28:52 +02:00
Konrad Hinsen
cbda925613
doc: cookbook: Minor correction to "Reproducible Research" chapter.
* doc/guix-cookbook.texi (Setting Up the Environment): Reword.

Change-Id: Ifaf8b3231fe1b3007dbaaf7005c249fbcdf1deb2
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-10-19 21:29:38 +02:00
Ludovic Courtès
b5e0d90ea5
doc: cookbook: Fix typos under “Reproducible Research”.
* doc/guix-cookbook.texi (Setting Up the Environment): Remove extra word; add
missing word.

Change-Id: I41ba29bd81fd6e8262d4112e57e1ff0cce439967
2025-10-17 12:23:54 +02:00
Nicolas Graves
699570510f
guix: Fix guix-minimal install phase.
* doc/local.mk (sub_commands_mans): Add guix-copy conditionally.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-10-14 16:35:55 +02:00
Sergey Trofimov
a16d6225ee
nss: Allow selecting IP protocol for mDNS lookups.
* gnu/system/nss.scm (mdns-host-lookup-nss): New procedure.
* doc/guix.texi (Name Service Switch): Document it.

Change-Id: Ie4ff4aab6bf41eb2cec69b78a8427594b20bc954
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-10-13 14:48:27 +02:00
Ludovic Courtès
9da40e7bc3
doc: cookbook: Add “Reproducible Research” chapter.
* doc/guix-cookbook.texi (Reproducible Research): New node.

Change-Id: I73d12771a2c2b5717b8f553dacae272f509a9fed
2025-10-13 14:48:27 +02:00
Oleg Pykhalov
18ea7bc470
home: services: Add niri.
This introduces a new home service for Niri, a scrollable tiling Wayland
compositor that combines traditional tiling window management with smooth
scrolling between workspaces.

The service provides:
- home-niri-service-type for installing and configuring Niri
- Shepherd service that starts Niri in a DBus session
- Proper Wayland environment variables (XDG_CURRENT_DESKTOP,
XDG_SESSION_DESKTOP, etc.)
- Integration with xdg-desktop-portal and related components

The service starts Niri with appropriate environment variables for
Wayland compatibility and includes necessary dependencies like
xdg-desktop-portal-gnome and xdg-desktop-portal-gtk for proper
desktop integration.

* gnu/home/services/niri.scm: New file containing the service implementation.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register the new module.
* doc/guix.texi (Niri window manager): Add comprehensive documentation.

Change-Id: I9ef081226b4aaa31706d1fbc0d8b7aa1a202cd6e
2025-10-10 12:11:12 +03:00
Gabriel Wicki
052124b4a5
doc: cookbook: Fix network bridge qemu example.
* doc/guix-cookbook.texi (Virtual Machines) [Configuring the QEMU bridge
helper script]: Fix example.

Change-Id: Ia735637ab71928176b33da495d528d1519d29cb9
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-10-08 11:29:18 +02:00
Oleg Pykhalov
0824f8a3eb
services: libvirt: Add configurable service requirements.
This enhances flexibility by allowing users to specify custom service
dependencies for libvirt, rather than being limited to the default hardcoded
requirements. This is particularly useful for complex deployments or when
integrating with custom service configurations.

Note that default 'dbus-system' requirement may not be strictly necessary for
basic libvirt operation. For instance, libvirt can function without issues in
many cases even when dbus-system is not included in the requirements, allowing
for more minimal deployments.

* gnu/services/virtualization.scm (list-of-symbols?,
serialize-list-of-symbols): New procedures.
(libvirt-configuration): Add 'requirement' field to allow custom service
dependencies.
(libvirt-shepherd-service): Use the configured requirements instead of
hardcoded ones.
* doc/guix.texi (Virtualization Services): Document the new 'requirement'
option.

Change-Id: I05cfbb5227cff9b7d9b55ee37774c96e39c4c526
2025-10-07 14:18:05 +03:00