aboutsummaryrefslogtreecommitdiff
path: root/doc/guix.texi
Commit message (Collapse)AuthorAge
* services: Add 'package-database' service.Ludovic Courtès2023-08-07
| | | | | | | | | * gnu/services/admin.scm (%default-package-database-update-schedule): New variable. (<package-database-configuration>): New record type. (package-database-mcron-jobs): New procedure. (package-database-service-type): New variable. * doc/guix.texi (File Search Services): Document it.
* services: Add 'file-database' service.Ludovic Courtès2023-08-07
| | | | | | | | | * gnu/services/admin.scm (%default-file-database-update-schedule) (%default-file-database-excluded-directories): New variables. (<file-database-configuration>): New record type. (file-database-mcron-jobs): New procedure. (file-database-service-type): New variable. * doc/guix.texi (File Search Services): New node.
* services: mpd: Update basic example.Maxim Cournoyer2023-07-26
| | | | | | | | Relates to <https://issues.guix.gnu.org/63082>. * doc/guix.texi (Audio Services): Do not use a deprecated user form; keep the default one. Remove port. Specify a music-directory. Mention the importance of permissions on the music directory.
* services: mpd: Provision a default cache directory and set HOME.Maxim Cournoyer2023-07-26
| | | | | | | | Relates to <https://issues.guix.gnu.org/63082>. * gnu/services/audio.scm (mpd-shepherd-service): Create a default .cache directory. Use mkdir-p/perms and refactor loop. Set the HOME environment variables.
* services: mpd: Auto-detect mpd-output mixer type by default.Maxim Cournoyer2023-07-26
| | | | | | | | Relates to <https://issues.guix.gnu.org/63082>. * gnu/services/audio.scm (mpd-output) [mixer-type]: Change default value from "none" to unspecified. * doc/guix.texi (Audio Services): Regenerate doc.
* services: mpd: Log to syslog by default.Maxim Cournoyer2023-07-26
| | | | | | | | | | | | | | | | | | | | | Rationale: the tristate value was awkward to deal with, the default log file name was odd (/var/log/mpd/log) and it required special attention to create the 'mpd' parent directory as root and chowning it to the MPD user. It also didn't match the default behavior of MPD, which is to log to systemd or syslog unless a log file is specified. * gnu/services/audio.scm (mpd-log-file-sanitizer): New procedure. (mpd-configuration) [log-file]: Remove default maybe value. Add sanitizer. (mpd-shepherd-service): Validate the log file parent directory exists and has the right permissions. Conditionally add syslogd to requirements. (mympd-log-to-sanitizer): New procedure. (mympd-configuration) [log-to]: Change type to maybe-string. Update doc and add sanitizer. (mympd-shepherd-service) [requirement]: Fix to use syslogd. Adjust accordingly. [start] Adjust accordingly. (mympd-log-rotation): Check log-to via maybe-value-set?. * doc/guix.texi (Audio Services): Update doc.
* services: mpd: List log-level in decreasing verbosity order in doc.Maxim Cournoyer2023-07-26
| | | | | | * gnu/services/audio.scm (mpd-configuration) [log-level]: List log-level in decreasing verbosity order in doc. * doc/guix.texi (Audio Services): Update doc.
* services: mpd: Add an 'update' action to trigger a database update.Maxim Cournoyer2023-07-25
| | | | | * gnu/services/audio.scm (mpd-shepherd-service): Register a new update action. * doc/guix.texi (Audio Services): Document it.
* services: mpd: Add auto-update? field to mpd-configuration.Maxim Cournoyer2023-07-25
| | | | | * gnu/services/audio.scm (mpd-configuration) [auto-update?]: New field. * doc/guix.texi (Audio Services): Update doc.
* services: wireguard: Clean-up configuration file serializer.Maxim Cournoyer2023-07-21
| | | | | | | | | | | Previously, the generated config file would contain arbitrary whitespace that made it look ugly. * gnu/services/vpn.scm (<wireguard-configuration>) [dns]: Change default value from #f to '(). (wireguard-configuration-file): Use match-record. Format each line individually, assembling the lines at the end to avoid extraneous white space. * doc/guix.texi (VPN Services): Update doc.
* services: wireguard: Implement a dynamic IP monitoring feature.Maxim Cournoyer2023-07-21
| | | | | | | | | | | | | | | | * gnu/services/vpn.scm (<wireguard-configuration>) [monitor-ips?, monitor-ips-internal]: New fields. * gnu/services/vpn.scm (define-with-source): New syntax. (wireguard-service-name, strip-port/maybe) (ipv4-address?, ipv6-address?, host-name?) (endpoint-host-names): New procedure. (wireguard-monitoring-jobs): Likewise. (wireguard-service-type): Register it. * tests/services/vpn.scm: New file. * Makefile.am (SCM_TESTS): Register it. * doc/guix.texi (VPN Services): Update doc. Reviewed-by: Bruno Victal <mirai@makinata.eu>
* doc: Update TeX Live related documentation.Nicolas Goaziou2023-07-18
| | | | | | | | * doc/guix.texi (Invoking guix import): "texlive.tlpdb" is located in TEXLIVE-SCRIPTS package. (Using TeX and LaTeX): Mention collections and schemes as a starting point. Illustrate it with an updated example. Update tiny TODO list. Fix call to "tlmgr".
* guix: texlive-build-system: Add #:link-scripts argument.Nicolas Goaziou2023-07-18
| | | | | | | | * doc/guix.texi (Build Systems): Document argument. * guix/build-system/texlive.scm (texlive-build): Add #:LINK-SCRIPTS argument. * guix/build/texlive-build-system.scm (link-scripts): (patch-shell-scripts): New function. (%standard-phases): Add new functions as phases.
* doc: texlive-build-system: Mention #:tex-engine argument.Nicolas Goaziou2023-07-18
| | | | | * doc/guix.texi (Build Systems): Mention #:TEX-ENGINE. Also fix capitalization for Metafont.
* gnu: Replace texlive-latex-base with texlive-latex-bin.Nicolas Goaziou2023-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Although `latex-base' is clearly defined on CTAN, it isn't a proper TeX Live package. Since we're trying to follow as closely as possible this TeX distribution, we replace the package with the closest one, which is `texlive-latex-bin'. As a consequence, the #:TEXLIVE-LATEX-BASE argument becomes #:TEXLIVE-LATEX-BIN?, emphasizing the fact that the meaningful values for it are booleans. * gnu/packages/graphviz.scm (dot2tex)[propagated-inputs]: Remove TEXLIVE-GRAPHICS, TEXLIVE-LATEX-BASE. Add TEXLIVE-LATEX-BIN. * gnu/packages/plotutils.scm (asymptote)[native-inputs]: Remove TEXLIVE-LATEX-BASE, TEXLIVE-GRAPHICS, TEXLIVE-L3BACKEND. Use TEXLIVE-UPDMAP.CFG. * gnu/packages/sphinx.scm (python-sphinx)[propagated-inputs]: Remove TEXLIVE-GRAPHICS, TEXLIVE-LATEX-BASE. Add TEXLIVE-LATEX-BIN. * gnu/packages/tex.scm (texlive-latex-base): Deprecate variable. (texlive-hyphen-complete): (texlive-tex): (texlive-latex): (texlive-docstrip): (texlive-unicode-data): (texlive-hyphen-base): (texlive-tex-ini-files): (texlive-metafont): (texlive-modes): (texlive-knuth-lib): (texlive-latex-fonts): (texlive-etex): (texlive-plain): (texlive-kpathsea): (texlive-latexconfig): (texlive-latex-bin): (texlive-l3kernel): (texlive-l3backend): (texlive-l3packages): (texlive-luatex): (texlive-luahbtex): (texlive-babel): (texlive-cyrillic): (texlive-pdftex): (texlive-cm)[arguments]: Replace #:TEXLIVE-LATEX-BASE with #:TEXLIVE-LATEX-BIN?. (texlive-lm): (texlive-lua-alt-getopt): (texlive-luaotfload): (texlive-graphics-def): (texlive-graphics-cfg): Set #:TEXLIVE-LATEX-BIN? to #F. (texlive-graphics): (texlive-lualibs): (texlive-firstaid): (texlive-atveryend)[arguments]: Set #:TEXLIVE-LATEX-BIN? to #F. [native-inputs]: Add TEXLIVE-DOCSTRIP, TEXLIVE-PDFTEX. (texlive-updmap.cfg): Remove TEXLIVE-CM, TEXLIVE-GRAPHICS, TEXLIVE-LATEX-BASE. Add TEXLIVE-LATEX-BIN. (texlive-atbegshi)[arguments]: Set #:TEXLIVE-LATEX-BIN? to #F. [native-inputs]: Add TEXLIVE-DOCSTRIP, TEXLIVE-PDFTEX. [propagated-inputs]: Remove TEXLIVE-IFTEX, TEXLIVE-INFWARERR and TEXLIVE-LTXCMDS. (texlive-everyshi)[arguments]: Build package with a temporary "latex.fmt" file. (texlive-cyrillic): Set #:TEXLIVE-LATEX-BIN? to #T. * guix/build-system/texlive.scm (default-texlive-latex-base): Rename to TEXLIVE-LATEX-BIN. (lower): Set default value for TEXLIVE-LATEX-BIN? to #TRUE. * gnu/packages/statistics.scm (r-with-tests): Remove TEXLIVE-LATEX-BASE and TEXLIVE-GRAPHICS. * doc/guix.texi (Build Systems): Document #:TEXLIVE-LATEX-BIN? argument. Remove reference to #:TEXLIVE-LATEX-BASE.
* guix: texlive-build-system: Generate TeX formats.Nicolas Goaziou2023-07-18
| | | | | | | | | * guix/build-system/texlive.scm (texlive-build): Add #:CREATE-FORMATS argument. * doc/guix.texi (Build Systems): Document it. * guix/build/texlive-build-system.scm (texlive-input?): New function. (generate-font-metrics): Use new function above. (create-formats): New function. (%standard-phases): Add function above to phases.
* guix: texlive-build-system: Generate font metrics.Nicolas Goaziou2023-07-18
| | | | | | | * guix/build/texlive-build-system.scm (install-as-runfiles): (generate-font-metrics): New function. (build): Use INSTALL-AS-RUNFILES. (%standard-phases): Add new phase.
* guix: texlive-build-system: Improvements on non-trivial packages.Nicolas Goaziou2023-07-18
| | | | | | | | | | | | * guix/build/texlive-build-system.scm (build): Ignore temporary build files when moving runfiles around. Remove ".drv" source files prior to compiling files. Remove need for #:TEX-DIRECTORY keyword. Handle ".ins" and ".dtx" files in different directories. (install): Install docfiles in "doc" output when available. * guix/build-system/texlive.scm (texlive-build): Remove #:TEX-DIRECTORY. * doc/guix.texi (Build Systems): Remove reference to #:TEX-DIRECTORY in TEXLIVE-BUILD-SYSTEM documentation. Also mention it now tries to compile ".dtx" files when there is no ".ins" file.
* doc: Fix typos.Florian Pelz2023-07-18
| | | | * doc/guix.texi (Creating a Channel): Fix typos.
* doc: Fix invalid use of @deftypevar.Ludovic Courtès2023-07-14
| | | | | * doc/guix.texi (Virtualization Services): Replace invalid use of @deftypevar with @deftypevr.
* gnu: gnumach: Support "noide" argument.Janneke Nieuwenhuizen2023-07-13
| | | | | | | | | * gnu/packages/patches/gnumach-support-noide.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/hurd.scm (gnumach-headers): Use it. * doc/guix.texi (Bootloader Configuration): Document it. Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
* doc: Fix some cgit-configuration typos(?).Tobias Geerinckx-Rice2023-07-02
| | | | * doc/guix.texi (Version Control Services): Fix lost ‘cgit-repo’s.
* doc: Fix typo in screen-locker-service swaylock example.Arvid Krein2023-07-07
| | | | | | * doc/guix.texi (X Window): Reference swaylock instead of xlockmore. Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
* home: Add inputrc service.Efraim Flashner2023-07-05
| | | | | | | | | * gnu/home/services/shells.scm (home-inputrc-service-type, home-inputrc-configuration): New variables. (serialize-inputrc-key-bindings, serialize-inputrc-variables, serialize-inputrc-conditional-constructs, serialize-inputrc-extra-content): New procedures. * doc/guix.texi (Shells Home Services): Document it.
* doc: Turn "Creating a Channel" into a step-by-step guide.Ludovic Courtès2023-06-24
| | | | | * doc/guix.texi (Creating a Channel): Rewrite as a step-by-step guide. Move warning below and shorten it.
* Add 'guix locate'.Ludovic Courtès2023-06-18
| | | | | | | | | | * guix/scripts/locate.scm, tests/guix-locate.sh: New files. * Makefile.am (MODULES): Add 'guix/scripts/locate.scm'. (SH_TESTS): Add 'tests/guix-locate.sh'. * po/guix/POTFILES.in: Add it. * doc/guix.texi (Invoking guix locate): New node. Co-authored-by: Antoine R. Dumont <antoine.romain.dumont@gmail.com>
* doc: Fix typo.Ludovic Courtès2023-06-18
| | | | * doc/guix.texi (Invoking guix pack): Use @command, not @var.
* home: services: ssh: Allow unset boolean options in ssh-config.Efraim Flashner2023-06-14
| | | | | | | | | | | | | | | From man 5 ssh_config: Unless noted otherwise, for each parameter, the first obtained value will be used. We want to allow falling through to the first explicitly chosen user defined value. * gnu/home/services.ssh.scm (define-maybe boolean): New configuration. (openssh-host)[forward-x11?, forward-x11-trusted?, forward-agent?, compression?]: Replace default value with maybe-boolean. * doc/guix.texi (Secure Shell): Update documentation to match the changes in the code.
* doc: Move and rewrite the branching strategy.Christopher Baines2023-06-12
| | | | | | | | | | | | | | | | | | | | Move away from using staging and core-updates, and make the strategy independant of branch names. Keep the 300 dependent threshold for changes to master, as I don't have any specific reason to change this. Most importantly, require using guix-patches issues to coordinate merging of the branches, as I think that'll address the key issues that have shown up recently where it's been unclear which branch should be merged next. * doc/contributing.texi (Submitting Patches): Move the branching strategy to a new Managing Patches and Branches section. (Managing Patches and Branches): New section. (Commit Policy): Simplify through referencing the new Managing Patches and Branches section. Signed-off-by: Christopher Baines <mail@cbaines.net>
* home: services: ssh: Add 'match-criteria' option.Nicolas Graves2023-06-09
| | | | | | | | | | | | | | * gnu/home/services/ssh.scm (serialize-address-family): Raise '&formatted-message' instead of '&error'. (ssh-match-keywords): New variable. (match-criteria?): New procedure. (match-criteria): New maybe type. (openssh-host)[name]: Turn into 'maybe-string'. [match-criteria]: New field. (serialize-openssh-host): Adjust accordingly. * doc/guix.texi (Secure Shell): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: services: ssh: Add 'add-keys-to-agent' field.Nicolas Graves2023-06-09
| | | | | | | | | | * gnu/home/services/ssh.scm (<home-openssh-configuration>)[add-keys-to-agent]: New field. (serialize-add-keys-to-agent): New procedure. (openssh-configuration->string): Use it. * doc/guix.texi (Secure Shell): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc: Use the term "Procedure" for definitions.Ludovic Courtès2023-06-08
| | | | | | | | | | | | | | | | | | | | | In an effort to homogenize things, commit 3c40dfe2851dd4ef48d2711f9f3531c06afbe1f2 replaced: @deffn {Scheme Procedure} with: @defun However, the latter prints "Function" when all existing material about Scheme uses the term "procedure". Thus, for consistency, this commit switches to: @deffn {Procedure} * doc/guix.texi, doc/contributing.texi: Use "@deffn {Procedure}" consistently rather than "@defun" or similar.
* doc: Update outdated URL for Eudev wiki.Felix Lechner2023-06-08
| | | | | | | | Change was coordinated with upstream maintainer Boian Bonev. * doc/guix.texi: Update outdated URL for Eudev wiki. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc: Replace reference to non-existing (gnu home services ssh-agent).Felix Lechner2023-06-08
| | | | | | | | | | | | Thanks to Alexandros Prekates and Markku Korkeala for pointing out the bug in the documentation. [1] [1] https://lists.gnu.org/archive/html/help-guix/2023-05/msg00220.html * doc/gnu.texi (Secure Shell): Replace reference to non-existing (gnu home services ssh-agent) Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc: Add missing node to the main menu.Ludovic Courtès2023-06-06
| | | | | | This is a followup to 110462bb2f1678fb0147a5845b2b48d0566ce0b4. * doc/guix.texi (Top): Add "Mail Home Services" to the menu.
* doc: Fix some typos in the manual.Efraim Flashner2023-06-05
| | | | | | | | | | | | | * doc/guix.texi (Invoking guix pull): Correct followings to following. (Using Guix Interactively): Correct expresssion to expression. (Base Services): Correct overriden to overridden. (Audio Services): Correct Supress to Suppress. (Setuid Programs): Correct goup to group. (Essential Home Services): Correct apropiate to appropriate, similiar to similar. (Messaging Home Services): Correct seperately to separately. (image Reference): Correct instanciated to instantiated. (Full-Source Bootstrap): Correct udpate to update, Frome to From.
* build-system: New agda-build-system.Josselin Poiret2023-06-04
| | | | | | | * guix/build-system/agda.scm: New file. * guix/build/agda-build-system.scm: New file. * Makefile.am (MODULES): Register them. * doc/guix.texi (Build Systems): Add documentation for agda-build-system.
* services: screen-locker-service-type: Configurable PAM and setuid.muradm2023-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | screen-locker-service-type by default does both define PAM entry and make program setuid binary. Normally both methods are mutually exclusive, if binary has setuid set it does not really needs PAM, otherway around also similar, if PAM is enabled binary should not relay on setuid. Recent swaylock package now compiled with PAM support. When PAM support is compiled in, swaylock rejects executing if binary is also setuid program. This change turns screen-locker-configuration from strict PAM AND setuid to more flexible PAM AND/OR setuid. Allowing swaylock to be configured properly while supporting other screen locker preferences. * gnu/services/xorg.scm (screen-locker-configuration): Switch from define-record-type to define-configuration. [using-pam?]: New field to control PAM entry existence. [using-setuid?]: New field to control setuid binary existence. (screen-locker-pam-services): Should not make unix-pam-service if using-pam? is set to #f. (screen-locker-setuid-programs): Should not make program setuid program if using-setuid? is set to #f. (screen-locker-generate-doc): Internal function to generate configuration documentation. (screen-locker-service): Adapt to new screen-locker-configuration. * gnu/services/desktop.scm (desktop-services-for-system): Adapt to new screen-locker-configuration. * doc/guix.texi: Reflect new changes to screen-locker-configuration. Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
* upstream: Honor package properties for ignored and extra inputs.Ludovic Courtès2023-05-31
| | | | | | | | | | * guix/upstream.scm (update-package-inputs)[filtered-inputs] [regular-inputs, native-inputs, propagated-inputs]: New procedures. Use them in 'update-field' calls. * tests/guix-refresh.sh (GUIX_TEST_UPDATER_TARGETS): Add "libreoffice" to the dependencies of "the-test-package". Add 'updater-ignored-inputs' property to "the-test-package". * doc/guix.texi (Invoking guix refresh): Document it.
* upstream: 'update-package-source' edits input fields.Ludovic Courtès2023-05-31
| | | | | | | | | | | | | | | | | | | Previously, 'guix refresh r-ggplot2 -u' and similar commands would print of list of input changes that would have to be made manually. With this change, 'guix refresh -u' takes care of updating input fields automatically. * guix/upstream.scm (update-package-inputs): New procedure. (update-package-source): Call it when 'upstream-source-inputs' returns true. * guix/scripts/refresh.scm (update-package): Remove iteration over the result of 'changed-inputs'. * guix/import/test.scm (available-updates): Add support for input lists. * tests/guix-refresh.sh (GUIX_TEST_UPDATER_TARGETS): Add input list for "the-test-package". Make sure 'guix refresh -u' updates 'inputs' accordingly. * doc/guix.texi (Invoking guix refresh): Mention it.
* doc: Mention 'guix refresh -u' for third-party channels.Ludovic Courtès2023-05-31
| | | | | * doc/guix.texi (Invoking guix refresh): Show how to run 'guix refresh -u' on a third-party channel.
* doc: Quote all list values.Florian Pelz2023-05-30
| | | | | | * doc/guix.texi (System Configuration)[Services]: Replace all () by '(), and similar quotings. (Home Configuration)[Home Services]: Likewise.
* home: services: Add msmtp service.Tanguy Le Carrour2023-05-30
| | | | | | | | * gnu/home/services/mail.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Mail Home Services): New node. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* doc: Update references to the Shepherd manual.Ludovic Courtès2023-05-30
| | | | | * doc/guix.texi (Shepherd Services): Update cross-references to shepherd.info nodes removed in 0.10.0.
* doc: Tweak SELinux instructions.Ludovic Courtès2023-05-25
| | | | | | | * doc/guix.texi (SELinux Support): Add note about 'guix-install.sh'. Provide the absolute file name of 'guix-daemon.cil'. Wrap important commands in @example. Suggest relabeling just /gnu and /var/guix instead of all of /. Add "systemctl restart guix-daemon".
* doc: guix.texi: Add Texinfo line breaks.Felix Lechner2023-05-24
| | | | | | | | | | | Adds two line breaks to the copyright block. The same kind of breaks [1] are present in the remaining fifty-five entries. [1] https://www.gnu.org/software/texinfo/manual/texinfo/texinfo.html#Line-Breaks * doc (guix.texi): Add Texinfo line breaks. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: services: ssh: Do not empty ~/.ssh/authorized_keys by default.Janneke Nieuwenhuizen2023-05-24
| | | | | | | | | | | | | The default was an empty list which would remove any ~/.ssh/authorized_keys file and replace it with a symlink to an empty file. On some systems, notably Ubuntu 22.10, the guix home generated ~/.ssh/authorized_keys file does not allow login. * doc/guix.texi (Secure Shell): Update, describe default #false value. * gnu/home/services/ssh.scm (<home-openssh-configuration>) [authorized-keys]: Change default to #f. (openssh-configuration-files): Cater for default #f value: Do not register "authorized_keys".
* doc: Clarify instructions for hibernation on a swap file.Ludovic Courtès2023-05-21
| | | | | | | | Fixes <https://issues.guix.gnu.org/62711>. * doc/guix.texi (Swap Space): Change 'resume' argument to a device in example; add comments. Update sentence describing 'resume' and 'resume_offset'.
* style: Add 'arguments' styling rule.Ludovic Courtès2023-05-18
| | | | | | | | | | | | | | | | | | * guix/scripts/style.scm (unquote->ungexp, gexpify-argument-value) (quote-argument-value, gexpify-argument-tail) (gexpify-package-arguments): New procedures. (%gexp-keywords): New variable. (%options): Add "arguments" case for 'styling-procedure. (show-stylings): Update. * tests/style.scm ("gexpify arguments, already gexpified") ("gexpify arguments, non-gexp arguments, margin comment") ("gexpify arguments, phases and flags") ("gexpify arguments, append arguments") ("gexpify arguments, substitute-keyword-arguments") ("gexpify arguments, append substitute-keyword-arguments"): New tests. * doc/guix.texi (package Reference): For 'arguments', add compatibility note and link to 'guix style'. (Invoking guix style): Document the 'arguments' styling rule.
* doc: Change '--with-configure-flag' example to something that works.Ludovic Courtès2023-05-18
| | | | | | | | | | | Passing '-DBUILD_COMPLEX=OFF' to lapack would eventually lead to a link error. Reported by Florian Pelz <pelzflorian@pelzflorian.de>. * doc/guix.texi (Package Transformation Options): Change '--with-configure-flag' example. * etc/news.scm: Likewise.