summary refs log tree commit diff
path: root/doc/guix.texi
AgeCommit message (Collapse)Author
2023-04-13doc: Fix various typos.Florian Pelz
* doc/guix.texi: Fix typos.
2023-04-11services: nginx: Make logging level configurable.Bruno Victal
* gnu/services/web.scm (<nginx-configuration>)[log-level]: New field. (assert-valid-log-level): New procedure. (default-nginx-config): Make log-level configurable. * doc/guix.texi (Web Services): Document it. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-04-10doc: Regarding SSL certs, clarify when we write about Guix System.Florian Pelz
Rationale: Even though the section 'X.509 Certificates' is part of the System Configuration chapter, readers might also come here from a cross-reference when reading about Application Setup on a foreign distro. * doc/guix.texi (System Configuration)[X.509 Certificates]: Clarify.
2023-04-08home: Add gpg-agent service.Ludovic Courtès
* gnu/home/services/gnupg.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (GNU Privacy Guard): New node. (Secure Shell): Link to it.
2023-04-06environment: Add '--nesting'.Ludovic Courtès
* guix/scripts/environment.scm (show-environment-options-help) (%options): Add '--nesting'. (options/resolve-packages): Handle it. (launch-environment/container): Add #:nesting? and honor it. [nesting-mappings]: New procedure. (guix-environment*): Add support for '--nesting'. * guix/scripts/shell.scm (profile-cached-gc-root): Special-case 'nesting?'. * tests/guix-environment-container.sh: Test it. * doc/guix.texi (Invoking guix shell): Document it.
2023-04-02services: mympd: Use records for user and group fields.Bruno Victal
* gnu/services/audio.scm (%mympd-user, %mympd-group) (mympd-user-sanitizer, mympd-group-sanitizer): New variables. (mympd-configuration)[user]: Use user-account as value type. Sanitize via mympd-user-sanitizer. [group]: Use user-group as value type. Sanitize via mympd-group-sanitizer. (mympd-serialize-configuration): Adjust accordingly. (mympd-accounts): Likewise. * doc/guix.texi (Audio Services)[myMPD]: Likewise. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-04-02services: mpd: Use proper records for user and group fields.Bruno Victal
Deprecate using strings for these fields and prefer user-account (resp. user-group) instead to avoid duplication within account-service-type. Fixes #61570 <https://issues.guix.gnu.org/61570>. * gnu/services/audio.scm (%mpd-user, %mpd-group) (mpd-serialize-user-account, mpd-serialize-user-group) (mpd-user-sanitizer, mpd-group-sanitizer): New variables. (mpd-configuration)[user]: Use user-account as value type. Sanitize via mpd-user-sanitizer. [group]: Use user-group as value type. Sanitize via mpd-group-sanitizer. (mpd-shepherd-service): Adjust accordingly. (mpd-accounts): Likewise. * doc/guix.texi (Audio Services)[Music Player Daemon]: Likewise. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-04-02services: configuration: Add user-defined sanitizer support.Bruno Victal
This changes the 'custom-serializer' field into a generic 'extra-args' field that can be extended to support new literals. Within extra-args, the literals 'sanitizer' and 'serializer' allow for user-defined sanitization and serialization procedures respectively. The 'empty-serializer' was also added as a literal to be used as before. To prevent confusion between the new “explicit” style of specifying a sanitizer, and the old “implicit” style, the latter has been deprecated, and a warning is issued if it is encountered. * gnu/services/configuration.scm (define-configuration-helper): Rename 'custom-serializer' to 'extra-args'. Add support for literals 'sanitizer', 'serializer' and 'empty-serializer'. Rename procedure 'field-sanitizer' to 'default-field-sanitizer' to avoid syntax clash. Only define default field sanitizers if user-defined ones are absent. (normalize-extra-args): New variable. (<configuration-field>)[sanitizer]: New field. * doc/guix.texi (Complex Configurations): Document the newly added literals. * tests/services/configuration.scm: Add tests for the new literals. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-03-30services: pam-limits-service-type: Deprecate file-like object support in ↵Bruno Victal
favour for lists as service value. * doc/guix.texi (Base Services): Document it. * gnu/local.mk: Register test. * gnu/services/base.scm (pam-limits-service-type): Accept both lists and file-like objects. Deprecate file-like object support. * gnu/tests/pam.scm: New file. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-30services: base: Deprecate 'pam-limits-service' procedure.Bruno Victal
* doc/guix.texi (Base Services): Replace pam-limits-service with pam-limits-service-type. * gnu/packages/benchmark.scm (python-locust)[description]: Update index anchor to manual. * gnu/services/base.scm (pam-limits-service-type): Set default value. (pam-limits-service): Deprecate procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-26doc: Properly document 'replace' clause of 'modify-inputs'.Ludovic Courtès
* doc/guix.texi (Defining Package Variants): Add 'replace' to the reference of 'modify-inputs' clauses.
2023-03-24services: mpd: Set PulseAudio-related variables.Bruno Victal
These variables are necessary for PulseAudio to work properly out-of-the-box for 'non-interactive' users. * doc/guix.texi (Audio Services): Update environment-variables field description for mpd-configuration data type. * gnu/services/audio.scm (mpd-configuration)[environment-variables]: Set PULSE_CLIENTCONFIG and PULSE_CONFIG environment variables to the system-wide PulseAudio configuration. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-24services: audio: Remove redundant list-of-string? predicate.Bruno Victal
Use list-of-strings? predicate defined in (gnu services configuration). * gnu/services/audio.scm (list-of-string?): Remove predicate. (mpd-serialize-list-of-string): Rename procedure to ... (mpd-serialize-list-of-strings): ... this. (mpd-configuration)[environment-variables]: Switch to list-of-strings. [endpoints]: Switch to maybe-list-of-strings. (mympd-ip-acl)[allow, deny]: Switch to list-of-strings. (mympd-serialize-configuration): Rename serialize-list-of-string to serialize-list-of-strings. * doc/guix.texi (Audio Services): Update it. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-22services: Add fstrim-service-type.Bruno Victal
* gnu/services/linux.scm (fstrim-service-type): New variable. (fstrim-mcron-job, serialize-fstrim-configuration) (fstrim-serialize-list-of-strings, fstrim-serialize-boolean): New procedure. (mcron-time?): New predicate. (fstrim-configuration): New record. * doc/guix.texi (Linux Services): Document new fstrim-service-type. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21doc: Document how to use specific package outputs in code.Karl Hallsby
* doc/guix.texi (Packages with Multiple Outputs): Provide an example of selecting a package's output in Scheme. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21scripts: refresh: Add -T option.jgart
* doc/guix.texi (Invoking guix refresh): Document the -T option. * guix/scripts/refresh.scm (%options): Add the -T flag. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21services: mcron: Add log-file and date-format fields.Bruno Victal
* doc/guix.texi (Scheduled Job Execution): Document it. * gnu/services/mcron.scm (mcron-configuration)[log-file, date-format]: New field. (mcron-shepherd-services): Add log-file and date-format support. Use file-append instead of string-append. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21services: mcron: Restyle mcron-configuration.Bruno Victal
* doc/guix.texi (Scheduled Job Execution): Sync doc with source. * gnu/services/mcron.scm (mcron-configuration): Restyle. [log-format]: Fix incorrectly formatted text. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21doc: Clarify special-files-service-type expected value.Bruno Victal
* doc/guix.texi (Services, Base Services): Clarify special-files-service-type expected value. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-17services: dict: Deprecate 'dicod-service' procedure.Bruno Victal
* doc/guix.texi (Miscellaneous Services): Remove 'dicod-service' mention. * gnu/services/dict.scm (dicod-service): Deprecate procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-17home: services: Add home-xmodmap-service-type.conses
* gnu/home/services/desktop.scm (home-xmodmap-service-type) (home-xmodmap-configuration): New variables; (serialize-xmodmap-configuration) (xmodmap-shepherd-service): New procedures; * doc/guix.texi (Desktop Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-17doc: Use 'mount --rbind' for chroot instructions.Maxim Cournoyer
This was reported by a user in #guix. It's at least necessary for /sys, to have the /sys/firmware/efivars location available insinde the chroot when using an UEFI system. * doc/guix.texi (Chrooting into an existing system): Replace --bind argument with --rbind Suggested-by: Josselin Poiret <dev@jpoiret.xyz>
2023-03-17home: services: ssh-agent: Handle setting of SSH_AUTH_SOCK.Jan (janneke) Nieuwenhuizen
* gnu/home/services/ssh.scm (home-ssh-agent-environment-variables): New procedure. (home-ssh-agent-service-type): Use it as ahome-environment-service type extension. * doc/guix.texi (Secure Shell): Remove advice about, and examples of setting SSH_AUTH_SOCK.
2023-03-16doc: Use @defvar instead of @defvr for Scheme variables.Jan (janneke) Nieuwenhuizen
Suggested by mirai via IRC, see also https://issues.guix.gnu.org/60634 * doc/guix.texi (Build Systems) (Secure Shell) (Messaging Home Services) (Media Home Services): Use @defvar instead of @defvr for Scheme variables.
2023-03-16home: services: ssh-agent: Remove host-side use of (shepherd support).Ludovic Courtès
This is a followup to 2c2f382e757d5eef39e8460a20ac75a1b1f8b22e, which inadvertently pulled in (shepherd support) on the host side. * gnu/home/services/ssh.scm (<home-ssh-agent-configuration>)[socket-directory]: Change value to a gexp. (home-ssh-agent-services): Change 'socket-file' and 'command' to a gexp. Add 'modules' field to 'shepherd-service'. * doc/guix.texi (Secure Shell): Adjust accordingly.
2023-03-16gnu: home: services: Add home-kodi-service-type.Jan (janneke) Nieuwenhuizen
* gnu/home/services/media.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * po/guix/POTFILES.in: Likewise. * doc/guix.texi (Media Home Services): Document it in new subsection.
2023-03-16gnu: home: services: Add home-znc-service-type.Jan (janneke) Nieuwenhuizen
* gnu/home/services/messaging.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * po/guix/POTFILES.in: Likewise. * doc/guix.texi (Messaging Home Services): Document it in new subsection.
2023-03-16gnu: home: services: Add home-ssh-agent-service-type.Jan (janneke) Nieuwenhuizen
* gnu/home/services/ssh.scm: (<home-ssh-agent-configuration>): New type. (home-ssh-agent-services): New procedure. (home-ssh-agent-service-type): New variable. * doc/guix.texi (Secure Shell): Document it.
2023-03-16doc: Document 'shebang' for 'guix shell'.Simon Tournier
* doc/guix.texi (Invoking guix shell): Add a note mentioning how to use 'shebang'. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-03-16home: services: Add home-unclutter-service-type.conses
* gnu/home/services/desktop.scm (home-unclutter-configuration) (home-unclutter-service-type): New variables; (home-unclutter-shepherd-service): New procedure; * doc/guix.texi (Desktop Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13doc: Use @defmac and @defspec for macros.Bruno Victal
* doc/guix.texi (package Reference, Defining Package Variants) (Build Utilities, The Store Monad, G-Expressions, operating-system Reference) (Service Reference, Complex Configurations): Use @defmac and @defspec for macros. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13doc: Use @defun for procedures.Bruno Victal
* doc/guix.texi (Inferiors, Defining Packages, package Reference) (origin Reference, Defining Package Variants, Writing Manifests) (Build Utilities, Search Paths, The Store, Derivations, The Store Monad) (G-Expressions, File Systems, Keyboard Layout, Base Services, X Window) (Desktop Services, File-Sharing Services, Web Services, Virtualization Services) (Version Control Services, Miscellaneous Services, Initial RAM Disk) (Bootloader Configuration, Service Reference, Shepherd Services) (Complex Configurations): Use @defun for procedures. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13doc: Fix incorrect @deffn usage for data types.Bruno Victal
* doc/guix.texi (Web Services): Fix incorrect @deffn usage for data types. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13doc: Fix incorrect @deffn usage for service-types.Bruno Victal
* doc/guix.texi (Networking Services): Fix incorrect @deffn usage for service-types. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13packages: 'package-input-rewriting/spec' ignores hidden packages.Ludovic Courtès
The primary motivation is to support things like: guix build guix --with-input=guile=guile-next without triggering a rebuild of (@@ (gnu packages commencement) guile-final) and similar things. It is also consistent with package name resolution on the command line: a package that cannot be named cannot be replaced. * guix/packages.scm (package-input-rewriting/spec)[rewrite]: When P is hidden, return it as-is. * tests/packages.scm ("package-input-rewriting/spec, hidden package"): New test. * doc/guix.texi (Defining Package Variants): Update. (Package Transformation Options): Update '--with-input' example.
2023-03-13doc: %desktop-services: Fix incorrect description.Bruno Victal
The Name Service Switch service is configured in operating-system. * doc/guix.texi (Desktop Services): Fix incorrect description for %desktop-services. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13services: dns: Extend dnsmasq-configuration.Sergey Trofimov
* gnu/service/dns.scm: (<dnsmasq-configuration>)[servers-file]: Add. (<dnsmasq-configuration>)[tftp-secure?]: Fix typo in parameter name. * doc/guix.texi: Document (<dnsmasq-configuration>)[servers-file]. Signed-off-by: Andrew Tropin <andrew@trop.in>
2023-03-10doc: Add missing space after @deftp.Ludovic Courtès
* doc/guix.texi (Samba Services): Add missing space before brace.
2023-03-10services: xorg: Deprecate 'screen-locker-service' procedure.Bruno Victal
* doc/guix.texi (X Window): Replace 'screen-locker-service' with 'screen-locker-service-type'. Document <screen-locker-configuration>. * gnu/services/desktop.scm (desktop-services-for-system): Use screen-locker-service-type. * gnu/services/xorg.scm: Export accessors for <screen-locker-configuration>. (<screen-locker>): Rename to ... (<screen-locker-configuration>): ... this. (<screen-locker-configuration>)[empty?]: Rename to ... (<screen-locker-configuration>)[allow-empty-password?]: ... this. (screen-locker-pam-services): Update record name. (screen-locker-setuid-programs): Update accessor name. (screen-locker-service): Deprecate procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10services: connman: Deprecate 'iwd?' field.Bruno Victal
* gnu/services/networking.scm (<connman-configuration>) [iwd?]: Use helper to warn deprecated field. (connman-shepherd-service): Make iwd? a local variable independent from the deprecated field. * doc/guix.texi (Networking Setup): Remove mention of iwd? field. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10services: connman: Add 'shepherd-requirement' field.Bruno Victal
* gnu/services/networking.scm (<connman-configuration>) [shepherd-requirement]: New field. (connman-shepherd-service): Honor it. (connman-configuration-shepherd-requirement): Export accessor. * doc/guix.texi (Networking Setup): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10services: network-manager: Deprecate 'iwd?' field.Bruno Victal
* gnu/services/networking.scm (warn-iwd?-field-deprecation): New procedure, helper for deprecated field. (<network-manager-configuration>)[iwd?]: Use helper to warn deprecated field. (network-manager-shepherd-service): Make iwd? a local variable independent from the deprecated field. * doc/guix.texi (Networking Setup): Remove mention of iwd? field. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10services: network-manager: Add 'shepherd-requirement' field.Bruno Victal
Note: This also makes wpa-supplicant an optional requirement. * gnu/services/networking.scm (<network-manager-configuration>) [shepherd-requirement]: New field. (network-manager-shepherd-service): Honor it. (network-manager-configuration-shepherd-requirement): Export accessor. * doc/guix.texi (Networking Setup): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-05home: services: Add 'pulseaudio-rtp-sink' and 'pulseaudio-rtp-source'.Ludovic Courtès
* gnu/home/services/sound.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Sound Home Services): New section.
2023-03-05Fix bogus copyright year update.Leo Famulari
This is a followup to commit a66438e497303ce08d05cf8d76b2d5827e3e3578. * doc/guix.texi: Ahem.
2023-03-05doc: Give advice to contributors about communicating with reviewers.Leo Famulari
* doc/contributing.texi (Submitting Patches): Give advice.
2023-03-03services: dbus: Deprecate 'dbus-service' procedure.Bruno Victal
* doc/guix.texi (Desktop Services): Replace with 'dbus-root-service-type'. Document dbus-configuration. * gnu/services/dbus.scm (dbus-service): Define with 'define-deprecated'. * gnu/services/desktop.scm (desktop-services-for-system): Replace with dbus-root-service-type. * gnu/system/install.scm (%installation-services): Ditto. * gnu/tests/base.scm (%avahi-os): Ditto. * gnu/tests/docker.scm (%docker-os): Ditto. * gnu/tests/lightdm.scm (minimal-desktop-services): Ditto. * gnu/tests/virtualization.scm (%libvirt-os): Ditto. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03services: spice: Deprecate 'spice-vdagent-service' procedure.Bruno Victal
* doc/guix.texi (Miscellaneous Services): Replace 'spice-vdagent-service' with 'spice-vdagent-service-type'. Document <spice-vdagent-configuration>. * gnu/services/spice.scm (spice-vdagent-service): Deprecate procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03services: lirc: Deprecate 'lirc-service' procedure.Bruno Victal
* doc/guix.texi (Miscellaneous Services): Replace 'lirc-service' with 'lirc-service-type'. Document <lirc-configuration>. * gnu/services/lirc.scm (<lirc-configuration>): Set default values based on the arguments from the now deprecated 'lirc-service' procedure. (lirc-service-type): Set default value. (lirc-service): Deprecate procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03services: vpn: Deprecate 'openvpn-client-service' & 'openvpn-server-service' ↵Bruno Victal
procedures. * doc/guix.texi (VPN Services): Replace 'openvpn-client-service' & 'openvpn-server-service' procedures with their service-type counterparts. * gnu/services/vpn.scm (openvpn-client-service, openvpn-server-service): Deprecate procedure. (openvpn-server-service-type, openvpn-client-service-type): Set default value. Signed-off-by: Ludovic Courtès <ludo@gnu.org>