summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)AuthorFilesLines
2026-06-03doc: Contributing: Direct issue reports to Codeberg.Rovanion Luckey1-6/+9
* doc/contributing.texi (Contributing): Direct issue reports to Codeberg instead of the deprecated bug-guix mail list. Change-Id: I5bd1b5926e144b8461ab2f836bed1319ae75ec88 Merges: https://codeberg.org/guix/guix/pulls/7814 Reviewed-by: Nicolas Graves <ngraves@ngraves.fr> Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-06-03doc: cookbook: Add new prepare-rust-crates phase.Gábor Udvari1-1/+2
* doc/guix-cookbook.texi (Using Rust Libraries in Other Build Systems): Add new prepare-rust-crates phase introduced in commit 3691bb640d33150d2ff3f8194e6f157325a8d5e4. Change-Id: I98ca9757d32db73ce94048a0c9f08ce2288bffb0 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-06-01Revert "services: Add forgejo-service-type."Maxim Cournoyer1-319/+0
This reverts commit e8ac9c3c3aee52866c8c48dc0aacccb27fc88d5a, pushed by mistake.
2026-06-01services: Add forgejo-service-type.Maxim Cournoyer1-0/+319
* gnu/services/forgejo.scm: New file. * gnu/tests/forgejo.scm: Likewise. * doc/guix.texi (Forge Services): Document it. Change-Id: I2c4e7b570d137b8d2fb7c02a29cb9aaf5366b9e1
2026-06-01doc: Mention default for `aliases' field of home-bash-configuration.Maxim Cournoyer1-5/+7
* doc/guix.texi (Shells Home Services): Mention default for `aliases' field of home-bash-configuration, and how to extend. Change-Id: I939a6d24f5bbfc7071d8ecb0777222fc3d26b59b
2026-06-01doc: Fix building the HTML manual.Florian Pelz1-3/+3
Follow-up to commit 3b7fd1e76698. * doc/guix.texi (Linux Services): Don't use @file inside @lisp. Change-Id: Ia77e38453c145bb35cab907da342a652076c9160
2026-06-01nls: Update translations.Florian Pelz1-1/+1
* po/packages/ta.po: Delete, as it is only gen AI slop. * po/packages/LINGUAS: Delete 'ta'. * po/guix/ro.po: New file. * po/guix/LINGUAS: Add 'ro'. * doc/build.scm (html-manual-indexes)<language-index>: Hide PDF for 'sk', which does not build. Change-Id: Iff9863250919f9a5e43078d866deed4f1d2aefbf
2026-05-31services: network-manager: Allow dnsmasq configuration.Angus Gibson1-0/+10
When using (dns "dnsmasq"), configuration is achieved through the /etc/NetworkManager/dnsmasq.d directory. The new field parallels extra-configuration-files for configuration of NetworkManager itself. * gnu/services/networking.scm (network-manager-configuration) <dnsmasq-configuration-files>: New field. * doc/guix.texi (Networking Setup): Document it. Change-Id: I31d772939e4e1d65f3ff407d70a87a64a047aac6 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-30import: git: Support 'stable-version-regexp' property.宋文武1-0/+4
Some packages (eg: xfce4-panel) use even number for minor version to indicate a stable release, when refresh such packages to latest versions we'd like them to be stable ones. Introduce 'stable-version-regexp' as a package property, so that unwanted releases can be filtered out. * doc/guix.texi (Invoking guix refresh): Document 'stable-version-regexp'. * guix/import/git.scm (import-git-release): Filter out unstable releases when target-version is unset but 'stable-version-regexp' is available. Change-Id: I7bbb2cb41b19175a7e3fb79e00cd8dbb20d049ad
2026-05-29scripts: lint: Add 'whole-file' option with ordering checker.Herman Rimm1-3/+23
* guix/scripts/lint.scm (show-help): Describe option. (%options): Add 'whole-file' option. (guix-lint): Run checkers on packages defined in files. * doc/guix.texi (Invoking guix lint): Document option. * tests/guix-lint.sh: Define unordered package and invoke new option. Change-Id: I52b48a9a6982d0c4a03416e3d070887c64716485 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #8796
2026-05-29services: mumi: Make rsync and index timer event configurable.Arun Isaac1-4/+7
* gnu/services/web.scm (<mumi-configuration>)[rsync-and-index-event]: New field. * gnu/services/web.scm (mumi-shepherd-services): Use it. * doc/guix.texi (Web Services)[Mumi]: Document it. Change-Id: I5910c4a93106b44eaf3900d6a72fb501c01b8773
2026-05-27daemon: Allow ADDR_NO_RANDOMIZE to be omitted if `--allow-aslr'.Reepca Russelstein1-0/+15
Docker's default seccomp filter prevents use of the ADDR_NO_RANDOMIZE flag with the personality system call. It causes personality to return EPERM. In general, we assume that any result other than the only documented one, EINVAL, is caused by seccomp. If we detect that ADDR_NO_RANDOMIZE is blocked, and the --allow-aslr option was passed, we simply don't use it. This allows guix-daemon to continue to work even in these containers, without any implicit weakening of reproducibility. Since it is presumably desirable to be able to build guix itself in such an environment, also pass --allow-aslr to guix-daemon in test-env. * nix/libstore/globals.hh (Settings::allowASLR): new field. * nix/nix-daemon/guix-daemon.cc (options): add --allow-aslr option. (parse_opt): use it to set Settings::allowASLR. * nix/libstore/build.cc (DerivationGoal::startBuilder): detect when ADDR_NO_RANDOMIZE is blocked and --allow-aslr is passed and don't use it in that case. * doc/guix.texi: document --allow-aslr in "Invoking guix-daemon". * build-aux/test-env.in: always pass --allow-aslr. Fixes: guix/guix#3917 Change-Id: I51c5899a9559e161f9e107c2e6a36df395ab3134 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Modified-by: Ludovic Courtès <ludo@gnu.org> Merges: #4616
2026-05-27doc: Add missing menu entry for volunteer run mirrors.Maxim Cournoyer1-0/+1
* doc/guix.texi (Substitutes): Add missing menu entry. Change-Id: Ia2e6e516ddff3f836b51c34fd8441350793c352d
2026-05-26services: gunicorn: Allow configuration of control-socket.Sören Tempel1-0/+4
Since gunicorn is run in its own Linux namespace, where $HOME is read-only, creating that control-socket fails and prevents gunicorn from starting by default. Therefore, this patch disables it by default but allows supplying a custom path via a newly added configuration field. * gnu/services/web.scm (gunicorn-app): Add gunicorn-app-control-socket. (gunicorn-shepherd-services): Respect gunicorn-app-control-socket. * doc/guix.texi (gunicorn-app): Document it. Change-Id: I648079b630293a47801713425728a4d602c8088c
2026-05-26service: dnsmasq: Expose new options for authoritative operation.Maxim Cournoyer1-0/+30
* gnu/services/dns.scm (<dnsmasq-configuration>) [authoritative-servers, authoritative-zones, host-records]: New fields. (dnsmasq-shepherd-service): Use them. * doc/guix.texi (DNS Services): Add a new example and document the new fields. Change-Id: Ib26c3f59e90b2a9997ecdac03c5564ae02b6754e Reviewed-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-26service: dnsmasq: Add 'locals' configuration option.Maxim Cournoyer1-0/+6
* gnu/services/dns.scm (<dnsmasq-configuration>) [locals]: New field. (dnsmasq-shepherd-service): Use it. * doc/guix.texi (DNS Services): Document it. Change-Id: I1c2bc86c1636aa82451d1a38959380c3791fd8d4
2026-05-26service: dnsmasq: Add ipv4? and ipv6? configuration options.Maxim Cournoyer1-0/+6
* gnu/services/dns.scm (<dnsmasq-configuration>) [ipv4?, ipv6?]: New fields. (dnsmasq-shepherd-service): Use them. * doc/guix.texi (DNS Services): Document them. Change-Id: I50a4e407cea9e55295c9cfff081b7678ab7e061c
2026-05-25doc: Add agitjo under the ’perfect setup’ section.Cayetano Santos1-0/+27
This is a complement to the AGit workflow included in "Submitting Patches". * doc/guix.texi: Mention ‘emacs-agitjo’ in the ’Emacs’ subsection. Merges guix/guix!8445 Change-Id: Ia49a0da71e8b08e252ff4dd996c414173920ecac
2026-05-26doc: Mention the volunteer run mirrors.Nemin1-7/+50
* doc/guix.texi (Volunteer Run Mirrors): New subsection. * doc/guix.texi (Official Substitution Servers): Rephrase due to new subsection. Change-Id: I6e0861b632a78b705ce7ed8615a423c6d370f4c9 Merges: https://codeberg.org/guix/guix/pulls/6272 Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop> Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-23machine: hetzner: Fix initial deploy when ssh-key is #f.Maxim Cournoyer1-1/+13
This fixes a regression introduced in commit a2ef2bcbfd7 ("machine: hetzner: Allow connections using ssh-agent"), where having no ssh-key would cause the early Hetzner provisioning to fail due to the lack of SSH authentication. * gnu/machine/hetzner.scm (%hetzner-ssh-key-file): New parameter. (<hetzner-configuration>) [ssh-public-key]: Compute default according to the value of the private ssh-key field. Introduce an indirection via... (hetzner-configuration-ssh-public-key): ... this new procedure, to honor %hetzner-ssh-key-file. (hetzner-configuration-ssh-key): Likewise for the private ssh-key. (hetzner-configuration-ssh-key-fingerprint): Rename to... (public-key->fingerprint): ... this, taking just the public key as argument. Update doc. (hetzner-configuration-ssh-key-public): Rename to... (public-key->string-with-type): ...this, for clarity, and accept just a public-key object. Update doc. (hetzner-machine-ssh-key): Exit early with #f when no ssh key is provided. (temporary-ssh-key-file): New procedure. (hetzner-machine-ssh-key-create): Assert a public key is defined. Adjust calls to renamed procedures, and adjust for the `hetzner-api-server-create' API change. (hetzner-machine-enable-rescue-system): Refine doc and fix code path when ssh-key is #f. (hetzner-machine-rescue-install-os): Document. (hetzner-machine-provision): Refine doc. Remove extraneous sleep and #:unwind argument. Limit ssh-session dynamic scope to where it's needed. (cleanup-temporary-ssh-key/maybe): New procedure. (deploy-hetzner): Create and use a temporary SSH key when none is defined, and clean it up when done or on errors. * gnu/machine/hetzner/http.scm (hetzner-api-server-create): Make ssh-keys a keyword argument, and fix execution when it's #f. (hetzner-api-server-enable-rescue-system): Likewise. * tests/machine/hetzner.scm ("deploy-machine-mock-with-unprovisioned-server"): Adjust test. * tests/machine/hetzner/http.scm (create-server) ("hetzner-api-server-create-unit") ("hetzner-api-server-enable-rescue-system-unit") ("hetzner-api-actions-integration") ("hetzner-api-server-enable-rescue-system-integration"): Likewise. * doc/guix.texi (Invoking guix deploy): Precise what happens when 'ssh-key' is #f in hetzner-configuration, and suggest declaratively authorizing your SSH key. Change-Id: I812b348fb553f3b5aebd0bf66850c6ecb9e06653
2026-05-23machine: hetzner: Allow providing the SSH user.Maxim Cournoyer1-0/+4
* gnu/machine/hetzner.scm (<hetzner-configuration>) [user]: New field. (hetzner-machine-delegate): Use match-record to bind the field values; honor user. * doc/guix.texi (Invoking guix deploy): Document it. Fixes: #8493 Change-Id: I026828c508ea936523fe864e2646ab9e3a1329c4
2026-05-21doc: Remove footnote under “The Perfect Setup”.Cayetano Santos1-7/+1
This doesn’t hold true anymore. * doc/contributing.texi (The Perfect Setup)[Emacs]: Remove footnote. Change-Id: Iafe3bddad665c817eef463a264fcf3503f4a7691
2026-05-20gnu: services: Add btrfs-scrub-service-type.Joan V. C.1-0/+76
* gnu/services/linux.scm (btrfs-scrub-configuration): New configuration record. (btrfs-scrub-service-type): New service type with custom actions. (fstrim-/shepherd-calendar-event?): Refactor to avoid name collisions. * doc/guix.texi: Add service documentation. Change-Id: I04747914591a80cd535d2f79d35e08f68081b2fc Signed-off-by: Joan Vilardaga Castro <codeberg-hn80@joanvc.cat> Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-05-19doc: Fix typo.Maxim Cournoyer1-3/+2
Follow-up to commit 02352f186f37. * doc/guix.texi (Database Services): Fix typo. Change-Id: If3c672c3a986b4d0eaf0892cfb44c59fe9413310
2026-05-19doc: Document valid values for log-destination in postgresql-config-file.Maxim Cournoyer1-2/+4
* doc/guix.texi (Database Services) <posgresql-config-file> [log-destination]: Mention valid values. Change-Id: I111a258efba01c3889dfc36e44dc21f5137b91f1
2026-05-19doc: Remove stale paragraph about postgres socket-directory's default.Maxim Cournoyer1-3/+0
The default value was changed in commit 502925655d1a51aad544804c8ef492a5d24e1776 ("doc: Update postgresql defaut socket directory."). Change-Id: I9d495de696273bd35f77c858fd22653a556e2c13
2026-05-19machine: hetzner: Introduce the `make-hetzner-os' procedure.Maxim Cournoyer1-24/+24
All the performance and general purpose newer x86 Hetzner server types like the 'cpx22' now require an EFI bootloader, while older ones like the 'cx23' still expect a BIOS bootloader. Instead of exposing the user to errors when selecting the correct operating system template to use, provide a procedure that takes returning one based on the server type name. * gnu/machine/hetzner.scm (%hetzner-os-arm): Rename to... (%hetzner-os-arm/efi): ... this. Adjust for variable name change. (%hetzner-os-x86): Rename to... (%hetzner-os-x86/bios): ... this. Adjust for variable name change. (%hetzner-os-x86/efi): New variable. (server-type-name->arch, server-type-name->bootloader) (make-hetzner-os): New procedures. (%hetzner-os-x86, %hetzner-os-x86): Deprecate variables. (hetzner-machine-bootstrap-os-form): Use the server type name to infer whether the EFI or BIOS bootloader should be used, along the EFI partition. * doc/guix.texi (Invoking guix deploy): Updated doc. Fixes: #8523 Change-Id: I331a76e12bb3c19f5664dcbe4437a8d1cfe1d363
2026-05-17doc: Mention that trusted channels must have an introduction.Ludovic Courtès1-1/+4
* 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ès1-3/+6
* 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ès1-1/+1
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 Tempel1-0/+9
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 Flashner1-2/+4
* 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 Nieuwenhuizen1-2/+2
* 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 Norton1-0/+26
* 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 Kondratiev1-1/+1
* 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 Cournoyer1-0/+38
* 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.Brickworld1-20/+19
* 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ès1-11/+26
* 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 Cournoyer1-2/+6
* doc/guix.texi: Regenerate menus. Change-Id: If0394687ad607c7b869147733d38d609767a125e
2026-05-10doc: Add a list of ‘guix hash’ examples.Ludovic Courtès1-3/+28
* 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ès1-12/+13
* 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ès1-12/+40
* 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ès1-8/+80
* 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ès1-0/+47
* 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ès1-22/+40
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ès1-1/+1
* 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ès1-1/+1
* 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 Graves1-0/+23
* 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 Graves1-48/+38
* 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 Leidi1-0/+20
* 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