summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)Author
2026-05-17doc: Mention that trusted channels must have an introduction.Ludovic Courtès
* doc/guix.texi (Invoking guix pull): Mention that “trusted channels” must have an introduction; explain how channels are identified. Reported-by: Simon Tournier <zimon.toutoune@gmail.com> Change-Id: Ie89702cc17bc90130153a56df1f0844b19cfff23 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #8565
2026-05-17doc: cookbook: More cross-reference fixes under “Packaging Tutorial”.Ludovic Courtès
* doc/guix-cookbook.texi (Recursive importers): Turn @pxref into @xref to avoid repetition. (Automatic update): Add cross-reference to “Invoking guix refresh”. Change-Id: I7511c539209ee1d861270dfe520c3f4930449d4e Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-05-17doc: cookbook: Fix typo.Ludovic Courtès
The typo was introduced in 2cbe77f480fa74f74ef4bd6c7a1606e3f08bb142. * doc/guix-cookbook.texi (Inheritance): Fix typo. Change-Id: I09616d4336ab827ae298e331be7a9117a0b9214c Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-05-17services: gunicorn: Allow configuration of socket user/group/modeSören Tempel
Without this change, the mode is not at all configurable meaning that—depending on the umask(1)—it may allow access to others. Further, in many scenarios the owner/group of the Unix domain socket should differ from the owner/group of the gunicorn process. For example, we might want to grant the nginx group access to the socket but not use that as the GID for the gunicorn process. * gnu/services/web.scm (<gunicorn-app>): Add socket-user, socket-group and socket-mode. * gnu/services/web.scm (gunicorn-activation): Respect gunicorn-app-socket-user, gunicorn-socket-app-group, and gunicorn-app-socket-mode. * doc/guix.texi (Guix Services): Document new record fields. Change-Id: I1fe5b77deb791c38c1642753a52098d304124049
2026-05-17doc: Add EFI hint for Chrooting into an existing system.Efraim Flashner
* doc/guix.texi (Chrooting into an existing system): Mention the canonical directory to check to see if a machine has booted with EFI support. Change-Id: I98b2b3a8adc0cc5b49a91b976ca02c10ac424d40
2026-05-17doc: Substitute `@' with `@@' when generating os-config*.texi files.Janneke Nieuwenhuizen
* doc/local.mk (%D%/os-config-%.texi): Use SED to substitute `@', rather than CP. Change-Id: I515ab99adb3c2c7ee8fa01d314c777df395930fc
2026-05-16gnu: home-services: Add config options to ssh.Patrick Norton
* gnu/home/services/ssh.scm (openssh-host): Add new explicit configuration options. Change-Id: Ie67ed10829642cd1f64c55f25ccd50b8e557983e Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #6288
2026-05-16doc: Replace idutils import under the 'Shepherd Home Service' subsection.Danylo Kondratiev
* doc/guix.texi: Replace '(gnu packages idutils)' in the 'Shepherd Home Service' subsection with '(gnu packages code)'. Change-Id: Ib45c48148c8f8117d5d0be4bd6c68473b55d4b22 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #8447
2026-05-15doc: Document binary installation using a pre-mounted store.Maxim Cournoyer
* doc/guix.texi (Binary Installation): Add new 'Installation with a pre-mounted store' subsection. Fixes: #8452 Change-Id: I360399362765b6c29e177c2a6eb750d59a8531a6 Suggested-by: Rutherther <rutherther@ditigal.xyz> Reviewed-by: Rutherther <rutherther@ditigal.xyz>
2026-05-13doc: Move the --repo option under OPAM.Brickworld
* doc/guix.texi (Invoking guix import): Move the --repo option under OPAM. Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2026-05-11doc: cookbook: Add links from “Packaging Tutorial” to the manual.Ludovic Courtès
* doc/guix-cookbook.texi (A ``Hello World'' package): Add link to “origin Reference” and adjust markup. (Extended example): Link to “origin Reference”. Fix markup. Link to “Packages with Multiple Outputs”, “Build Systems”, “Build Phases”, and “G-Expressions”. Adjust reference to the Guile manual. (Inheritance): Link to “Defining Package Variants”. (References): Use @xref to reference the manual. Change-Id: Ifa605adc1c91f2735b66005c8a7412f60cdb4484 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #8392
2026-05-11doc: Regenerate menus.Maxim Cournoyer
* doc/guix.texi: Regenerate menus. Change-Id: If0394687ad607c7b869147733d38d609767a125e
2026-05-10doc: Add a list of ‘guix hash’ examples.Ludovic Courtès
* doc/guix.texi (Invoking guix hash): Add examples. (Invoking guix time-machine): Add cross reference. Change-Id: I128d8a884f26e580955a0316caa2e119cff4498b Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-05-10pull, time-machine: ‘--allow-untrusted-channels’ takes an argument.Ludovic Courtès
* guix/scripts/pull.scm (%default-options): Change ‘require-trusted-channels?’ to ‘require-trusted-channels’. (show-help, %options): Support optional argument to ‘--allow-untrusted-channels’. (channel-list): Adjust accordingly. * guix/scripts/time-machine.scm (show-help, %options) (%default-options): Likewise. * tests/guix-time-machine.sh: Add test. * doc/guix.texi (Invoking guix pull) (Invoking guix time-machine): Adjust accordingly. Suggested-by: Reepca Russelstein <reepca@russelstein.xyz> Change-Id: I342ebbcc7355953487a5c6c8ac85048943a5ac46 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-05-10pull, time-machine: Accept content SWHIDs as arguments to ‘--channels’.Ludovic Courtès
* guix/swh.scm (swhid-content-data): New procedure. (call): Do not close ‘port’ when ‘result’ is the same as ‘port’. * guix/scripts/pull.scm (swhid-content-data*): New procedure. (channel-list): Accept ‘file’ as a SWHID. * tests/guix-time-machine.sh: Add test. * doc/guix.texi (Invoking guix pull): Document it. (Invoking guix time-machine): Likewise. Change-Id: I8145cd8685fe2926b1548d4a2dcd54804d89228a Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-05-10pull, time-machine: Support transparent download of channel files.Ludovic Courtès
* guix/scripts/pull.scm (%default-options): Add ‘require-trusted-channels?’. (show-help, %options): Add ‘--allow-untrusted-channels’. (trusted-channels, equivalent-channels?, check-trusted-channels): New procedures. (channel-list)[require-trusted-channels?]: New variable. [load-channels]: Honor it and call ‘check-trusted-channels’. * guix/scripts/time-machine.scm (show-help, %options): Add ‘--allow-untrusted-channels’. (%default-options): Add ‘require-trusted-channels?’. * tests/guix-time-machine.sh: Add test. * doc/guix.texi (Invoking guix pull): Update ‘--channels’ documentation and document ‘allow-untrusted-channels’. (Invoking guix time-machine): Likewise. (Channels with Substitutes): Add example of ‘guix pull’ with a URL. Change-Id: If0bb6acaedf324e35a21c9c7d285f3e423ae49aa Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-05-10pull, time-machine: Evaluate channels in a sandbox by default.Ludovic Courtès
* guix/scripts/pull.scm (%default-options): Add ‘isolated-channel-evaluation?’. (show-help, %options): Add ‘--unsafe-channel-evaluation’. (%safe-channel-bindings): New variable. (channel-list): Honor ‘isolated-channel-evaluation?’. * guix/scripts/time-machine.scm (show-help, %options): Add ‘--unsafe-channel-evaluation’. (%default-options): Add ‘isolated-channel-evaluation?’. * tests/guix-time-machine.sh: Test use of unauthorized bindings in channel files. * doc/guix.texi (Invoking guix time-machine): Document ‘--unsafe-channel-evaluation’. (Invoking guix pull): Likewise. (Channels with Substitutes): Add index entry for ‘channel-with-substitutes-available’. Mention that it requires ‘--unsafe-channel-evaluation’. Change-Id: I75f60dba516f42ef62a9d779cde8e2f0a9d0c140 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-05-08doc: Build with Texinfo 7.Ludovic Courtès
This is a backport of guix/lernigilo#7 and followup commits. * doc/build.scm (html-manual-identifier-index)[build] (collect-anchors): Add clauses matching Texinfo 7 output. (syntax-highlighted-html)[build](concatenate-snippets): Likewise. (syntax-highlight):Likewise. (stylized-html)[stylized-html]: Do not insert <link> tag for ‘%manual-css-url’ since it’s already added by ‘makeinfo’. Change-Id: I3a51eece053d4fdeeaa72d2642fd4a62695cc3a6 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #8272
2026-05-08doc: Remove extra parent in ‘shepherd-signal-action’ example.Ludovic Courtès
* doc/guix.texi (Shepherd Services): Remove extra paren in example. Change-Id: I6530e8a9cb3a5f9596f57f8b6c7dc4ea8e3fab77 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-05-08doc: For Guile identifiers, refer to doc.guix.gnu.org.Ludovic Courtès
* doc/build.scm (%guile-manual-base-url): Point to doc.guix.gnu.org. Change-Id: I0be6a42e6bbb84a5ee7c3cbe9fd9d0e0867acb14 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-05-07style: Add ‘remove-input’ and related styling rules.Nicolas Graves
* guix/scripts/style.scm (input-matches?, package-list->string, %field-accessors, remove-from-package-field, transform-package-field): Add variables. (%options): Add options --remove-input, --remove-native-input, --remove-propagated-input, and --parameter. (guix-style): Implement those options. To keep ony one autoload, use specification->package+output rather than specification->package. * tests/style.scm ("remove-input, single input removed", "remove-input, one of multiple inputs removed", "remove-input, middle input removed from list", "remove-input, non-existent input unchanged", "remove-input, input with output specifier", "remove-native-input, single input removed", "remove-native-input, one of multiple inputs removed", "remove-native-input, does not affect inputs field", "remove-propagated-input, single input removed", "remove-propagated-input, one of multiple inputs removed", "remove-propagated-input, does not affect other fields", "remove-input from all three fields independently", "remove-input, dry-run does not modify file"): New tests. ("url-fetch->git-fetch, preserved field"): Drop the use of %patch-path and %package-module-path, which are not necessary because of -L. Change the mocked procedure from specification->package to specification->package+output, as in the implementation. * doc/guix.texi (Invoking guix style): Add description for guix style -S remove-*input rules. Change-Id: I449c87930310a73ad316b4cb5db72d0906ea495d Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #5862
2026-05-07doc: Rebalance guix style inputs description.Nicolas Graves
* doc/guix.texi: It seems that there were two places where styling rules were declared, and one was vastly outdated. Only describe styling rules once instead, and move their specific discussion where the styling rule is described. Change-Id: Ic83d4c59e45ed51f63dfe91e624b6f453a800818 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-05-06gnu: Add fwupd-service-type.Giacomo Leidi
* gnu/services/firmware.scm: New file. (fwupd-configuration): New configuration record. (fwupd-service-type): New service type. * gnu/local.mk: Add it. * doc/guix.texi: Document it. Change-Id: Ibea27566d6ae64ccfdfdd2750be006df1ffde22d Signed-off-by: Sughosha <sughosha@disroot.org> Merges: guix/guix!5409
2026-05-04doc: Document the GUIX_DISTRO_AGE_WARNING environment variable.Zhu Zihao
* doc/guix.texi: (Invoking guix pull): Add document for the outdate warning. (GUIX_DISTRO_AGE_WARNING): New environment variable. Change-Id: Icb4537d59640fd92c0f552a57ba1f5a35d8ebb3d Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2026-05-03doc: Fix typo.Ludovic Courtès
This is a followup to 0e18caf221a522a50a7abbed19ae6bd3a5b90ac5. * doc/guix.texi (Bootloader Configuration): Change “logo” to singular. Reported-by: Maxim Cournoyer <maxim@guixotic.coop> Change-Id: I98c46746e33c0e7a14ebb90919fc28567780aa63
2026-05-03services: syslog: Add pid file option.Yelninei
Alternative syslogd implementations use a different pid file. * gnu/services/base.scm: Export all syslog-configuration accessors. (syslog-configuration): Add pid-file field. (syslog-shepherd-service-type): Use it. * doc/guix.texi (syslog-configuration): Document it. Change-Id: I9be9fc741d98d4f49a37fbcbb2c644db859cadc1 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #6096
2026-05-03build: Fix out-of-tree make.Charles Roelli
* doc/local.mk (lang_to_texinfo): Refer to .texi files using srcdir. (xref_command): Reference pre-inst-env using builddir. ($(srcdir)/%D%/guix.%.texi): ($(srcdir)/%D%/guix-cookbook.%.texi): ($(srcdir)/%D%/contributing.%.texi): Refer to source files using srcdir. * nix/local.mk (etc/guix-gc.timer): Use the name of the prerequisite, not just its file name. Change-Id: I247bcd873c8355d0eae07870ec849d2eb8cfa6c5 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #8267
2026-05-02doc: fix image-type for lightweight-desktop example.Daniel Herzig
Merges: https://codeberg.org/guix/guix/pulls/7388 Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-01doc: cookbook: Fix qemu network bridge example.宋文武
* doc/guix-cookbook.texi (Virtual Machines) [Network bridge for QEMU]: Enable 'autoconnect' for the 'bridge-slave-enp2s0' connection. Fix 'bridge.conf' example. Add missing 'helper' argument to the qemu invocation. Change-Id: I94fdb69b65cb032cfc9f21ae1dfab950937f1a70
2026-04-30shell: Add --cwd.Danny Milosavljevic
* guix/scripts/environment.scm (show-environment-options-help): Document --cwd. (%options): Add cwd. (launch-environment/container): Add cwd parameter. Implement passing it to the container. (guix-environment*): Reject --cwd without --container. * doc/guix.texi (Invoking guix shell): Document it. * tests/guix-environment-container.sh: Add tests. * tests/guix-shell.sh: Add tests. Fixes: guix/guix# 7825 Change-Id: Iba4ff3d2058e92f504fbcbf688346357ce913213
2026-04-29docs: Update release signing key.Rutherther
The release artifacts are now signed by Efraim, not Ludo. * doc/guix-cookbook.texi: Switch gpg url to codeberg, mention Efraim's key. * doc/guix.texi: Likewise. Change-Id: Iae667796b6978cdd4a44f73990da7b9599ab509c Fixes: #5946 Signed-off-by: Rutherther <rutherther@ditigal.xyz> Merges: #6213
2026-04-28services: guix-data-service: Add extra environment variable options.Christopher Baines
Also export guix-data-service-extra-options and guix-data-service-extra-process-jobs-options since this was missed previously. * gnu/services/guix.scm (<guix-data-service-configuration>): Add extra-environment-variables and extra-process-jobs-environment-variables. (guix-data-service-shepherd-services): Use them. * doc/guix.texi (Guix Services): Document them. Change-Id: I60f1371a86a01c4fb3dbde204dba84b9a8657ace
2026-04-27doc: Make “Automatic LUKS Master Key Passing” an actual section.Ludovic Courtès
This is a followup to b90597b98d46767207a0e92a84fb39c344472b69, which added “Automatic LUKS Master Key Passing” in the documentation of the ‘device-tree-support?’ field. * doc/guix.texi (Bootloader Configuration): Move “Automatic LUKS Master Key Passing” as an actual subsection below the ‘bootloader-configuration’ doc. Add an anchor and index entries. Add @unnumberedsubsec for “Additional Boot Entries” and for “Themes” together with index entries Change-Id: I9e43d27b7294144288eb2a8ce1d7903da6dfae45 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #8162
2026-04-19doc: Further elucidate(?) the bcachefs situation.Tobias Geerinckx-Rice
This follows up on commit cd2d52bce2a89f5c3243d78979adbba7e00d3c55. Said support is <https://codeberg.org/guix/guix/pulls/1917>, but linking to PRs in the documentation is a bit much. The git log is much better. * doc/guix.texi (Keyboard Layout and Networking and Partitioning): One cannot, in fact, load the bcachefs module on an unpatched Guix System. Change-Id: Ib04cc97cf7cffc1e7d130d4dd43e422afaef55ee
2026-04-23doc: Add a note reminder to checkout the correct tag for rust crates.Murilo
* doc/guix-cookbook.texi (Packaging Workflows)[Packaging Rust Crates] {Common Workflow for Rust Packaging}: Add the note. Change-Id: I670c78d7cd6771b5f4814123e488cbdb1c4e9fe2 Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23doc: Add new workflow for resolving merge conflicts on rust apps PRs.Murilo
* doc/guix-cookbook.texi (Packaging Workflows)[Packaging Rust Crates] {Common Workflow for Updating Existing Rust Packages}: Add new workflow. Change-Id: I191d35790754b2fab4c27b794829959f1bf58d06 Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23doc: Recommend a way of resolving merge conflicts for rust PRs.Murilo
* doc/contributing.texi (Rust Crates) [Resolving merge conflicts in Pull Requests]: New subsubsection. Change-Id: Icbc5e2da01b6068b6237548f2bd49262433799de Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23doc: Add new workflow for resolving merge conflicts on rust crate PRs.Murilo
* doc/guix-cookbook.texi (Packaging Workflows)[Packaging Rust Crates] {Common Workflow for Resolving Merge Conflicts on Existing Pull Requests}: Add new workflow. Change-Id: I6e5cbf843174049e1dbde17ecd1ea259b4fa4aae Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23doc: Add rust commit messages guidance.Murilo
* doc/contributing.texi (Rust Crates)[Commit messages]: New subsubsection. Change-Id: If22d6921301902417a88d2d5d8e2fad947762bee Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23doc: Clarify that rust crate changes should be done in the same commit.Murilo
* doc/contributing.texi (Rust Crates): Add clarification. Change-Id: Iff45cda11b14640a70a2849fe66ae68f46cb3ba9 Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23services: kmonad: New service.Sergio Pastor Pérez
* gnu/services/desktop.scm (<kmonad-configuration>) (kmonad-shepherd-service, kmonad-service-type): New variables. * doc/guix.texi (Desktop Services): Document `kmonad-service-type'. Change-Id: I53f868d55aea97858ec83d762a04723d3c72dc92 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-20doc: Mention the GCD process.Ludovic Courtès
* doc/contributing.texi (Making Decisions): Document GCDs. Change-Id: I8b247af4e6ec731bc7750e19519c8dba863e5ef5 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #7786
2026-04-20doc: Document ‘package/inherit’.Ludovic Courtès
* doc/guix.texi (Defining Package Variants): Document ‘package/inherit’. Change-Id: I373b54d3a6978d7d2719a234b244397f68004818 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #7784
2026-04-20doc: Add missing markup in “Invoking guix refresh”.Ludovic Courtès
* doc/guix.texi (Invoking guix refresh): Add missing @option. Change-Id: I898d2d4d6fac8a05281a43043e1eaba36cd57869 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-04-20doc: Fix typographical issues in “Invoking guix style”.Ludovic Courtès
* doc/guix.texi (Invoking guix style): Fix typographic issues. Use less horizontal space in example. Change-Id: Ibc8c89e4f0ae1f8ea03c4d706280b424533b0e48 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-04-17home: services: gpg-agent: Expose shepherd-requirement in configuration.Hilton Chain
* gnu/home/services/gnupg.scm (home-gpg-agent-configuration) [shepherd-requirement]: New field. (home-gpg-agent-shepherd-services): Use it. * doc/guix.texi (GNU Privacy Guard): Update documentation. Merges: #7788
2026-04-15guix: Implement fossil-download.Nguyễn Gia Phong
* guix/fossil-download.scm: New file. * guix/build/fossil.scm: New file. * Makefile.am (MODULES): Add them. * etc/teams.scm (core)[#:scope]: Add "guix/fossil-download.scm". (vcs)[#:scope]: Add "guix/build/fossil.scm". * CODEOWNERS: Regenerate file. * doc/guix.texi (origin Reference): Document fossil-fetch and fossil-reference. * NEWS: Add entry about fossil-fetch. Change-Id: Ia252bcbbb417159a842d5092a937e2aad55a1656 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-12services: configuration: Add environment variable serializer.Giacomo Leidi
This patch implements a general API to serialize configuration records to list of pairs representing environment variables. The car of each pair represents the variable name and the cdr the variable value. * gnu/services/configuration/environment-variables.scm: New file. (serialize-string-environment-variable) (serialize-maybe-string-environment-variable) (serialize-boolean-environment-variable) (serialize-maybe-boolean-environment-variable) (serialize-number-environment-variable) (serialize-maybe-number-environment-variable): New variables. (serialize-environment-variables): New variable. * gnu/services/configuration/utils.scm: New file. (uglify-snake-case): New variable. * tests/services/configuration.scm: Add tests for environment serializer. (wrong type for a field): Adjust error location. * doc/guix.texi: Document it. Change-Id: I81a166576f94d3c8f5bf78c82a02183689a3091c Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-09guix: Ask LUKS password only once on boot when using GRUB.Danny Milosavljevic
* gnu/bootloader/grub.scm (make-grub-configuration): Modify. * gnu/system/mapped-devices.scm (open-luks-device): Modify. * gnu/tests/install.scm (%encrypted-root-installation-script): Modify. (%encrypted-root-os): Make debugging possible. * doc/guix.texi (Mapped Devices): Cross-reference automatic LUKS master key passing. (BootloaderConfiguration): Document automatic LUKS master key passing via GRUB's (proc)/luks_script. Update extra-initrd documentation. Change-Id: I5be74a524de04232d156e750109707fe7e50c28a
2026-04-07doc: Fix documentation of the name service switch.Maxim Cournoyer
The previously referenced `nscd-service' procedure no longer exists. * doc/guix.texi (Name Service Switch): Adjust to refer to nscd-service-type and its nscd-configuration configuration record. Change-Id: Ib2b5ef69facf3489626782ad9dbd927a27c04084