aboutsummaryrefslogtreecommitdiff
path: root/doc/guix.texi
AgeCommit message (Collapse)Author
2024-09-03scripts: style: Add 'alphabetical-sort' option.Herman Rimm
* guix/scripts/style.scm (show-help): Describe option. (order-packages): Add procedure. (format-whole-file): Add 'order?' argument. (%options): Add 'alphabetical-sort' option. (guix-style): Alphabetically order packages in files. * tests/guix-style.sh: Test alphabetical ordering. * doc/guix.texi (Invoking guix style): Document option. Change-Id: I4aa7c0bd0b6d42529ae7d304587ffb10bf5f4006 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-08-31services: agate: Change variable names and add system test.Rodion Goritskov
* doc/guix.texi (Web Services): Update documentation for agate-service-type. * gnu/services/web.scm (agate-configuration): Rename certs, addr, lang and central-conf variables. * gnu/tests/web.scm (%test-agate): Add system test for agate-service-type. Change-Id: Ie14814fca1d5158acd67899da0c3fc2c5b586c72 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-08-31doc: Document changes to `copy-recursively'.Romain GARBAGE
* doc/guix.texi: Document new key `select?' in `copy-recursively'. Change-Id: I4b14ae5a1b40e0939456604f75597b5596b76f83 Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-08-31build: copy-build-system: Allow specifying different output labels.Bruno Victal
* guix/build/copy-build-system.scm: Introduce '#:output' parameter to specify which output label to use for a given rule. * doc/guix.texi (Build Systems): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-08-31search-paths: Add $XML_CATALOG_FILES and $SGML_CATALOG_FILES.Bruno Victal
These variables are used by some packages for XML/SGML catalog lookups. * guix/search-paths ($XML_CATALOG_FILES, $SGML_CATALOG_FILES): New variable, extracted from … * gnu/packages/xml.scm (libxml2, opensp)[native-search-paths]: … here. Refer to the variables from (guix search-paths) respectively. * gnu/packages/perl.scm (perl-app-xml-docbook-builder)[native-search-paths]: Use $XML_CATALOG_FILES. * doc/guix.texi (Search Paths): Update documentation to reflect changes. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-08-18doc: Fix typos.Tobias Geerinckx-Rice
* doc/guix.texi (Desktop Services): Transpose 2 adjacent bytes. (Complex Configurations): Add a missing one. Change-Id: Ia03404b500e22ed0f8a414e6b63a8f3cc6270379
2024-08-28home: services: Add home-beets-service-type.Fabio Natali
* gnu/home/services/music.scm: New file. * gnu/local.mk: Add this. * doc/guix.texi: Document this. Change-Id: Idc23a68276cb3fb07733bb38bc38b1c5a63c1d6a Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-08-26doc: Remove duplicate search paths instructions.Florian Pelz
* doc/guix.texi (Invoking guix pull): Remove instructions obsoleted by Binary Installation instructions. Change-Id: I18274aa8bacd11de8ee72bd83c817f945468cc13
2024-08-21services: elogind-configuration: Add more sleep configurationsMorgan Smith
* gnu/services/desktop.scm (<elogind-configuration>): Allow actions to be set to 'suspend-then-hibernate'. Add configuration for 'hibernate-delay-seconds' and 'suspend-estimation-seconds'. * doc/guix.texi (Desktop Services): Add documentation for 'hibernate-delay-seconds' and 'suspend-estimation-seconds'. Change-Id: Icf788fcc88451aa6174a608fbed309961b847430 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-08-11privilege: Add POSIX capabilities(7) support.Tobias Geerinckx-Rice
* gnu/system/privilege.scm (<privileged-program>): Add a field representing the program's POSIX capabilities. (privileged-program-capabilities): New public procedure. * doc/guix.texi (Privileged Programs): Document it. * gnu/build/activation.scm (activate-privileged-programs): Take a LIBCAP package argument providing setcap(8) to apply said capabilities. * gnu/services.scm (privileged-program->activation-gexp): Pass said package argument where supported. Include privileged-program-capabilities in the compatibility hack.
2024-08-11system: Add privileged-programs to <operating-system>.Tobias Geerinckx-Rice
* gnu/system.scm (<operating-system>): Add new privileged-programs field, that defaults to… (%default-privileged-programs): …this new variable, renamed from… (%setuid-programs): …this, which is now defined as the empty list. * doc/guix.texi (Setuid Programs): Rename this… (Privileged Programs): …to this. Adjust all refs. Update all mentions of ‘setuid’ (whether in prose, variable names, or code samples) to use the new ‘privilege[d]’ terminology instead. (operating-system Reference, X Window, Invoking guix system) (Service Reference): Adjust likewise.
2024-08-11services: setuid-program: Populate /run/privileged/bin.Tobias Geerinckx-Rice
Create /run/setuid-programs compatibility symlinks so that we can migrate all users (both package and human) piecemeal at our leisure. Apart from being symlinks, this should be a user-invisible change. * gnu/build/activation.scm (%privileged-program-directory): New variable. [activate-setuid-programs]: Put privileged copies in %PRIVILEGED-PROGRAM-DIRECTORY, with compatibility symlinks to each in %SETUID-DIRECTORY. * gnu/services.scm (setuid-program-service-type): Update docstring. * doc/guix.texi (Setuid Programs): Update @file{} name accordingly.
2024-08-11doc: Restructure the list of desktop services.Tobias Geerinckx-Rice
* doc/guix.texi (Desktop Services): Use a straight list for the list of service types, rather than hiding them in one growing paragraph of prose. Explain their purpose in general terms beneath it. Change-Id: I2408ccf38dd62323138854cc5aa46051d2a076ac
2024-08-11doc: Rewrite obsolete list of limitations.Tobias Geerinckx-Rice
* doc/guix.texi (Limitations): Now that KDE Plasma is available, rewrite the seemingly-exhaustive list to be more general. Change-Id: I41450302837c963d5f811211e5a498a04f938e55
2024-08-16doc: Fix punctuation and style.Florian Pelz
Follow-up to de714bcb46d61922e0efc10783ea23fb0202f583. * doc/guix.texi (Setting Up the Daemon): Fix typos. Reported-by: Ludovic Courtès <ludo@gnu.org> Change-Id: Id3e49f3b401e8b9ce2aa4c2588ae33cf25e2ca2d
2024-08-15doc: Improve example for guix-for-channels.Tomas Volf
The example was missing the (gnu packages package-management) import, so it did not work. While the module was mentioned below, I overlooked the sentence. So add it also into the example to make it more obvious. * doc/guix.texi (Customizing the System-Wide Guix): Add import to example. Change-Id: Ibc5b0be87d40531397660a3b0747f83b851b004b Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-08-10doc: Setting Up the Daemon: Give guidance to whom this section is useful.Florian Pelz
* doc/guix.texi (Setting Up the Daemon): Specify intended audience. Change-Id: I784c5f720aa87bddb6455e42181a1e9de5d7ec9a
2024-08-04services: containerd: Provision separately from docker service.Oleg Pykhalov
containerd can operate independently without relying on Docker for its configuration. * gnu/services/docker.scm (docker-configuration): Deprecate containerd field. (containerd-configuration, containerd-service-type): New variables. (docker-shepherd-service): Use containerd-configuration. Delete duplicated variable binding. Allow to configure environment variables. (docker-service-type): Delete extension with containerd-service-type. * gnu/tests/docker.scm (%docker-os, %oci-os): Add containerd service. (run-docker-test, run-docker-system-test, run-oci-container-test): Run containerd service. * doc/guix.texi (Miscellaneous Services): Document containerd-service-type. Change-Id: Ife0924e50a3e0aa2302d6592dae51ed894600004
2024-07-26services: agate: Update options for compatibility with the current Agate ↵Rodion Goritskov
version. * gnu/services/web.scm (<agate-configuration>)[certs]: Add. [cert]: Remove. [key]: Remove. [hostname]: Change from string to list. [silent?]: Remove. [only-tls13?]: Add. [central-conf?]: Add. [ed25519?]: Add. [skip-port-check?]: Add. (agate-shepherd-service): Change handling of addr and hostname, add new options handling. * doc/guix.texi (Web Services): Update. Change-Id: Ifb4968d704627344913bb69f20636d710a4fe738 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-07-20doc: Add note about use sddm with qt5 theme.Z572 via Guix-patches via
* doc/guix.texi (X Window): Add note about use sddm with qt5 theme. Change-Id: I57eebc696803894f154e09347283d3327db8a084 Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-07-07doc: Update note on Emacs packages.Liliana Marie Prikler
* doc/guix.texi ("Emacs packages"): Expand note to talk about differences between native compilation upstream and as used in Guix.
2024-07-05services: oci-container: Allow setting Shepherd actions in ↵Giacomo Leidi via Guix-patches via
oci-container-configuration. * gnu/services/docker.scm (oci-container-configuration) [shepherd-actions]: New field. (sanitize-shepherd-actions): sanitize it. (oci-container-shepherd-service): use it. * doc/guix.texi: Document it. Change-Id: I0ca9826542be7cb8ca280a07a9bff1a262c2a8a7 Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-07-05services: oci-container: Allow setting Shepherd respawn? in ↵Giacomo Leidi via Guix-patches via
oci-container-configuration. * gnu/services/docker.scm (oci-container-configuration) [respawn?]: New field. (oci-container-shepherd-service): use it. * doc/guix.texi: Document it. Change-Id: I0d6367607fd0fd41f90a54b33d80bf4d4f43dd8b Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-07-05services: oci-container: Allow setting Shepherd auto-start? in ↵Giacomo Leidi via Guix-patches via
oci-container-configuration. * gnu/services/docker.scm (oci-container-configuration) [auto-start?]: New field. (oci-container-shepherd-service): use it. * doc/guix.texi: Document it. Change-Id: Id093d93effbbec3e1be757f8be83cf5f62eaeda7 Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-07-05services: oci-container: Allow setting Shepherd log-file in ↵Giacomo Leidi via Guix-patches via
oci-container-configuration. * gnu/services/docker.scm (oci-container-configuration) [log-file]: New field. (oci-container-shepherd-service): use it. * doc/guix.texi: Document it. Change-Id: Icad29ac6342b6f5bafc0d9be13a93cee99674185
2024-07-05doc: Minor changes to the OCI-backed Services documentation.Giacomo Leidi via Guix-patches via
* doc/guix.texi: Clarify the example and remove reduntant escapes. Change-Id: I38f5517ae46b391ba21ae5a94c6dcc272e245036
2024-06-26services: guix: Default `channels' field to #f.Tomas Volf
In the absence of the /etc/guix/channels.scm file, %default-channels is used anyway. If user manually (or by extra-special-file) created the file, we should respect it. This commit therefore changes the default to #f, hopefully having zero impact on people not actively using the `channels' field. * gnu/services/base.scm (<guix-configuration>)[channels]: Set default to #f. Change-Id: I516c1735a037a153fabbebfc337051aaf0be2155 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-26doc: Warn about extra-special-file usage in /etc.Tomas Volf
* doc/guix.texi (Base Services)[extra-special-file]: Add warning regarding files in /etc. Change-Id: Ic45465c8712d61caeed42d7912777368e8763a1a Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-26services: shepherd: Support “free-form” services.Ludovic Courtès
* gnu/services/shepherd.scm (<shepherd-service>)[free-form]: New field. [start]: Add default value. (shepherd-service-file): Rename to… (shepherd-service-file/regular): … this. (shepherd-service-file/free-form): New procedure. (shepherd-service-file): Dispatch to one of the two procedures above. * doc/guix.texi (Shepherd Services): Document the ‘free-form’ field. Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: I206374e950ef6d1e4a996c0f507fb5fcd9cadde3
2024-06-26services: web: Improve nginx formatting for extra-content.Richard Sent
When extra-content is a list, add 4 space indentation and a newline to every line. If it's a string, continue inserting it directly. This makes the list serialization behavior more consistent with other services. * gnu/services/web (default-nginx-config): Support lists. * doc/guix.texi (Web Services)[nginx-configuration]: Document it. Change-Id: Iec8614ba3cfc37292a566197e8d39b352b04846a Signed-off-by: Christopher Baines <mail@cbaines.net>
2024-06-24doc: Improve description of nginx's configuration.Tomas Volf
* doc/guix.texi (Web Services)[nginx-server-configuration]: Document semantics of raw-content field. [nginx-location-configuration]: Document semantics of body field. Change-Id: I1e699d085a27f2615190de1e1973146da4ab193d Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24gnu: grub: Update to 2.12.Ludovic Courtès
* gnu/packages/bootloaders.scm (grub): Update to 2.12. [source](patches): Remove ‘grub-ignore-metadata-csum-seed.patch’. (snippet): Create ‘grub-core/extra_deps.lst’. Replace “exit 99” by “exit 77”. (grub-coreboot): Update value of ‘XFAIL_TESTS’. * doc/guix.texi (Keyboard Layout and Networking and Partitioning): Update accordingly (it should now be fine to use LUKS2). * gnu/packages/patches/grub-ignore-metadata-csum-seed.patch: Remove. * gnu/local.mk (dist_patch_DATA): Remove it. Change-Id: Ia31b3b7e0a2e7de42d30229733e9c196fcd12fd9 Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24doc: Prepend ISC to DHCP client references.Richard Sent
This makes it clearer that this service uses the ISC's dhclient implementation and does not support DHCP clients that have different command line interfaces. * doc/guix.texi (Networking Setup): Prepend ISC to all DHCP client references. Change-Id: I750ef2ffb4b23445c4a2b97aaa44eba56458f430 Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24services: networking: Allow dhcp-client to use a config file.Richard Sent
* gnu/services/networking.scm (dhcp-client-configuration) [config-file]: New field. (dhcp-client-configuration-config-file): New accessor. (dhcp-client-shepherd-service): Use the config file when invoking dhclient if supplied. * doc/guix.texi: Document it. Change-Id: I286de4ddf59c5e606bf1fe0a7510570869e62b1a Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-23services: radicale: Use define-configuration.Juliana Sims
* doc/guix.texi (radicale-configuration): Update documentation to reflect new configuration, add new symbols. * gnu/services/mail.scm (%default-radicale-config-file): Delete. (radicale-auth-configuration, radicale-auth-configuration?) (radicale-encoding-configuration, radicale-encoding-configuration?) (radicale-logging-configuration, radicale-logging-configuration?) (radicale-rights-configuration, radicale-rights-configuration?) (radicale-server-configuration, radicale-server-configuration?) (radicale-storage-configuration, radicale-storage-configuration?): New configuration types and corresponding predicates. (radicale-configuration, radicale-configuration?): Use define-configuration. (radicale-activation, radicale-shepherd-service): Update to new configuration format. (radicale-activation): Use user-defined values for service files. (radicale-service-type): Capitalize "Radicale" in description. Change-Id: Ic88b8ff2750e3d658f6c7cee02d33417aa8ee6d2 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2024-06-22doc: Fix typo in Guix Home ServiceRichard Sent
* doc/guix.texi (Guix Home Service): Change home-service-type to guix-home-service-type in example. Change-Id: Ief7f71c9e6494ced20ccda3bb2643f01eabe8441 Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-06-13services: dnsmasq: Add escape hatch.Sergey Trofimov
* gnu/service/dns.scm: (<dnsmasq-configuration>)[extra-options]: Add. * doc/guix.texi: Document (<dnsmasq-configuration>)[extra-options]. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Change-Id: I7d2df7aa5d3b041b69b2f8b3e311a7328c28a3be
2024-06-13doc: Use a symbol for Cuirass specification names.Ludovic Courtès
* doc/guix.texi (Continuous Integration): Change ‘name’ field of ‘specification’ to be a symbol, as written in upstream Cuirass doc. Change-Id: I0a8cddfb8ab47f627a01459393aaf346028bb3f6
2024-06-12doc: Document mumi am, compose and www subcommands.Arun Isaac
* doc/contributing.texi (Debbugs User Interfaces)[Command-line interface]: Document mumi am, compose and www subcommands. * doc/guix.texi: Bump copyright year. Change-Id: I28bde9454ad35115ed60fe4d6ffa35fad599b2d1
2024-06-12doc: Update field name in gitile-configuration.Nguyễn Gia Phong
* doc/guix.texi (gitile-configuration): Update field name nginx-server-block to nginx. Change-Id: I215d3d57c1cb88271c580fa1426a661477a775f7 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-06doc: Binary Installation: Add Parabola packages.Denis 'GNUtoo' Carikli
* doc/guix.texi (Binary Installation): Add Parabola packages. Co-authored by: Florian Pelz <pelzflorian@pelzflorian.de> Change-Id: Id646152c54de0a958740314b09fdcf6af898e22e Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-06-06doc: Binary Installation: Mention Trisquel package.Denis 'GNUtoo' Carikli
* doc/guix.texi (Binary Installation): Also mention Trisquel package. Change-Id: Iae6f77de43de2c6f387b99a10dcae5b9d82aaee1 Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-06-06doc: Advise system administrators to read and follow security notices.Florian Pelz
* doc/guix.texi (Binary Installation): Prefix installation instructions with the advice. Change-Id: I088c7f00f4c3c8e32bdfd117ea934942930f7513
2024-06-04services: base: Add optional delayed mount of file-systemsRichard Sent
Add a mechanism to only require mounting a subset of file-system entries during early Shepherd initialization. Any file-system with additional Shepherd service requirements (e.g. networking) is not required to provision 'file-systems. * gnu/services/base.scm (file-system-shepherd-service): Splice file-system-requirements into the Shepherd service requirement list. (file-system-shepherd-services): Provision 'file-system only when file system services without additional Shepherd requirements are started. * gnu/system/file-systems.scm (file-system): Add shepherd-requirements field to the file-system record. This field is used for adding additional Shepherd requirements to a file-system Shepherd service. * doc/guix.texi: Add documentation for file-system shepherd-requirements. Change-Id: If0392db03d48e8820aa53df1df482c12ec72e1a5 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-02services: nscd: ‘log-file’ defaults to #f.Ludovic Courtès
* gnu/services/base.scm (<nscd-configuration>)[log-file]: Default to #f. * doc/guix.texi (Base Services): Clarify documentation. Change-Id: Ia75914fc2665db13bef688d53659083a615ebef4
2024-06-02Revert "services: home: Use pairs instead of lists."Andrew Tropin
This reverts commit dbeef44f3c520816251bde74c1005915a637e1ef. Despite the more semantically correct data type, it doesn't follow the style of the most services and also breaks user-facing API. Change-Id: Ib4ef4e9cd2f53ac853a5b7c7c90e57c35c99a5ea
2024-06-02services: home: Use pairs instead of lists.Andrew Tropin
* gnu/services/guix.scm: Use pairs instead of lists. * doc/guix.texi: Update accordingly. * gnu/tests/guix.scm: Update accordingly. Change-Id: I0b8d3fa5b214add89bdb84a11fa20d1b319435f0
2024-05-30home: services: Add home-startx-command-service-type.Tomas Volf
* gnu/home/services/desktop.scm (home-startx-command-service-type): New variable. (startx-command-service-type): New service-type mapping. * doc/guix.texi (Guix Home Services): Document home-startx-command-service-type. Change-Id: Id38b5dc7b9235e04e3a9a1b70a35b02e8fae95f0 Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2024-05-30services: xorg: Add startx-command-service-type.Tomas Volf
* gnu/services/xorg.scm (startx-command-profile-service, startx-command-service-type): New variables. * doc/guix.texi (X Window): Document startx-command-service-type. Change-Id: Ia2a7c3b2d5ebf6bcfff40cb2640b17d3baf6eba0 Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2024-05-30services: xorg: Add xorg-start-command-xinit procedure.Tomas Volf
When the user does not use any desktop environment, the typical sequence is to log in and then type `startx' into the tty to get a window manager running. Most distributions do provide a startx by default, but Guix has only an xorg-start-command that is not suitable for this. This commit adds a second procedure, xorg-start-command-xinit, that correctly picks a virtual terminal to use, sets up XAUTHORITY and starts xinit with the correct arguments. That should make running Guix without a desktop environment more approachable. * gnu/services/xorg.scm (xorg-start-command-xinit): New public procedure. * doc/guix.texi (X Window): Document it. Change-Id: I17cb16093d16a5c6550b1766754700d4fe014ae9 Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>