Commit graph

4035 commits

Author SHA1 Message Date
Rutherther
0f8d5a4760
doc: Use devel url on master.
To prevent redirection to the versioned maual, use devel on master branch.

* doc/htmlxref.cnf: Point GUIX to devel manual.

Change-Id: I6b2bf3b78ca5815ff49e6ebe50bc12383e64a7fd
2026-01-22 13:42:47 +01:00
Rutherther
7c0cd7e45b
Merge branch 'version-1.5.0'
Change-Id: Id73c0c74600a3da3373b3a37236b505af65bfe31
2026-01-22 13:27:13 +01:00
Ludovic Courtès
519524f996
doc: Use versioned URL for references to translated Guix manuals.
Partly addresses guix/guix#5725.

* doc/htmlxref.cnf (GUIX): Add /1.5.0.

Change-Id: I49ef15c00ca45b83a48ba0d1366b79a108e1e1a8
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5754
2026-01-19 19:23:30 +01:00
Danny Milosavljevic
811ee1ab9f
import: nuget: Add tests and documentation.
* guix/import/nuget.scm: Prevent optimizing small functions away completely.
* tests/import/nuget.scm: New file.
* doc/guix.texi (nuget): Document it.
* Makefile.am (SCM_TESTS): Add reference to it.

Fixes: guix/guix#5483
Change-Id: Id58932fe404a11a03e61a91d3b6177b39548f1bc
2026-01-19 19:21:52 +01:00
Ludovic Courtès
2e2f80faba
doc: Use markup for commands in “Upgrading Guix”.
This is a followup to d5cf3b5def.

* doc/guix.texi (Upgrading Guix): Use markup for commands.

Change-Id: I0b751ddc7f0e8e57813be23c809c23ade1e6cbd1
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5724
2026-01-19 18:52:31 +01:00
Ludovic Courtès
b12d80aec3
doc: Move “When you’re done” instructions right after ‘guix-install.sh’.
* doc/guix.texi (Binary Installation): Move “When you’re done” instructions
right after script execution.

Change-Id: I70c9015add401a6ad6465941f423a3c4c9ef9b24
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:29 +01:00
Ludovic Courtès
02840cc74f
doc: Mention the tarball URL and clarify binary installation steps.
* doc/guix.texi (Binary Installation): Mention the tarball URL.  Clarify what
the steps do.

Change-Id: Ic929b10c29b69752fd549b78295682bdf4fb76f6
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:28 +01:00
Ludovic Courtès
6e89d38ce8
doc: Move ‘guix-install.sh’ commands upfront in “Binary Installation”.
* doc/guix.texi (Binary Installation): Move installation commands upfront.

Change-Id: Ie63837f29d5c2f25e3e50039facb8cdb12ba2f82
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:27 +01:00
Ludovic Courtès
a92a0ddaea
doc: Reword introduction to ‘guix-install.sh‘.
* doc/guix.texi (Binary Installation): Reword introduction to
‘guix-install.sh’.

Change-Id: I51a1f55191cccde3800ef32a7a8ebe15f5e2c813
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:26 +01:00
Ludovic Courtès
6275c911bd
doc: Link to ‘guix-install.sh’ upfront under “Binary Installation”.
* doc/guix.texi (Binary Installation): Link to the script upfront rather than
in a footnote.

Change-Id: Icd89d0e9bb0c701b6b956ce214015e5466299bf3
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:26 +01:00
Ludovic Courtès
93e1f4e363
doc: Remove ‘#’ from code snippets to allow for copy/paste.
* doc/guix.texi (Binary Installation): Remove leading ‘#’ from code snippets.

Change-Id: Id459799ffdf26da3f9ab2907ed68e0ac7eb857fc
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:25 +01:00
Ludovic Courtès
f45b68feb8
doc: Use @command for commands under “Binary Installation”.
* doc/guix.texi (Binary Installation): Use @command and @code appropriately.

Change-Id: If2d0d25a3e7e97c19f14c6f70143b5481b49b727
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:24 +01:00
Ludovic Courtès
60005904e9
doc: Move instructions about ‘guix’ from other distros to the bottom.
* doc/guix.texi (Binary Installation): Move paragraphs about ‘guix’ packages
of other distros to the bottom.

Change-Id: Ie7c3484e40fb0dbe502e81f17e2d74b7afa0e777
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:23 +01:00
Ludovic Courtès
32c28c684a
doc: Remove Parabola instructions from “Binary Installation”.
This reverts 0f9fe721be.

The rationale is that there’s no reason to single out Parabola and, more
importantly, it obscures the message of this section.

* doc/guix.texi (Binary Installation): Remove Parabola instructions.

Change-Id: Ib7b2b0629d8e3a90cd09705cc2dcde15df8f51a2
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:22 +01:00
Rutherther
077aaa1138
doc: Bump version to 1.5.0.
* doc/build.scm
(%latest-guix-version): Bump to 1.5.0.
(stylized-html): Move to versioned manual URL.
(html-manual): Use versioned manual URL.

Change-Id: I82048a9548894e335e7c2427a739733304a7961a
Fixes: #5681
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5715
2026-01-18 17:54:21 +01:00
Hilton Chain
2ae3c69679
import: crate: Generate comments with ‘TODO REVIEW:’ prefix.
This distinguishes them from manually added ones.  When committing changes,
these ‘TODO REVIEW’ comments should be addressed and removed first.

If you're working with Rust packaging, please update your local Guix to this
commit to apply the change.

* guix/import/crate.scm (cargo-lock->expressions): Generate comments with
‘TODO REVIEW:’ prefix.
* tests/import/crate.scm ("crate-lockfile-import"): Don't check the exact
comment string.
* doc/guix-cookbook.texi (Common Workflow for Rust Packaging),
* gnu/packages/rust-crates.scm: Adjust accordingly.

Change-Id: I76b914b49be46d04cc61b101b6bc9e31cadb7f07
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #4567
2026-01-18 11:15:36 +01:00
Hilton Chain
1232e53526
gnu: rust-crates: Add ‘package:’ prefix for replaced crates.
This avoids definitions like
‘(define rust-pipewire-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)’.

* gnu/packages/rust-crates.scm: Import (gnu packages rust-sources) module with
‘package:’ prefix.
* etc/teams/rust/rust-crates.tmpl,
* doc/guix-cookbook.texi (Cargo Workspaces and Development Snapshots): Adjust
accordingly.

Change-Id: Ie41556d8f30db65e968d8e8238491f1345eeed59
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-18 11:14:55 +01:00
Hilton Chain
01b97dff35
import: crate: Generate comments with ‘TODO REVIEW:’ prefix.
This distinguishes them from manually added ones.  When committing changes,
these ‘TODO REVIEW’ comments should be addressed and removed first.

If you're working with Rust packaging, please update your local Guix to this
commit to apply the change.

* guix/import/crate.scm (cargo-lock->expressions): Generate comments with
‘TODO REVIEW:’ prefix.
* tests/import/crate.scm ("crate-lockfile-import"): Don't check the exact
comment string.
* doc/guix-cookbook.texi (Common Workflow for Rust Packaging),
* gnu/packages/rust-crates.scm: Adjust accordingly.

Change-Id: I76b914b49be46d04cc61b101b6bc9e31cadb7f07
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #4567
2026-01-18 10:13:38 +01:00
Hilton Chain
91f1db6186
gnu: rust-crates: Add ‘package:’ prefix for replaced crates.
This avoids definitions like
‘(define rust-pipewire-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)’.

* gnu/packages/rust-crates.scm: Import (gnu packages rust-sources) module with
‘package:’ prefix.
* etc/teams/rust/rust-crates.tmpl,
* doc/guix-cookbook.texi (Cargo Workspaces and Development Snapshots): Adjust
accordingly.

Change-Id: Ie41556d8f30db65e968d8e8238491f1345eeed59
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-18 10:13:32 +01:00
Simon Tournier
696b85377d
doc: Rename package variants index anchor terms.
* doc/guix.texi (Package Transformation Options): Add index term and move
index term from here...
(Defining Package Variants): ...to here and add index term.

Fixes: guix/guix#2191
Change-Id: I8ed71d3db8a6c70368f9ae37d159622a5512db42
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-01-16 00:10:43 +01:00
Christopher O'Neill
a2f6d5c4ab
doc: Remove paragraph stating Xorg display server used by default.
* doc/guix.texi (Desktop Services): Remove paragraph.
(X Window): Remove corresponding anchor.
* po/doc/guix-manual.de.po, po/doc/guix-manual.fr.po: Likewise.

Change-Id: Ib545f15e51585fcc5abdb804e6d9eb0f47cb2179
Co-authored-by: Florian Pelz <pelzflorian@pelzflorian.de>
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-15 19:07:35 +01:00
Hugo Buddelmeijer
d08d7c6e5f
doc: Better explain extra development tools when building from git.
* doc/contributing.texi (Building from Git): Better explain adding tools.

Change-Id: I47fb9e5414edc5eebce64d25db6998cc51985fcb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4821
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-15 19:07:34 +01:00
Hugo Buddelmeijer
74d6654633
doc: Explain that some test require network when building from git.
* doc/contributing.texi (Building from Git): Discuss network tests.

Change-Id: I21c8e4a1e60ed215a6fb3507b7aedc1835f735ad
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-15 19:07:33 +01:00
Hugo Buddelmeijer
d32b285b2b
doc: Improve building from git instructions.
* doc/contributing.texi (Building from Git): Improve instructions.
Include 'cd' and authorizing the directory for guix shell.

Change-Id: Ied8eb7553ab92504a87c0059820ca154a18c33ab
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-15 19:07:32 +01:00
Danny Milosavljevic
ac92638bce
services: Add opensnitch-service.
* gnu/services/opensnitch.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add reference to it.
* doc/guix.texi (Miscellaneous Services, Security): Document it.
* gnu/tests/security.scm (%test-opensnitch): New variable.

Change-Id: I63d1b6636b3aaecf399664ec97383d82ff1391d1
2026-01-08 01:53:57 +01:00
Christopher O'Neill
1502f231ff
doc: Remove paragraph stating Xorg display server used by default.
* doc/guix.texi (Desktop Services): Remove paragraph.
(X Window): Remove corresponding anchor.
* po/doc/guix-manual.de.po, po/doc/guix-manual.fr.po: Likewise.

Change-Id: Ib545f15e51585fcc5abdb804e6d9eb0f47cb2179
Co-authored-by: Florian Pelz <pelzflorian@pelzflorian.de>
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2026-01-07 03:17:49 +01:00
Maxim Cournoyer
47af617b5c
services: Add luanti-service-type.
* gnu/services/games.scm (luanti-configuration): New variable.
(%luanti-account): Likewise.
(luanti-activation): New procedure.
(luanti-shepherd-service): Likewise.
(luanti-service-type): New variable.
* gnu/tests/games.scm: New file.

Change-Id: I65a1dcf832fa8add9c9d278d82bab91ca3eef086
Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-01-06 22:00:50 +09:00
Hugo Buddelmeijer
450e3f01f7
doc: Better explain extra development tools when building from git.
* doc/contributing.texi (Building from Git): Better explain adding tools.

Change-Id: I47fb9e5414edc5eebce64d25db6998cc51985fcb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4821
2026-01-05 11:06:39 +01:00
Hugo Buddelmeijer
f3a64d940b
doc: Explain that some test require network when building from git.
* doc/contributing.texi (Building from Git): Discuss network tests.

Change-Id: I21c8e4a1e60ed215a6fb3507b7aedc1835f735ad
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-05 11:06:39 +01:00
Hugo Buddelmeijer
8c34dfeec2
doc: Improve building from git instructions.
* doc/contributing.texi (Building from Git): Improve instructions.
Include 'cd' and authorizing the directory for guix shell.

Change-Id: Ied8eb7553ab92504a87c0059820ca154a18c33ab
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-05 11:06:39 +01:00
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
Ludovic Courtès
1cf00c47c0
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
2025-12-26 00:01:43 +01:00
Rutherther
addca6dba4
Merge branch 'version-1.5.0'
Change-Id: I5a36bbdb772c88f71fbe612cf6c445c34088e35c
2025-12-25 13:08:45 +01:00
Hugo Buddelmeijer
001cd00bcd
doc: Briefly discuss default git branch name.
* doc/contributing.texi (Building from git): Discuss branch name.

Change-Id: I9ddb9318749c7974a8724355c1a6b18a98fa9e8e
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2025-12-23 10:33:24 +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