summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)Author
2025-12-22etc: Add AppArmor profile for the daemon.Noé Lopez
* .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-22services: Modernize redis service.Ashvith Shetty
* 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-22doc: Fix typo.Nguyễn Gia Phong
* doc/guix.texi (Mapped Devices): Fix typo. Change-Id: I72a5e0e651e3926def0bd5fdb67ccc01cc8a2041 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20doc: Warn about specific nologin paths when it is not in PATH.Noé Lopez
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-20doc: Update information on installing guix with package managers.Noé Lopez
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-20doc: Mention that services doing mounts should depend on user-file-systems.Rutherther
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-19monad-repl: Add "graft?" command.Tomas Volf
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-13doc: Warn that extra-special-file files persist.Hugo Buddelmeijer
* 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-11services: oci: Fix oci-image value field handling.Owen T. Heisler
* 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-08doc: Remove unreachable reference from the Cookbook.Ludovic Courtès
* 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-08doc: Add reference to Guix-Packager.Ludovic Courtès
* 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-08doc: Use a gexp in “Defining Packages”.Ludovic Courtès
* 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-05doc: Mention newgidmap tool for systemd installationsSimon Josefsson
* doc/guix.texi (Binary Installation): Mention newgidmap. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-03services: hurd-vm: Support persistent images again.Ludovic Courtès
Fixes a regression introduced in bab6434f5855b92631615fdd8a2d2a225da28359 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-02doc: home: Document Himitsu services.Lilah Tascheter
* 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-01gnu: Add home-gcr-ssh-agent-service-type.Giacomo Leidi
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-01nls: Update translations.Florian Pelz
* 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-01doc: cookbook: Fix typo.Florian Pelz
* doc/guix-cookbook.texi (A Scheme Crash Course): Change supposed printout of code example to what is actually printed. Change-Id: I4d2d2f1f1c3be0a8251f2fc91bc5657bc63891c8
2025-11-24image: Add support for swap.Denis 'GNUtoo' Carikli
* 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-24image: Add support for f2fs.Denis 'GNUtoo' Carikli
* 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-22gnu: Add home-darkman-service-type.dan
* 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-21gnu: Remove lsh-service-type.Andreas Enge
* 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-18gnu-maintenance: ‘generic-html’ recognizes ‘release-file-regexp’ ↵Ludovic Courtès
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-16gnu: Add autofs-service-type.Ian Eure
* 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-13gnu: Add --pid-file option to "guix system container" scripts.Carlo Zancanaro
* 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-12gnu: services: Add mollysocket service.Lilah Tascheter
* 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-09services: opensmtd: Add back option to log to syslog.Dariqq
The option for syslog logging was removed in 6036f1f3053bc9b4f0411b5e8aeaab5bd7f4ec7b. * 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-09doc: Add mix-build-system.Giacomo Leidi
* 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-07gnu: Add iio-sensor-proxy-service-type.dan
* 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-06file-systems: Support the 'remount' mount flag.Sören Tempel
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-06doc: Fix documentation of unattended-upgrade-serviceKjartan Oli Agustsson
* 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-02services: gitile: Add git-owner-validation? configuration.Nguyễn Gia Phong
* gnu/services/version-control.scm (gitile-configuration): Add git-owner-validation? field. * doc/guix.text (Version Control Services): Document it. Change-Id: I7d35e66e512fcaae25a5eac138b0fb2437a7c70c
2025-10-31doc: Document hare-build-system.Lilah Tascheter
* doc/guix.texi (Build Systems)[hare-build-system]: New variable doc. Change-Id: I4aee955eb8ea6451340a76cd57671fdc6ba238d9 Signed-off-by: jgart <jgart@dismail.de>
2025-10-24style: Add git-source rule.Nicolas Graves
* 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-24services: forgejo-runner: Add ‘log-file’ option.Romain GARBAGE
* 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-23home: services: bash: Support setting shell variables.Ludovic Courtès
* 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-23doc: Refer to the Deprecation Policy from “Creating a Channel”.Ludovic Courtès
* doc/guix.texi (Creating a Channel): Reword warning to refer to the deprecation policy. Change-Id: I6c1cd8dfac557634c2963f13f17903f16acbe720
2025-10-23doc: Recommend ‘define-deprecated-package’ in the Deprecation Policy.Ludovic Courtès
* doc/contributing.texi (Deprecation Policy): Document and recommend ‘define-deprecated-package’. Change-Id: I530310f5216f09025525d91f690bb3885fe2cfb4
2025-10-23services: nar-herder: Add control server options.Christopher Baines
* 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-20doc: cookbook: Update command for installing the SICP book.Florian Pelz
Follow-up to commit e5a5b1d66aa3a6d54b28c91f83ea2986ac84fcc6. * doc/guix-cookbook.texi (A Scheme Crash Course): Change command. Change-Id: Ie559fc88738abef0dfa75dfc1d5dc926a618e4c2
2025-10-19doc: cookbook: Minor correction to "Reproducible Research" chapter.Konrad Hinsen
* doc/guix-cookbook.texi (Setting Up the Environment): Reword. Change-Id: Ifaf8b3231fe1b3007dbaaf7005c249fbcdf1deb2 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-10-17doc: cookbook: Fix typos under “Reproducible Research”.Ludovic Courtès
* doc/guix-cookbook.texi (Setting Up the Environment): Remove extra word; add missing word. Change-Id: I41ba29bd81fd6e8262d4112e57e1ff0cce439967
2025-10-14guix: Fix guix-minimal install phase.Nicolas Graves
* doc/local.mk (sub_commands_mans): Add guix-copy conditionally. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-10-13nss: Allow selecting IP protocol for mDNS lookups.Sergey Trofimov
* 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-13doc: cookbook: Add “Reproducible Research” chapter.Ludovic Courtès
* doc/guix-cookbook.texi (Reproducible Research): New node. Change-Id: I73d12771a2c2b5717b8f553dacae272f509a9fed
2025-10-10home: services: Add niri.Oleg Pykhalov
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-08doc: cookbook: Fix network bridge qemu example.Gabriel Wicki
* 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-07services: libvirt: Add configurable service requirements.Oleg Pykhalov
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-07services: libvirt: Make dmidecode available to fix SMBIOS error.Oleg Pykhalov
The libvirt daemon requires 'dmidecode' to provide Host SMBIOS information to virtual machines. Without it in the PATH, it fails with the error: "Host SMBIOS information is not available". * gnu/services/virtualization.scm (libvirt-configuration): Add 'dmidecode' field to specify the dmidecode package. (libvirt-service-type): Add dmidecode to system profile to ensure it's available in PATH. * doc/guix.texi (Virtualization Services): Document the new 'dmidecode' option. Change-Id: I8e5e565e95149c5aeba2dc0c5c757046efa6de2d
2025-10-06services: log-rotation: Allow to pass procedure as compression method.Benjamin Chabanne
* gnu/services/admin.scm (log-rotation-configuration): Change validation method and accept gexp procedure. Change-Id: I67cd5051a05d211349ecbc66ee3a55ab5b1a5971 Signed-off-by: Ludovic Courtès <ludo@gnu.org>