summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Expand)Author
2023-08-17pull, time-machine: Add '-q' to ignore channel files....This also fixes <https://issues.guix.gnu.org/63726>. * guix/scripts/pull.scm (show-help, %options): Add '-q'. (channel-list): Honor it. * guix/scripts/time-machine.scm (show-help, %options): Add '-q'. * doc/guix.texi (Invoking guix pull, Invoking guix time-machine): Document it. Reported-by: Simon Tournier <zimon.toutoune@gmail.com> Ludovic Courtès
2023-08-17doc: Fix typo....* doc/guix.texi (VPN Services): Fix typo. Maxim Cournoyer
2023-08-17doc: cookbook: Document how to disable the Yubikey OTP application....* doc/guix-cookbook.texi (Using security keys) <Disabling OTP code generation for a Yubikey>: New subsection. Reviewed-by: John Kehayias <john.kehayias@protonmail.com> Maxim Cournoyer
2023-08-16doc: cookbook: Document a dynamic DNS update mcron job....* doc/guix-cookbook.texi (System Configuration) <Dynamic DNS mcron job>: New subsection. Reviewed-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer
2023-08-16scripts: time-machine: Error when attempting to visit too old commits....* doc/guix.texi (Invoking guix time-machine): Document limitation. * guix/inferior.scm (cached-channel-instance): New VALIDATE-CHANNELS argument. Use it to validate channels when there are no cache hit. * guix/scripts/time-machine.scm (%options): Tag the given reference with 'tag-or-commit instead of 'commit. (%oldest-possible-commit): New variable. (guix-time-machine) <validate-guix-channel>: New nested procedure. Pass it to the 'cached-channel-instance' call. * tests/guix-time-machine.sh: New test. * Makefile.am (SH_TESTS): Register it. Suggested-by: Simon Tournier <zimon.toutoune@gmail.com> Reviewed-by: Ludovic Courtès <ludo@gnu.org> Reviewed-by: Simon Tournier <zimon.toutoune@gmail.com> Maxim Cournoyer
2023-08-16Revert "services: Add ddclient service."...ddclient is unmaintained as of 2023-07-04 [1] and this service has been broken for a while [2]. Remove it rather than shipping a broken service for an unmaintained program that's unlikely to be fixed. [1]: <https://github.com/ddclient/ddclient> [2]: <https://issues.guix.gnu.org/52770> This reverts commit 8490a8346b5c8207f5798be55bea1de865b0bd42. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Bruno Victal
2023-08-16services: posgresql: Add option to specify UID/GID for postgres user....Add 'createAccount?', 'uid' and 'gid' to <postgresql-configuation>. Unlike other system daemons, the PostgreSQL data directory is typically meant to persist across 'guix system reconfigure' and once created, you don't want it's UID or GID to change anymore. Furthermore, if you want to place the data directory on a network share and use NFSv4 with idmap, then the 'postgres' user must exist when the 'rpc.idmapd' daemon is launched; prior to mounting the share. And it needs to be possible to mount the share without configuring PostgreSQL. With NFSv3, the UID and GID typically needs to match those on the server. The added options allow for both of these scenarios: You can either create the user in (operating-system (users)) completely independently of the 'postgresql-service-type' (for instance to get your NFS setup working first prior to configuring your databases) - or "pin" it's UID / GID values. * gnu/services/databases.scm (<postgresql-configuration>)[create-account?] [uid, gid]: New fields. (%postgresql-accounts): Remove. (create-postgresql-account): New procedure. (postgresql-service-type)[extensions]: Use it. * doc/guix.texi (Database Services): Update accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Martin Baulig
2023-08-16doc: contributing: Mention the expected branch merge request format....* doc/contributing.texi (Managing Patches and Branches): Mention the expected branch merge request format. Maxim Cournoyer
2023-08-16doc: Update Cookbook Texinfo menus....Automated via C-c C-u C-a (M-x texinfo-all-menus-update) in Emacs. Maxim Cournoyer
2023-08-15services: Add cachefilesd service....Thanks to Bruno Victal "mirai" for cooperating on this patch and for generously sharing a wealth of insights about Guix services. Thanks to Jean-Baptiste Note for an early version of this service! * doc/guix.texi (Linux Services)[Cachefilesd Service]: New heading. * gnu/services/linux.scm (serialize-string, non-negative-integer?) (serialize-non-negative-integer, string, non-negative-integer) (make-option-serializer, make-percentage-threshold-serializer): New procedures. (cachefilesd-configuration): New record type. (cachefilesd-service-type): New variable. * gnu/tests/cachefilesd.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Co-authored-by: Bruno Victal <mirai@makinata.eu> Signed-off-by: Ludovic Courtès <ludo@gnu.org> Felix Lechner
2023-08-15refresh: Add --target-version option....* guix/scripts/refresh.scm (%options): Register 'target-version' long version. (update-specification->update-spec): Add a fallback-version argument. (options->update-specs): Honor target-version option. * tests/guix-refresh.sh: Test it. * doc/guix.texi (Invoking guix refresh): Document it. Reviewed-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer
2023-08-15doc: Add reference to the Scheme Crash Course....* doc/guix.texi (Using the Configuration System): Add cross-reference to the "Scheme Crash Course". Ludovic Courtès
2023-08-15doc: cookbook: Mention common SRFI-1 procedures....* doc/guix-cookbook.texi (A Scheme Crash Course): Add item about SRFI-1. Ludovic Courtès
2023-08-15doc: cookbook: Add 'use-modules' in gexp example....* doc/guix-cookbook.texi (A Scheme Crash Course): Add 'use-modules' line in gexp example. Ludovic Courtès
2023-08-15doc: cookbook: Link to "Package Modules"....* doc/guix-cookbook.texi (A Scheme Crash Course): Add link to "Package Modules". Ludovic Courtès
2023-08-13doc: Imply that ~/.nix-profile is not a typo....* doc/guix.texi (Fonts Home Services): Mention Nix. Reported by zororg in #guix. Tobias Geerinckx-Rice
2023-08-11services: postgresql: Add more role fields....* gnu/services/databases.scm (postgresql-role): Add more role fields. (postgresql-create-roles): Honor it. * doc/guix.texi (Database Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Miguel Moreno
2023-08-10services: Add pam-mount-volume-service-type....The `pam-mount-volumes-service-type' adds additional volumes to the pam-mount-service-type in addition to any that are already specified in `pam-mount-rules'. * doc/guix.texi (PAM Mount Volume Service): add documentation for `pam-mount-service-type'. * gnu/services/pam-mount.scm: new file. * Makefile.am: add pam-mount tests * tests/services/pam-mount.scm: new tests Signed-off-by: Ludovic Courtès <ludo@gnu.org> Brian Cully
2023-08-07services: Add 'package-database' service....* 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. Ludovic Courtès
2023-08-07services: Add 'file-database' service....* 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. Ludovic Courtès
2023-07-26services: mpd: Update basic example....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. Maxim Cournoyer
2023-07-26services: mpd: Provision a default cache directory and set HOME....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. Maxim Cournoyer
2023-07-26services: mpd: Auto-detect mpd-output mixer type by default....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. Maxim Cournoyer
2023-07-26services: mpd: Log to syslog by default....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. Maxim Cournoyer
2023-07-26services: mpd: List log-level in decreasing verbosity order in doc....* gnu/services/audio.scm (mpd-configuration) [log-level]: List log-level in decreasing verbosity order in doc. * doc/guix.texi (Audio Services): Update doc. Maxim Cournoyer
2023-07-25services: mpd: Add an 'update' action to trigger a database update....* gnu/services/audio.scm (mpd-shepherd-service): Register a new update action. * doc/guix.texi (Audio Services): Document it. Maxim Cournoyer
2023-07-25services: mpd: Add auto-update? field to mpd-configuration....* gnu/services/audio.scm (mpd-configuration) [auto-update?]: New field. * doc/guix.texi (Audio Services): Update doc. Maxim Cournoyer
2023-07-21services: wireguard: Clean-up configuration file serializer....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. Maxim Cournoyer
2023-07-21services: wireguard: Implement a dynamic IP monitoring feature....* 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> Maxim Cournoyer
2023-07-18gnu: Deprecate `texlive-tiny'....At this point, there are three equivalent TeX Live sub-systems: texlive-scheme-basic, texlive-tiny, and (texlive-updmap.cfg). It is confusing to keep so many around. * doc/contributing.texi (Submitting Patches): Remove reference to TEXLIVE-TINY. * gnu/packages/algebra.scm (pari-gp)[native-inputs]: (giac)[native-inputs]: * gnu/packages/chez.scm (chez-sockets)[native-inputs]: * gnu/packages/engineering.scm (fastcap)[native-inputs]: * gnu/packages/gettext.scm (po4a)[native-inputs]: * gnu/packages/maths.scm (cddlib)[native-inputs]: (gnuplot)[native-inputs]: (itpp)[native-inputs]: * gnu/packages/ocaml.scm (unison)[native-inputs]: * gnu/packages/pdf.scm (extractpdfmark)[native-inputs]: * gnu/packages/photo.scm (enblend-enfuse): Replace TEXLIVE-TINY with a call to TEXLIVE-UPDMAP.CFG. * gnu/packages/radio.scm (gnuradio)[native-inputs]: Remove unnecessary TEXLIVE-TINY. * gnu/packages/tex.scm (texlive-tiny): Deprecate it in favor of TEXLIVE-SCHEME-BASIC. (texlive-makecmds)[native-inputs]: Replace TEXLIVE-TINY with a call to TEXLIVE-UPDMAP.CFG. * guix/lint.scm (check-inputs-should-be-native): Check only for "texlive-updmap.cfg" input name. Nicolas Goaziou
2023-07-18gnu: Rationalize texlive-updmap.cfg and texlive-tiny inputs....TEXLIVE-UPDMAP.CFG and TEXLIVE-TINY should only be used as native inputs. Also remove texlive packages already provided by them. * doc/build.scm (pdf-manual): * gnu/packages/algebra.scm (pari-gp): * gnu/packages/bioinformatics.scm (discrover): (phyml): (velvet): * gnu/packages/chemistry.scm (yaehmop): * gnu/packages/chez.scm (stex-bootstrap): (chez-web): (chez-sockets): * gnu/packages/cran.scm (r-prereg): * gnu/packages/docbook.scm (dblatex): * gnu/packages/emacs-xyz.scm (emacs-auctex): * gnu/packages/engineering.scm (fastcap): * gnu/packages/fsf.scm (book-faif): * gnu/packages/graphviz.scm (dot2tex): * gnu/packages/maths.scm (hypre): * gnu/packages/ocaml.scm (unison): (ocaml-bibtex2html): * gnu/packages/plotutils.scm (asymptote): * gnu/packages/python-xyz.scm (python-nbconvert): (python-pypandoc): * gnu/packages/radio.scm (gnuradio): (libosmo-dsp): * gnu/packages/statistics.scm (r-with-tests): * gnu/packages/tex.scm (texlive-makecmds): (texlive-innerscript): (teximpatient): (texlive-xkeyval): Remove texlive packages already provided by TEXLIVE-UPDMAP.CFG. Don't add TEXLIVE-TINY or TEXLIVE-UPDMAP.CFG as inputs. Nicolas Goaziou
2023-07-18doc: Update TeX Live related documentation....* 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". Nicolas Goaziou
2023-07-18guix: texlive-build-system: Add #:link-scripts argument....* 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. Nicolas Goaziou
2023-07-18doc: texlive-build-system: Mention #:tex-engine argument....* doc/guix.texi (Build Systems): Mention #:TEX-ENGINE. Also fix capitalization for Metafont. Nicolas Goaziou
2023-07-18gnu: Replace texlive-latex-base with texlive-latex-bin....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. Nicolas Goaziou
2023-07-18gnu: Deprecate texlive-base in favor of texlive-scheme-basic....* gnu/packages/tex.scm (texlive-base): Deprecate variable. (texlive-updmap.cfg): Use default packages from now deprecated TEXLIVE-BASE. Also remove already implemented TODO. * doc/build.scm (pdf-manual): * gnu/packages/statistics.scm: Replace TEXLIVE-BASE with call to TEXLIVE-UPDMAP.CFG. * guix/profiles.scm (texlive-font-maps): Trigger TeX Live hook whenever a texlive package is included in the manifest. Nicolas Goaziou
2023-07-18guix: texlive-build-system: Generate TeX formats....* 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. Nicolas Goaziou
2023-07-18guix: texlive-build-system: Generate font metrics....* guix/build/texlive-build-system.scm (install-as-runfiles): (generate-font-metrics): New function. (build): Use INSTALL-AS-RUNFILES. (%standard-phases): Add new phase. Nicolas Goaziou
2023-07-18gnu: texlive-tex-texinfo -> texlive-texinfo....* gnu/packages/tex.scm (texlive-texinfo): New variable. (texlive-tex-texinfo): Deprecate variable. * doc/build.scm (pdf-manual): * gnu/packages/finance.scm (optionmatrix): * gnu/packages/lisp.scm (sbcl): * gnu/packages/plotutils.scm (asymptote): * gnu/packages/scheme.scm (mit-scheme): * gnu/packages/xdisorg.scm (xforms): Use new name. Nicolas Goaziou
2023-07-18gnu: texlive-fonts-ec -> texlive-ec....* gnu/packages/tex.scm (texlive-ec): New variable. (texlive-fonts-ec): Deprecate variable. (lyx): (biber): * gnu/packages/python-xyz.scm (python-pypandoc): * gnu/packages/statistics.scm (r-with-tests): * doc/build.scm (pdf-manual): * gnu/packages/bioinformatics.scm (discrover): (phyml): (velvet): * gnu/packages/chemistry.scm (yaehmop): * gnu/packages/chez.scm (stex-bootstrap): * gnu/packages/ocaml.scm (unison): (ocaml-bibtex2html): * gnu/packages/plotutils.scm (asymptote): Use new name. Nicolas Goaziou
2023-07-18guix: texlive-build-system: Improvements on non-trivial packages....* 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. Nicolas Goaziou
2023-07-18doc: Fix typos....* doc/guix.texi (Creating a Channel): Fix typos. Florian Pelz
2023-07-18doc: Update GDB "guix shell" example to use autoconf-2.69...* doc/environment-gdb.scm: Change to use autoconf-2.69. * gnu/packages/autotools.scm: Remove outdated GDB comment. Signed-off-by: Ludovic Courtès <ludo@gnu.org> fanquake
2023-07-14doc: Mention gexps in the "Scheme Crash Course"....* doc/guix-cookbook.texi (A Scheme Crash Course): Add note on gexps. Ludovic Courtès
2023-07-14doc: Fix invalid use of @deftypevar....* doc/guix.texi (Virtualization Services): Replace invalid use of @deftypevar with @deftypevr. Ludovic Courtès
2023-07-13gnu: gnumach: Support "noide" argument....* 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> Janneke Nieuwenhuizen
2023-07-02doc: Fix some cgit-configuration typos(?)....* doc/guix.texi (Version Control Services): Fix lost ‘cgit-repo’s. Tobias Geerinckx-Rice
2023-07-07doc: Fix typo in screen-locker-service swaylock example....* doc/guix.texi (X Window): Reference swaylock instead of xlockmore. Signed-off-by: Josselin Poiret <dev@jpoiret.xyz> Arvid Krein
2023-07-05home: Add inputrc service....* 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. Efraim Flashner
2023-06-24doc: Turn "Creating a Channel" into a step-by-step guide....* doc/guix.texi (Creating a Channel): Rewrite as a step-by-step guide. Move warning below and shorten it. Ludovic Courtès