me
/
guix
Archived
1
0
Fork 0
Commit Graph

3340 Commits (d7abe56433fea376d39c2cbec16df7e562714475)

Author SHA1 Message Date
Thomas Ieong 3cc237e128
cookbook: Add a recipe for running Guix System on a Kimsufi server.
* 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-01 09:59:24 -04:00
Maxim Cournoyer c221d3e962
doc: cookbook: Document the configuration of a Yubikey with KeePassXC.
* doc/guix-cookbook.texi (Using security keys)
[Requiring a Yubikey to open a KeePassXC database]: New subsection.

Series-to: 65354@debbugs.gnu.org
2023-09-01 08:03:35 -04:00
Ricardo Wurmus d72c3fcf2d
doc: Update link to Mumi repository.
* doc/guix.texi (Web Services): Update URL of Mumi git repository.

Reported-by: Attila Lendvai <attila@lendvai.name>
2023-08-30 18:15:16 +02:00
Maxim Cournoyer 0d9619354b
doc: Fix a potential problem in man page generation rule.
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-29 14:52:21 -04:00
Brian Cully 8a88b8b0b5
services: 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>
2023-08-10 09:26:08 +02:00
Tobias Geerinckx-Rice 5a2c3352d8
Revert "gnu: system: Add home-directory-permissions field to <user-account>."
This reverts commit e9a5eebc78, 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-20 02:00:00 +02:00
Ludovic Courtès b3a2b3e723
services: 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.
2023-08-07 15:11:45 +02:00
Ludovic Courtès e63c87020d
services: 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.
2023-08-07 15:11:44 +02:00
Maxim Cournoyer 53138a393b
services: 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.
2023-07-26 10:40:16 -04:00
Maxim Cournoyer 776317e707
services: 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.
2023-07-26 10:40:16 -04:00
Maxim Cournoyer 07bb69d52c
services: 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.
2023-07-26 10:40:16 -04:00
Maxim Cournoyer 131746885c
services: 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.
2023-07-26 10:40:15 -04:00
Maxim Cournoyer 98a46c9da6
services: 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.
2023-07-26 10:40:15 -04:00
Maxim Cournoyer e1070ee160
services: 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.
2023-07-25 13:04:17 -04:00
Maxim Cournoyer 6a57bf9612
services: 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.
2023-07-25 13:04:12 -04:00
Maxim Cournoyer d2385da87e
services: 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.
2023-07-21 11:58:44 -04:00
Maxim Cournoyer 8d785c43ba
services: 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>
2023-07-21 11:58:44 -04:00
Nicolas Goaziou 29cc6b1cd6
gnu: 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.
2023-07-18 18:16:49 +02:00
Nicolas Goaziou 7a18bd9e74
gnu: 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.
2023-07-18 18:16:47 +02:00
Nicolas Goaziou 350562e9f4
doc: 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".
2023-07-18 18:16:40 +02:00
Nicolas Goaziou c8e75dfa24
guix: 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.
2023-07-18 18:15:05 +02:00
Nicolas Goaziou 24e6732b15
doc: texlive-build-system: Mention #:tex-engine argument.
* doc/guix.texi (Build Systems): Mention #:TEX-ENGINE.  Also fix
capitalization for Metafont.
2023-07-18 18:15:04 +02:00
Nicolas Goaziou 520551a596
gnu: 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.
2023-07-18 18:15:03 +02:00
Nicolas Goaziou 36d7acf003
gnu: 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.
2023-07-18 18:15:02 +02:00
Nicolas Goaziou 7ce20143a7
guix: 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.
2023-07-18 18:12:49 +02:00
Nicolas Goaziou c09a05d06c
guix: 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.
2023-07-18 18:12:38 +02:00
Nicolas Goaziou ac29f53d30
gnu: 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.
2023-07-18 18:11:07 +02:00
Nicolas Goaziou 76819a9655
gnu: 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.
2023-07-18 18:10:48 +02:00
Nicolas Goaziou 3f22dabc2a
guix: 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.
2023-07-18 18:10:24 +02:00
Florian Pelz 3a3752400d
doc: Fix typos.
* doc/guix.texi (Creating a Channel): Fix typos.
2023-07-18 01:00:35 +02:00
fanquake 602e32c8e0
doc: 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>
2023-07-18 00:41:15 +02:00
Ludovic Courtès a33a335c89
doc: Mention gexps in the "Scheme Crash Course".
* doc/guix-cookbook.texi (A Scheme Crash Course): Add note on gexps.
2023-07-14 16:16:25 +02:00
Ludovic Courtès 084f2c08ed
doc: Fix invalid use of @deftypevar.
* doc/guix.texi (Virtualization Services): Replace invalid use of
@deftypevar with @deftypevr.
2023-07-14 16:16:25 +02:00
Janneke Nieuwenhuizen bbfb41ed9d
gnu: 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>
2023-07-13 18:59:17 +02:00
Tobias Geerinckx-Rice 16d77b31c5
doc: Fix some cgit-configuration typos(?).
* doc/guix.texi (Version Control Services): Fix lost ‘cgit-repo’s.
2023-07-02 02:00:04 +02:00
Arvid Krein 5b6e9b2463
doc: 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>
2023-07-07 18:46:20 +02:00
Efraim Flashner 69d051f715
home: 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.
2023-07-05 18:57:32 +03:00
Ludovic Courtès 09a77e31fe
doc: 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.
2023-06-24 16:13:38 +02:00
Ludovic Courtès 1b7aabbc79
Add 'guix locate'.
* 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>
2023-06-18 23:44:29 +02:00
Ludovic Courtès d4ff504efa
doc: Fix typo.
* doc/guix.texi (Invoking guix pack): Use @command, not @var.
2023-06-18 22:55:45 +02:00
Efraim Flashner 87cf2a859d
home: services: ssh: Allow unset boolean options in ssh-config.
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.
2023-06-14 21:51:44 +03:00
Christopher Baines 0ea096ae23
doc: Move and rewrite the branching strategy.
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>
2023-06-12 19:52:57 +01:00
Nicolas Graves 95853e61a7
home: services: ssh: Add 'match-criteria' option.
* 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>
2023-06-09 23:28:18 +02:00
Nicolas Graves f19e1b4f96
home: services: ssh: Add 'add-keys-to-agent' field.
* 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>
2023-06-09 23:27:52 +02:00
Ludovic Courtès aceb150d29
doc: Use the term "Procedure" for definitions.
In an effort to homogenize things, commit
3c40dfe285 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.
2023-06-08 23:29:27 +02:00
Felix Lechner 8f855dd187
doc: Update outdated URL for Eudev wiki.
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>
2023-06-08 22:59:26 +02:00
Felix Lechner 44e4dc7c72
doc: Replace reference to non-existing (gnu home services ssh-agent).
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>
2023-06-08 22:58:25 +02:00
Ludovic Courtès d62c6170ef
doc: Add missing node to the main menu.
This is a followup to 110462bb2f.

* doc/guix.texi (Top): Add "Mail Home Services" to the menu.
2023-06-06 11:54:39 +02:00
Efraim Flashner c1b8f1bc7a
doc: Fix some typos in the manual.
* 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.
2023-06-05 21:36:09 +03:00
Efraim Flashner 5cf38fb6d6
doc: cookbook: Update example my-libgit2 package.
* doc/guix-cookbook.texi (Packaging Tutorial): Improve the code quality
of the example my-libgit2 package.
2023-06-05 21:36:06 +03:00
Josselin Poiret 80d1228321
build-system: New agda-build-system.
* 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.
2023-06-04 10:59:34 +02:00
muradm f4f5ee6ad6
services: screen-locker-service-type: Configurable PAM and setuid.
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>
2023-06-04 10:33:55 +02:00
Ludovic Courtès 57ceb64e34
upstream: Honor package properties for ignored and extra inputs.
* 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.
2023-05-31 23:25:26 +02:00
Ludovic Courtès ec0a2fc87b
upstream: 'update-package-source' edits input fields.
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.
2023-05-31 23:25:25 +02:00
Ludovic Courtès db10a4a2ae
doc: Mention 'guix refresh -u' for third-party channels.
* doc/guix.texi (Invoking guix refresh): Show how to run 'guix refresh
-u' on a third-party channel.
2023-05-31 23:25:24 +02:00
Florian Pelz 8e9e6a6482
nls: Update translations.
* doc/guix-cookbook.texi (Top): Mention Slovak.
2023-05-31 17:23:21 +02:00
Florian Pelz 718eb55104
doc: Quote all list values.
* doc/guix.texi (System Configuration)[Services]: Replace all () by
'(), and similar quotings.
(Home Configuration)[Home Services]: Likewise.
2023-05-30 17:04:10 +02:00
Tanguy Le Carrour 110462bb2f
home: services: Add msmtp service.
* 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>
2023-05-30 00:15:30 +02:00
Ludovic Courtès 4ebefac412
doc: Update references to the Shepherd manual.
* doc/guix.texi (Shepherd Services): Update cross-references to
shepherd.info nodes removed in 0.10.0.
2023-05-30 00:15:30 +02:00
Ludovic Courtès fb1c5d4df7
doc: Adjust HTML patterns to correctly process Texinfo 6.8 output.
Prior to ceb5ef8347, (@ (gnu packages
texinfo) texinfo), which is what is used here, was pointing to version 6.7.

* doc/build.scm (html-manual-identifier-index)[build](worthy-entry?):
Adjust patterns for Texinfo 6.8.
(syntax-highlighted-html)[build](syntax-highlight): Likewise.
2023-05-25 23:24:40 +02:00
Ludovic Courtès b59c18f761
doc: Tweak SELinux instructions.
* 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".
2023-05-25 12:51:16 +02:00
Felix Lechner df72c45d5c
doc: guix.texi: Add Texinfo line breaks.
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>
2023-05-24 15:04:00 +02:00
Felix Lechner 3c2f833257
doc: contributing.texi: Specify recipient via equal sign in 'git send-email --to'.
The documentation for git send-email recommends the use of an equal sign when
specifying a recipient with the --to option. [1] Adjusts the reference manual
accordingly.

[1] https://git-scm.com/docs/git-send-email

* doc (contributing.texi): Specify recipient via equal sign in
'git send-email --to'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-05-24 15:04:00 +02:00
Janneke Nieuwenhuizen c57693846c
home: services: ssh: Do not empty ~/.ssh/authorized_keys by default.
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".
2023-05-24 11:56:12 +02:00
Ludovic Courtès 7d1d5e16da
doc: Clarify instructions for hibernation on a swap file.
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'.
2023-05-21 01:04:39 +02:00
Ludovic Courtès ba5da5125a
style: Add 'arguments' styling rule.
* 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.
2023-05-18 20:01:32 +02:00
Ludovic Courtès fddf97456c
doc: Change '--with-configure-flag' example to something that works.
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.
2023-05-18 19:20:58 +02:00
Christopher Baines 9a6bbea9d4
services: nar-herder: Support extra environment vars.
* gnu/services/guix.scm (nar-herder-configuration-extra-environment-variables):
New procedure.
(nar-herder-shepherd-services): Pass the environment variables to the
shepherd.
* doc/guix.texi (Guix Services): Document it.
2023-05-13 11:26:37 +01:00
Bruno Victal 0e3bb48d36
services: Add vnstat-service-type.
* gnu/services/monitoring.scm (vnstat-service-type): New variable.
* doc/guix.texi (Monitoring Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-05-11 16:38:29 +02:00
Nathaniel Nicandro 2ecf4a9ba3
doc: Update dicod-configuration example
* doc/guix.texi (Dictionary Service): Update dicod-configuration example to
fix outdated WordNet database configuration.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-05-11 16:38:29 +02:00
Gabriel Wicki 199218e372
doc: Clarify substitute* docstring with an example.
* doc/guix.texi (Build Utilities): Update the corresponding passage.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-05-11 16:38:28 +02:00
Sergey Trofimov 61031dd32f
services: dhcp-client-configuration: Add 'shepherd-requirement' field.
* gnu/services/networking.scm (<dhcp-client-configuration>)
[shepherd-requirement]: New field.
(dhcp-client-shepherd-service): Honor it.
(dhcp-client-configuration-shepherd-requirement): Export accessor.
* doc/guix.texi (Networking Setup): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-05-11 16:38:28 +02:00
Andrew Patterson 8d442e8a53
gnu: home: services: fontutils: Add support for SXML fragments.
* gnu/home/services/fontutils.scm (add-fontconfig-config-file): Add
support for adding arbitrary SXML configuration into fonts.conf;
* doc/guix.texi (Fonts Services): Update the documentation.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-05-11 16:38:27 +02:00
Christopher Baines 98c3931641
services: guix-build-coordinator-agent: Support max-parallel-uploads.
This should be usable with the new guile-gnutls.

* gnu/services/guix.scm
(guix-build-coordinator-agent-configuration-max-parallel-uploads): New
procedure.
* gnu/services/guix.scm (guix-build-coordinator-agent-shepherd-services): Use
the new argument.
* doc/guix.texi (Guix Services): Document it.
2023-05-10 11:06:20 +01:00
Blake Shaw 8f92dfd9ae
doc: Fix module name for 'home-znc-service-type'.
* doc/guix.texi (Messaging Home Services): Fix.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-05-10 00:35:52 +02:00
Christopher Baines a759cbffaf
services: guix-build-coordinator: Support extra environment vars.
I'm looking at this because I need to do some debugging of Guile's GC, and
there are some useful environment variables for that, but it should be
generally useful.

* gnu/services/guix.scm (guix-build-coordinator-configuration-extra-environment-variables):
New procedure.
(guix-build-coordinator-shepherd-services): Pass the environment variables to
the shepherd.
* doc/guix.texi (Guix Services): Document it.
2023-05-09 16:19:21 +01:00
Maxim Cournoyer 4228d3c358
Partly reinstate "doc: Update all menus."
This partly reinstates commit 9719d7d ("doc: Update all menus."), omitting the
hunk touching doc/contributing.texi.

* doc/guix.texi: Update all menus.
2023-05-08 09:57:09 -04:00
Maxim Cournoyer b7e7744626
Revert "doc: Update all menus."
This reverts commit 9719d7d2b0.  It breaks Guix
pull, building the 'guix-manual' for reasons that currently escape me.
2023-05-07 22:49:29 -04:00
Maxim Cournoyer 9719d7d2b0
doc: Update all menus.
Automated via 'M-x texinfo-all-menus-update' in Emacs, and dropping
the *Contributing menu removal, which is erroneously removed because defined
in a different Texinfo file.

* doc/guix.texi: Update all menus.
* doc/contributing.texi (Submitting Patches): Likewise.
2023-05-07 21:51:27 -04:00
Maxim Cournoyer 26a788ae06
doc: Add some information/recommendation regarding --sysconfdir.
* doc/contributing.texi (Building from Git): Mention sysconfdir along
localstatedir.
* doc/guix.texi (Requirements): Likewise.
2023-05-07 21:51:27 -04:00
Bruno Victal 8ffe52df47
doc: Use G-Expressions for package definition example.
* doc/guix.texi (Build Phases): Use G-Expressions for example.

Co-authored-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-05-06 18:07:37 +02:00
Ludovic Courtès 86bf0c5a3f
doc: cookbook: Remove outdated section about GUIX_PACKAGE_PATH.
The section insisted on GUIX_PACKAGE_PATH, mentioned version 0.16, and
didn't say much about channels, which made it look obsolete.

* doc/guix-cookbook.texi (GUIX_PACKAGE_PATH): Remove section.
(Guix channels): Rename to...
(Channels): ... this.  Merge most of the explanations previously in the
GUIX_PACKAGE_PATH section.  Say more about channels and add
cross-references.
2023-05-06 18:01:16 +02:00
Sarthak Shah ae11fcb84a
transformations: Add '--with-configure-flag'.
* guix/transformations.scm (transform-package-configure-flag): New
procedure.
(%transformation-options, %transformation-options)
(show-transformation-options-help/detailed): Add it.
* tests/transformations.scm ("options->transformation,
with-configure-flag"): New test.
* doc/guix.texi (Package Transformation Options): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-05-04 17:06:44 +02:00
Maxim Cournoyer 1d77fd705b
doc: Simplify contributing section by automating git configuration.
Fixes <https://issues.guix.gnu.org/58813>.  No longer suggests to splice the
output of etc/teams.scm commands into the 'git send-email' command line; this
is now transparently handled by the Git configuration, which is also
automatic.

* doc/contributing.texi (Configuring Git): Streamline section, now automated
via Automake.
(Sending a Patch Series): Do not specify options configured as default by the
above.  Prefer long option names, for readability.
(Teams): Rewrite the examples to use --header-cmd.
(Commit Access): Refer to the Configuring Git section instead of detailing
manual steps.
2023-05-01 12:39:11 -04:00
Josselin Poiret e4f17429a6
doc: Add --sysconfdir=/etc to the recommended ./configure.
* doc/contributing.texi (Building from Git): Add --sysconfdir=/etc to the
recommended ./configure invocation.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-30 23:11:12 +02:00
Bruno Victal 9be1ee6a49
services: tor: Deprecate 'tor-hidden-service' procedure.
Due to (now renamed) 'hidden-service' record type not being exported, the only
way Onion services (formely hidden services) could have worked is through the
now deprecated 'tor-hidden-service' procedure.

This commit updates the Tor service documentation, corrects some inconsistently
named accessors in <tor-configuration> record-type, renames and refactors
tor-hidden-service-configuration to tor-onion-service-configuration using
define-configuration and also exports it, allowing Onion services to be
configured directly within a <tor-configuration> record.
Lastly, it also deprecates the 'tor-hidden-service' procedure.

* doc/guix.texi (Networking Services): Substitute mentions of “Hidden services”
with “Onion Services”. Add a Tor Onion service configuration example.
Document <tor-onion-service-configuration>. Remove mention of
'tor-hidden-service' procedure.
* gnu/services/networking.scm: Export tor-configuration-tor,
tor-configuration-config-file, tor-configuration-hidden-services,
tor-configuration-socks-socket-type, tor-configuration-control-socket-path,
tor-onion-service-configuration, tor-onion-service-configuration?,
tor-onion-service-configuration-name, tor-onion-service-configuration-mapping.
(<tor-configuration>)[control-socket?]: Rename accessor.
(<hidden-service>): Replace with …
(<tor-onion-service-configuration>): … this.
(tor-configuration->torrc): Update record-type name.
(tor-activation): Ditto.
(tor-hidden-service-type): Remove variable.
(tor-hidden-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-25 17:19:21 +02:00
Andreas Enge d7ec2805fb
Merge remote-tracking branch 'origin/master' into core-updates 2023-04-23 22:21:00 +02:00
宋文武 4502de61f2
refresh: Support select packages SUBSET by module name.
* guix/scripts/refresh.scm (%options): Support '--select module:NAME'.
(show-help): Adjust accordingly.
(options->update-specs): Honor the module passed by '--select'.
* doc/guix.texi (Invoking guix refresh): Document it.
2023-04-23 15:28:46 +08:00
Andreas Enge d1252b597d
Merge remote-tracking branch 'origin/master' into core-updates 2023-04-22 09:21:22 +02:00
Saku Laesvuori 13ebf5e36c
doc: Update openssh-host documentation.
* doc/guix.texi (Secure Shell): Update openssh-host documentation to
match the code.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-21 17:09:51 +02:00
Saku Laesvuori 9043e23196
home: services: openssh: Add configuration option for jump proxies
Add a new 'proxy' field to openssh-host to allow ProxyCommand or
ProxyJump, but not both, to be configured. Configuring both would cause
the serialization order to determine which one is used. Deprecate the
'proxy-command' field because the 'proxy' field replaces it.

* gnu/home/services/ssh.scm (proxy-jump->string,
proxy-command-or-jump-list?, serialize-proxy-command-or-jump-list,
sanitize-proxy-command): New procedure.
(proxy-jump, proxy-command): New record type.
(openssh-host)[proxy-command]: Mark field as deprecated because OpenSSH
can't have ProxyCommand and ProxyJump configured at the same time.
* doc/guix.texi (Secure Shell): Update to match the changes to the
service.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-21 17:09:50 +02:00
Maxim Cournoyer 2c67e98b37
services: syslog: Add a reload action.
* gnu/services/base.scm (syslog-service-type) [actions]: Add a reload action.
* doc/guix.texi (Base Services): Document it.
2023-04-21 09:04:40 -04:00
Maxim Cournoyer 3bacd3c76a
Merge branch 'master' into core-updates.
Conflicts:
	gnu/local.mk
	gnu/packages/build-tools.scm
	gnu/packages/certs.scm
	gnu/packages/check.scm
	gnu/packages/compression.scm
	gnu/packages/cups.scm
	gnu/packages/fontutils.scm
	gnu/packages/gnuzilla.scm
	gnu/packages/guile.scm
	gnu/packages/ibus.scm
	gnu/packages/image-processing.scm
	gnu/packages/linux.scm
	gnu/packages/music.scm
	gnu/packages/nss.scm
	gnu/packages/pdf.scm
	gnu/packages/python-xyz.scm
	gnu/packages/qt.scm
	gnu/packages/ruby.scm
	gnu/packages/shells.scm
	gnu/packages/tex.scm
	gnu/packages/video.scm
	gnu/packages/vulkan.scm
	gnu/packages/web.scm
	gnu/packages/webkit.scm
	gnu/packages/wm.scm
2023-04-14 17:15:08 -04:00
Florian Pelz 11ecc5a4f8
doc: Fix various typos.
* doc/guix.texi: Fix typos.
2023-04-13 15:32:47 +02:00
Bruno Victal dd10ba4184
services: nginx: Make logging level configurable.
* 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-11 12:19:01 -04:00
Florian Pelz 309d8294e9
doc: Regarding SSL certs, clarify when we write about Guix System.
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-10 19:47:38 +02:00
Ludovic Courtès 6420015e6d
home: Add gpg-agent service.
* 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-08 22:56:19 +02:00
Ludovic Courtès 57db09aae7
environment: Add '--nesting'.
* 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-06 18:34:15 +02:00
Maxim Cournoyer 52d373dfef
doc: Add a reference to a page explaining consensus decision making.
This is to make explicit something which until now had always been implicit.

* doc/contributing.texi (Commit Access): Mention that committers are expected
to employ consensus decision making.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-04-03 15:41:41 -04:00
Bruno Victal 380faf265b
services: mympd: Use records for user and group fields.
* 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-02 12:38:45 +02:00