aboutsummaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)Author
2023-09-15services: guix: Add bffe-service-type.Christopher Baines
This is intended to replace the functionality of the Guix Build Coordinator queue builds script, and also provide a web interface for build farms. * gnu/services/guix.scm (<bffe-configuration>): New record type. (bffe-configuration, bffe-configuration?, bffe-configuration-package, bffe-configuration-user, bffe-configuration-group, bffe-configuration-arguments bffe-configuration-extra-environment-variables): New procedures. (bffe-service-type): New variable. * gnu/tests/guix.scm (%test-bffe): New variable. * doc/guix.texi (Guix Services): Document the new service.
2023-09-14doc: Make “crash course” xref more visible.Ludovic Courtès
* doc/guix.texi (Using the Configuration System): Move the “Do not panic” note right after the first example. Clarify wording.
2023-08-21doc: Clarify 'user' field and key pairs in Daemon Offload.Bruno Victal
* doc/guix.texi (Daemon Offload Setup:): Clarify 'user' field of build-machine data type and the key pair used by guix archive. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-08-20doc: Fix module for "Essential Home Services".Nicolas Graves
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-08-20home: services: Add Syncthing.Ludovic Courtès
* gnu/home/services/syncthing.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/services/syncthing.scm (<syncthing-configuration>)[home-service?]: New field. Adjust 'provision' and 'requirement' depending on 'home-service?', and likewise for #:user and #:group. Use 'filter' + 'negate' instead of 'remove'. * doc/guix.texi (Networking Services): Add note and cross-reference to "Networking Home Services". (Networking Home Services): New node.
2023-08-20home: services: Add dicod.Ludovic Courtès
* gnu/home/services/dict.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/services/dict.scm (<dicod-configuration>)[home-service?]: New field. (dicod-shepherd-service): Do not map /dev/log when 'home-service?' is true. Remove 'user-processes' requirement when 'home-service?' is true. (dicod-shepherd-service): Set #:user and #:group to #f when 'home-service?' is true. * doc/guix.texi (Miscellaneous Home Services): New node. (Miscellaneous Services): Add cross-reference.
2023-08-19Merge branch 'kde-updates'宋文武
2023-08-17pull, time-machine: Add '-q' to ignore channel files.Ludovic Courtès
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>
2023-08-17doc: Fix typo.Maxim Cournoyer
* doc/guix.texi (VPN Services): Fix typo.
2023-08-17Merge remote-tracking branch 'origin/master' into kde-updates宋文武
2023-08-17doc: cookbook: Document how to disable the Yubikey OTP application.Maxim Cournoyer
* doc/guix-cookbook.texi (Using security keys) <Disabling OTP code generation for a Yubikey>: New subsection. Reviewed-by: John Kehayias <john.kehayias@protonmail.com>
2023-08-16doc: cookbook: Document a dynamic DNS update mcron job.Maxim Cournoyer
* doc/guix-cookbook.texi (System Configuration) <Dynamic DNS mcron job>: New subsection. Reviewed-by: Ludovic Courtès <ludo@gnu.org>
2023-08-16scripts: time-machine: Error when attempting to visit too old commits.Maxim Cournoyer
* 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>
2023-08-16Revert "services: Add ddclient service."Bruno Victal
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>
2023-08-16services: posgresql: Add option to specify UID/GID for postgres user.Martin Baulig
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>
2023-08-16doc: contributing: Mention the expected branch merge request format.Maxim Cournoyer
* doc/contributing.texi (Managing Patches and Branches): Mention the expected branch merge request format.
2023-08-16doc: Update Cookbook Texinfo menus.Maxim Cournoyer
Automated via C-c C-u C-a (M-x texinfo-all-menus-update) in Emacs.
2023-08-15services: Add cachefilesd service.Felix Lechner
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>
2023-08-15refresh: Add --target-version option.Maxim Cournoyer
* 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>
2023-08-15doc: Add reference to the Scheme Crash Course.Ludovic Courtès
* doc/guix.texi (Using the Configuration System): Add cross-reference to the "Scheme Crash Course".
2023-08-15doc: cookbook: Mention common SRFI-1 procedures.Ludovic Courtès
* doc/guix-cookbook.texi (A Scheme Crash Course): Add item about SRFI-1.
2023-08-15doc: cookbook: Add 'use-modules' in gexp example.Ludovic Courtès
* doc/guix-cookbook.texi (A Scheme Crash Course): Add 'use-modules' line in gexp example.
2023-08-15doc: cookbook: Link to "Package Modules".Ludovic Courtès
* doc/guix-cookbook.texi (A Scheme Crash Course): Add link to "Package Modules".
2023-08-13doc: Imply that ~/.nix-profile is not a typo.Tobias Geerinckx-Rice
* doc/guix.texi (Fonts Home Services): Mention Nix. Reported by zororg in #guix.
2023-08-11Merge remote-tracking branch 'origin/master' into kde-updates宋文武
2023-08-11services: postgresql: Add more role fields.Miguel Moreno
* 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>
2023-08-03services: Add Plasma desktop service.Hartmut Goebel
* gnu/services/desktop.scm (kde-desktop-service-type): New variable. (<kde-desktop-configuration>): New record type. (kde-desktop-configuration): New procedure. * doc/guix.texi (Desktop Services): Document it. Co-authored-by: Zheng Junjie <873216071@qq.com> Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2023-09-04doc: manual: Update TeX Live-related sections.Nicolas Goaziou
* doc/guix.texi (Invoking guix import): Mention "--recursive" option. (Using TeX and LaTeX): Improve documentation of modular TeX Live. Insist on the incompatibility with TEXLIVE package, and expound part about collections and schemes. Also fix the call to `tlmgr', which does not need to happen from a "guix shell" invocation. Co-authored-by: Andreas Enge <andreas@enge.fr>
2023-09-04home: Add parcimonie service.Efraim Flashner
* gnu/home/services/gnupg.scm (home-parcimonie-service-type, home-parcimonie-configuration): New variables. * doc/guix.texi (GNU Privacy Guard): Document it.
2023-09-02doc: Describe black screen issue when booting the installer.Florian Pelz
With suggestions by Iku-Tulo Vilutar <ikutulovilutar@gmail.com>. Fixes <https://issues.guix.gnu.org/65572>. * doc/guix.texi (System Installation): Add suggestion when booting the installer fails with a black screen.
2023-09-01cookbook: Add a recipe for running Guix System on a Kimsufi server.Thomas Ieong
* doc/guix-cookbook.texi (Running Guix on a Kimsufi Server): New section. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-09-01doc: cookbook: Document the configuration of a Yubikey with KeePassXC.Maxim Cournoyer
* doc/guix-cookbook.texi (Using security keys) [Requiring a Yubikey to open a KeePassXC database]: New subsection. Series-to: 65354@debbugs.gnu.org
2023-08-30doc: Update link to Mumi repository.Ricardo Wurmus
* doc/guix.texi (Web Services): Update URL of Mumi git repository. Reported-by: Attila Lendvai <attila@lendvai.name>
2023-08-29doc: Fix a potential problem in man page generation rule.Maxim Cournoyer
Since commit ca8acad3 ("build: Add dependency on guix script for help2man targets."), the $< special Make variable in the recipe was matching scripts/guix instead of the more specific 'guix/scripts/%.scm' source. * doc/local.mk ($(srcdir)/%D%/guix-%.1): Move the scripts/guix prerequisite to the end.
2023-08-10services: Add pam-mount-volume-service-type.Brian Cully
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>
2023-08-20Revert "gnu: system: Add home-directory-permissions field to <user-account>."Tobias Geerinckx-Rice
This reverts commit e9a5eebc785cb843034b38c5c5a6dd10904bdf2a, which as far as I can tell breaks system roll-backs thusly: [...] In gnu/build/accounts.scm: 239:27 3 (_ #<<password-entry> name: "root" password: "x" uid: 0 gid: 0 real-name: "System >) In unknown file: 2 (string-join ("root" "x" "0" "0" "System administrator" "/root" #t) ":" #<undefined>) In ice-9/boot-9.scm: 1685:16 1 (raise-exception _ #:continuable? _) 1685:16 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1685:16: In procedure raise-exception: In procedure string-append: Wrong type (expecting string): #t
2023-08-07services: Add 'package-database' service.Ludovic Courtès
* 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.
2023-08-07services: Add 'file-database' service.Ludovic Courtès
* 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.
2023-07-26services: mpd: Update basic example.Maxim Cournoyer
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.
2023-07-26services: mpd: Provision a default cache directory and set HOME.Maxim Cournoyer
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.
2023-07-26services: mpd: Auto-detect mpd-output mixer type by default.Maxim Cournoyer
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.
2023-07-26services: mpd: Log to syslog by default.Maxim Cournoyer
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.
2023-07-26services: mpd: List log-level in decreasing verbosity order in doc.Maxim Cournoyer
* gnu/services/audio.scm (mpd-configuration) [log-level]: List log-level in decreasing verbosity order in doc. * doc/guix.texi (Audio Services): Update doc.
2023-07-25services: mpd: Add an 'update' action to trigger a database update.Maxim Cournoyer
* gnu/services/audio.scm (mpd-shepherd-service): Register a new update action. * doc/guix.texi (Audio Services): Document it.
2023-07-25services: mpd: Add auto-update? field to mpd-configuration.Maxim Cournoyer
* gnu/services/audio.scm (mpd-configuration) [auto-update?]: New field. * doc/guix.texi (Audio Services): Update doc.
2023-07-21services: wireguard: Clean-up configuration file serializer.Maxim Cournoyer
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.
2023-07-21services: wireguard: Implement a dynamic IP monitoring feature.Maxim Cournoyer
* 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>
2023-07-18gnu: Deprecate `texlive-tiny'.Nicolas Goaziou
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.
2023-07-18gnu: Rationalize texlive-updmap.cfg and texlive-tiny inputs.Nicolas Goaziou
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.
2023-07-18doc: Update TeX Live related documentation.Nicolas Goaziou
* 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".