me
/
guix
Archived
1
0
Fork 0
Commit Graph

3581 Commits (master)

Author SHA1 Message Date
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
Bruno Victal 7fdadeac11
services: mpd: Use proper records for user and group fields.
Deprecate using strings for these fields and prefer user-account
(resp. user-group) instead to avoid duplication within account-service-type.

Fixes #61570 <https://issues.guix.gnu.org/61570>.

* gnu/services/audio.scm (%mpd-user, %mpd-group)
(mpd-serialize-user-account, mpd-serialize-user-group)
(mpd-user-sanitizer, mpd-group-sanitizer): New variables.
(mpd-configuration)[user]: Use user-account as value type.
Sanitize via mpd-user-sanitizer.
[group]: Use user-group as value type.
Sanitize via mpd-group-sanitizer.
(mpd-shepherd-service): Adjust accordingly.
(mpd-accounts): Likewise.
* doc/guix.texi (Audio Services)[Music Player Daemon]: Likewise.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-04-02 12:35:30 +02:00
Bruno Victal 6f48efa9b8
services: configuration: Add user-defined sanitizer support.
This changes the 'custom-serializer' field into a generic
'extra-args' field that can be extended to support new literals.
Within extra-args, the literals 'sanitizer' and 'serializer' allow
for user-defined sanitization and serialization procedures respectively.
The 'empty-serializer' was also added as a literal to be used as before.

To prevent confusion between the new “explicit” style of specifying
a sanitizer, and the old “implicit” style, the latter has been
deprecated, and a warning is issued if it is encountered.

* gnu/services/configuration.scm (define-configuration-helper):
Rename 'custom-serializer' to 'extra-args'.  Add support for literals
'sanitizer', 'serializer' and 'empty-serializer'.  Rename procedure
'field-sanitizer' to 'default-field-sanitizer' to avoid syntax clash.
Only define default field sanitizers if user-defined ones are absent.
(normalize-extra-args): New variable.
(<configuration-field>)[sanitizer]: New field.
* doc/guix.texi (Complex Configurations): Document the newly added
literals.
* tests/services/configuration.scm: Add tests for the new literals.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-04-02 12:31:51 +02:00
Bruno Victal 6d0ad93020
services: pam-limits-service-type: Deprecate file-like object support in favour for lists as service value.
* doc/guix.texi (Base Services): Document it.
* gnu/local.mk: Register test.
* gnu/services/base.scm (pam-limits-service-type): Accept both lists and
file-like objects. Deprecate file-like object support.
* gnu/tests/pam.scm: New file.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-30 23:18:16 +02:00
Bruno Victal ed50531885
services: base: Deprecate 'pam-limits-service' procedure.
* doc/guix.texi (Base Services): Replace pam-limits-service with pam-limits-service-type.
* gnu/packages/benchmark.scm (python-locust)[description]: Update index anchor to manual.
* gnu/services/base.scm (pam-limits-service-type): Set default value.
(pam-limits-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-30 23:18:16 +02:00
Ludovic Courtès 67a7eaa13d
doc: Properly document 'replace' clause of 'modify-inputs'.
* doc/guix.texi (Defining Package Variants): Add 'replace' to the
reference of 'modify-inputs' clauses.
2023-03-26 23:24:23 +02:00
Bruno Victal bc30a9ee88
services: mpd: Set PulseAudio-related variables.
These variables are necessary for PulseAudio to work properly out-of-the-box
for 'non-interactive' users.

* doc/guix.texi (Audio Services): Update environment-variables field description for
mpd-configuration data type.
* gnu/services/audio.scm (mpd-configuration)[environment-variables]: Set
PULSE_CLIENTCONFIG and PULSE_CONFIG environment variables to the system-wide
PulseAudio configuration.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-24 11:01:01 -04:00
Bruno Victal 206446b484
services: audio: Remove redundant list-of-string? predicate.
Use list-of-strings? predicate defined in (gnu services configuration).

* gnu/services/audio.scm (list-of-string?): Remove predicate.
(mpd-serialize-list-of-string): Rename procedure to ...
(mpd-serialize-list-of-strings): ... this.
(mpd-configuration)[environment-variables]: Switch to list-of-strings.
[endpoints]: Switch to maybe-list-of-strings.
(mympd-ip-acl)[allow, deny]: Switch to list-of-strings.
(mympd-serialize-configuration): Rename serialize-list-of-string to
serialize-list-of-strings.
* doc/guix.texi (Audio Services): Update it.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-24 10:55:40 -04:00
Maxim Cournoyer f9ceb205f5
doc: Mention Python 2 packages should not be added anymore.
* doc/contributing.texi (Python Modules): Mention Python 2 packages should not
be added anymore.
2023-03-23 22:15:27 -04:00
Bruno Victal 72ef1bef07
services: Add fstrim-service-type.
* gnu/services/linux.scm (fstrim-service-type): New variable.
(fstrim-mcron-job, serialize-fstrim-configuration)
(fstrim-serialize-list-of-strings, fstrim-serialize-boolean): New procedure.
(mcron-time?): New predicate.
(fstrim-configuration): New record.
* doc/guix.texi (Linux Services): Document new fstrim-service-type.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-22 10:09:03 -04:00
Karl Hallsby 306bd7b8b9
doc: Document how to use specific package outputs in code.
* doc/guix.texi (Packages with Multiple Outputs): Provide an example of
selecting a package's output in Scheme.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21 16:19:12 -04:00
jgart 4e9f914680
scripts: refresh: Add -T option.
* doc/guix.texi (Invoking guix refresh): Document the -T option.
* guix/scripts/refresh.scm (%options): Add the -T flag.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21 14:56:52 -04:00
Bruno Victal c88582a674
services: mcron: Add log-file and date-format fields.
* doc/guix.texi (Scheduled Job Execution): Document it.
* gnu/services/mcron.scm (mcron-configuration)[log-file, date-format]: New field.
(mcron-shepherd-services): Add log-file and date-format support.
Use file-append instead of string-append.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21 14:51:24 -04:00
Bruno Victal 6f4fd8f5b8
services: mcron: Restyle mcron-configuration.
* doc/guix.texi (Scheduled Job Execution): Sync doc with source.
* gnu/services/mcron.scm (mcron-configuration): Restyle.
[log-format]: Fix incorrectly formatted text.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21 14:31:22 -04:00
Bruno Victal 9137df26bb
doc: Clarify special-files-service-type expected value.
* doc/guix.texi (Services, Base Services): Clarify special-files-service-type
expected value.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21 10:14:28 -04:00
Andreas Enge ccb62d8feb
Merge remote-tracking branch 'origin/master' into core-updates 2023-03-20 18:49:06 +01:00
Bruno Victal 20aa4c30fb
services: dict: Deprecate 'dicod-service' procedure.
* doc/guix.texi (Miscellaneous Services): Remove 'dicod-service' mention.
* gnu/services/dict.scm (dicod-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-17 23:20:36 +01:00
conses 511ae8325d
home: services: Add home-xmodmap-service-type.
* gnu/home/services/desktop.scm (home-xmodmap-service-type)
(home-xmodmap-configuration): New variables;
(serialize-xmodmap-configuration)
(xmodmap-shepherd-service): New procedures;
* doc/guix.texi (Desktop Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-17 23:20:36 +01:00
Maxim Cournoyer fd4f91dea6
doc: Use 'mount --rbind' for chroot instructions.
This was reported by a user in #guix.  It's at least necessary for /sys, to
have the /sys/firmware/efivars location available insinde the chroot when
using an UEFI system.

* doc/guix.texi (Chrooting into an existing system): Replace --bind argument
with --rbind

Suggested-by: Josselin Poiret <dev@jpoiret.xyz>
2023-03-17 10:57:08 -04:00
Jan (janneke) Nieuwenhuizen 2714c9ef2d
home: services: ssh-agent: Handle setting of SSH_AUTH_SOCK.
* gnu/home/services/ssh.scm (home-ssh-agent-environment-variables): New
procedure.
(home-ssh-agent-service-type): Use it as ahome-environment-service type
extension.
* doc/guix.texi (Secure Shell): Remove advice about, and examples of setting
SSH_AUTH_SOCK.
2023-03-17 12:44:33 +01:00
Jan (janneke) Nieuwenhuizen b68d4118e7
doc: Use @defvar instead of @defvr for Scheme variables.
Suggested by mirai via IRC, see also

    https://issues.guix.gnu.org/60634

* doc/guix.texi (Build Systems) (Secure Shell) (Messaging Home
Services) (Media Home Services): Use @defvar instead of @defvr for Scheme
variables.
2023-03-16 18:50:01 +01:00
Ludovic Courtès be7e2bf7eb
home: services: ssh-agent: Remove host-side use of (shepherd support).
This is a followup to 2c2f382e75, which
inadvertently pulled in (shepherd support) on the host side.

* gnu/home/services/ssh.scm (<home-ssh-agent-configuration>)[socket-directory]:
Change value to a gexp.
(home-ssh-agent-services): Change 'socket-file' and 'command' to a
gexp.  Add 'modules' field to 'shepherd-service'.
* doc/guix.texi (Secure Shell): Adjust accordingly.
2023-03-16 17:09:46 +01:00
Jan (janneke) Nieuwenhuizen 70056b1b2b
gnu: home: services: Add home-kodi-service-type.
* gnu/home/services/media.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* po/guix/POTFILES.in: Likewise.
* doc/guix.texi (Media Home Services): Document it in new subsection.
2023-03-16 14:33:16 +01:00
Jan (janneke) Nieuwenhuizen 193f547ca3
gnu: home: services: Add home-znc-service-type.
* gnu/home/services/messaging.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* po/guix/POTFILES.in: Likewise.
* doc/guix.texi (Messaging Home Services): Document it in new subsection.
2023-03-16 14:32:50 +01:00
Jan (janneke) Nieuwenhuizen 2c2f382e75
gnu: home: services: Add home-ssh-agent-service-type.
* gnu/home/services/ssh.scm: (<home-ssh-agent-configuration>): New type.
(home-ssh-agent-services): New procedure.
(home-ssh-agent-service-type): New variable.
* doc/guix.texi (Secure Shell): Document it.
2023-03-16 14:26:34 +01:00
Simon Tournier 5864fc3380
doc: Document 'shebang' for 'guix shell'.
* doc/guix.texi (Invoking guix shell): Add a note mentioning how to use
'shebang'.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-03-16 12:37:03 +01:00
conses 837e179e00
home: services: Add home-unclutter-service-type.
* gnu/home/services/desktop.scm (home-unclutter-configuration)
(home-unclutter-service-type): New variables;
(home-unclutter-shepherd-service): New procedure;
* doc/guix.texi (Desktop Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-16 12:37:03 +01:00
Bruno Victal 8304979415
doc: Use @defmac and @defspec for macros.
* doc/guix.texi (package Reference, Defining Package Variants)
(Build Utilities, The Store Monad, G-Expressions, operating-system Reference)
(Service Reference, Complex Configurations): Use @defmac and @defspec for macros.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13 15:08:35 +01:00
Bruno Victal 3c40dfe285
doc: Use @defun for procedures.
* doc/guix.texi (Inferiors, Defining Packages, package Reference)
(origin Reference, Defining Package Variants, Writing Manifests)
(Build Utilities, Search Paths, The Store, Derivations, The Store Monad)
(G-Expressions, File Systems, Keyboard Layout, Base Services, X Window)
(Desktop Services, File-Sharing Services, Web Services, Virtualization Services)
(Version Control Services, Miscellaneous Services, Initial RAM Disk)
(Bootloader Configuration, Service Reference, Shepherd Services)
(Complex Configurations): Use @defun for procedures.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13 15:08:35 +01:00
Bruno Victal dbfaca42a0
doc: Fix incorrect @deffn usage for data types.
* doc/guix.texi (Web Services): Fix incorrect @deffn usage for data types.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13 15:08:35 +01:00
Bruno Victal eec5b16d70
doc: Fix incorrect @deffn usage for service-types.
* doc/guix.texi (Networking Services): Fix incorrect @deffn usage for service-types.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13 15:08:35 +01:00
Ludovic Courtès eee95b5a87
packages: 'package-input-rewriting/spec' ignores hidden packages.
The primary motivation is to support things like:

  guix build guix --with-input=guile=guile-next

without triggering a rebuild of (@@ (gnu packages commencement)
guile-final) and similar things.

It is also consistent with package name resolution on the command line:
a package that cannot be named cannot be replaced.

* guix/packages.scm (package-input-rewriting/spec)[rewrite]: When P is
hidden, return it as-is.
* tests/packages.scm ("package-input-rewriting/spec, hidden package"):
New test.
* doc/guix.texi (Defining Package Variants): Update.
(Package Transformation Options): Update '--with-input' example.
2023-03-13 15:08:33 +01:00
Bruno Victal 266a9f9d97
doc: %desktop-services: Fix incorrect description.
The Name Service Switch service is configured in operating-system.

* doc/guix.texi (Desktop Services): Fix incorrect description for %desktop-services.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13 15:08:32 +01:00
Sergey Trofimov d1edb26388
services: dns: Extend dnsmasq-configuration.
* gnu/service/dns.scm: (<dnsmasq-configuration>)[servers-file]: Add.
(<dnsmasq-configuration>)[tftp-secure?]: Fix typo in parameter name.
* doc/guix.texi: Document (<dnsmasq-configuration>)[servers-file].

Signed-off-by: Andrew Tropin <andrew@trop.in>
2023-03-13 17:06:19 +04:00
Ludovic Courtès f437b11180
doc: Add missing space after @deftp.
* doc/guix.texi (Samba Services): Add missing space before brace.
2023-03-10 17:40:50 +01:00
Hugo Buddelmeijer bc876cf08e
doc: Sending-a-Patch-Series: Fix URL.
* doc/contributing.texi (Sending a Patch Series): Fix URL for issue tracker.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10 14:49:58 +01:00
Bruno Victal 5627c73a9e
services: xorg: Deprecate 'screen-locker-service' procedure.
* doc/guix.texi (X Window): Replace 'screen-locker-service' with 'screen-locker-service-type'.
Document <screen-locker-configuration>.
* gnu/services/desktop.scm (desktop-services-for-system): Use screen-locker-service-type.
* gnu/services/xorg.scm: Export accessors for <screen-locker-configuration>.
(<screen-locker>): Rename to ...
(<screen-locker-configuration>): ... this.
(<screen-locker-configuration>)[empty?]: Rename to ...
(<screen-locker-configuration>)[allow-empty-password?]: ... this.
(screen-locker-pam-services): Update record name.
(screen-locker-setuid-programs): Update accessor name.
(screen-locker-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10 14:49:58 +01:00
Bruno Victal 17c80118fa
services: connman: Deprecate 'iwd?' field.
* gnu/services/networking.scm (<connman-configuration>)
[iwd?]: Use helper to warn deprecated field.
(connman-shepherd-service): Make iwd? a local variable independent from
the deprecated field.
* doc/guix.texi (Networking Setup): Remove mention of iwd? field.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10 14:49:57 +01:00
Bruno Victal 269871d18e
services: connman: Add 'shepherd-requirement' field.
* gnu/services/networking.scm (<connman-configuration>)
[shepherd-requirement]: New field.
(connman-shepherd-service): Honor it.
(connman-configuration-shepherd-requirement): Export accessor.
* doc/guix.texi (Networking Setup): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10 14:49:57 +01:00
Bruno Victal 1e1b3ec012
services: network-manager: Deprecate 'iwd?' field.
* gnu/services/networking.scm (warn-iwd?-field-deprecation): New procedure,
helper for deprecated field.
(<network-manager-configuration>)[iwd?]: Use helper to warn deprecated field.
(network-manager-shepherd-service): Make iwd? a local variable independent
from the deprecated field.
* doc/guix.texi (Networking Setup): Remove mention of iwd? field.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10 14:49:57 +01:00
Bruno Victal 7777d767a4
services: network-manager: Add 'shepherd-requirement' field.
Note: This also makes wpa-supplicant an optional requirement.

* gnu/services/networking.scm (<network-manager-configuration>)
[shepherd-requirement]: New field.
(network-manager-shepherd-service): Honor it.
(network-manager-configuration-shepherd-requirement): Export accessor.
* doc/guix.texi (Networking Setup): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10 14:49:57 +01:00
Ludovic Courtès 674d893316
home: services: Add 'pulseaudio-rtp-sink' and 'pulseaudio-rtp-source'.
* gnu/home/services/sound.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Sound Home Services): New section.
2023-03-05 23:06:55 +01:00
Leo Famulari da5ba28359
Fix bogus copyright year update.
This is a followup to commit a66438e497.

* doc/guix.texi: Ahem.
2023-03-05 15:07:17 -05:00
Leo Famulari a66438e497
doc: Give advice to contributors about communicating with reviewers.
* doc/contributing.texi (Submitting Patches): Give advice.
2023-03-05 14:58:56 -05:00
Christopher Baines 7df09ee0ab
Merge remote-tracking branch 'savannah/master' into core-updates
Conflicts:
	gnu/local.mk
	gnu/packages/autotools.scm
	gnu/packages/cmake.scm
	gnu/packages/gnuzilla.scm
	gnu/packages/haskell.scm
	gnu/packages/pdf.scm
	gnu/packages/python-xyz.scm
	gnu/packages/samba.scm
	gnu/packages/tex.scm
	gnu/packages/tls.scm
	gnu/packages/wxwidgets.scm
2023-03-02 10:55:08 +00:00
Ricardo Wurmus d7f9eb0e87
gnu: sugar-desktop-configuration: Allow specification of activities.
* gnu/services/desktop.scm (<sugar-desktop-configuration>): Add new fields for
activities and gobject-introspection.
(sugar-gobject-introspection, sugar-activities): New procedures.
(sugar-desktop-service-type): Install packages for activities and
gobject-introspection alongside the sugar package.
* doc/guix.texi (Desktop Services): Document changes.
2023-02-28 23:17:22 +01:00
Ricardo Wurmus 6118c1e228
services: Add sugar-desktop-service-type.
* gnu/services/desktop.scm (sugar-desktop-service-type): New variable.
(sugar-polkit-settings, sugar-desktop-configuration,
make-sugar-desktop-configuration, sugar-desktop-configuration?,
sugar-package): New procedures.
(<sugar-desktop-configuration>): New record.
* doc/guix.texi (Desktop Services): Document it.
2023-02-28 18:12:19 +01:00
Bruno Victal 2799ad4423
services: dbus: Deprecate 'dbus-service' procedure.
* doc/guix.texi (Desktop Services): Replace with 'dbus-root-service-type'.
Document dbus-configuration.
* gnu/services/dbus.scm (dbus-service): Define with 'define-deprecated'.
* gnu/services/desktop.scm (desktop-services-for-system): Replace with
dbus-root-service-type.
* gnu/system/install.scm (%installation-services): Ditto.
* gnu/tests/base.scm (%avahi-os): Ditto.
* gnu/tests/docker.scm (%docker-os): Ditto.
* gnu/tests/lightdm.scm (minimal-desktop-services): Ditto.
* gnu/tests/virtualization.scm (%libvirt-os): Ditto.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:35 +01:00
Bruno Victal 7c23dab85c
services: spice: Deprecate 'spice-vdagent-service' procedure.
* doc/guix.texi (Miscellaneous Services): Replace 'spice-vdagent-service' with
'spice-vdagent-service-type'. Document <spice-vdagent-configuration>.
* gnu/services/spice.scm (spice-vdagent-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:35 +01:00
Bruno Victal e24555234a
services: lirc: Deprecate 'lirc-service' procedure.
* doc/guix.texi (Miscellaneous Services): Replace 'lirc-service' with 'lirc-service-type'.
Document <lirc-configuration>.
* gnu/services/lirc.scm (<lirc-configuration>): Set default values based on
the arguments from the now deprecated 'lirc-service' procedure.
(lirc-service-type): Set default value.
(lirc-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal eddd9b1240
services: vpn: Deprecate 'openvpn-client-service' & 'openvpn-server-service' procedures.
* doc/guix.texi (VPN Services): Replace 'openvpn-client-service' & 'openvpn-server-service' procedures
with their service-type counterparts.
* gnu/services/vpn.scm (openvpn-client-service, openvpn-server-service): Deprecate procedure.
(openvpn-server-service-type, openvpn-client-service-type): Set default value.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal c6cbce9ad8
services: mail: Deprecate 'dovecot-service' procedure.
* doc/guix.texi (Mail Services): Replace 'dovecot-service' with 'dovecot-service-type'.
* gnu/services/mail.scm (dovecot-service-type): Set default value.
(dovecot-service): Deprecate procedure.
* gnu/tests/mail.scm (%dovecot-os): Use dovecot-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal be1435d668
services: desktop: Deprecate 'bluetooth-service' procedure.
* doc/guix.texi (Desktop Services): Remove mention of 'bluetooth-service'.
* gnu/services/desktop.scm (bluetooth-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal ae0975332c
services: desktop: Deprecate 'geoclue-service' procedure.
* doc/guix.texi (Desktop Services): Replace 'geoclue-service' with 'geoclue-service-type'.
* gnu/services/desktop.scm (<geoclue-configuration>): Set default values
based on the values from the now deprecated geoclue-service procedure.
(geoclue-service): Deprecate procedure.
(desktop-services-for-system): Use geoclue-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal e8f161ea11
services: desktop: Deprecate 'udisks-service' procedure.
* doc/guix.texi (Desktop Services): Replace 'udisks-service' with 'udisks-service-type'.
Document <udisks-configuration>.
* gnu/packages/kde-multimedia.scm (k3b)[description]: Replace 'udisks-service' with 'udisks-service-type'.
* gnu/services/desktop.scm (udisks-service-type): Set default value.
(udisks-service): Deprecate procedure.
(desktop-services-for-system): Use udisks-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal ffc5d42fc2
services: dbus: Deprecate 'polkit-service' procedure.
* doc/guix.texi (Desktop Services): Replace 'polkit-service' with 'polkit-service-type'.
* gnu/services/dbus.scm (polkit-service): Deprecate procedure.
* gnu/tests/docker.scm (%docker-os): Use polkit-service-type.
* gnu/tests/virtualization.scm (%libvirt-os): Ditto.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal c3dc13e29c
services: desktop: Deprecate 'accountsservice-service' procedure.
* doc/guix.texi (Desktop Services): Replace 'accountsservice-service'
with 'accountsservice-service-type'.
* gnu/services/desktop.scm (accountsservice-service): Deprecate procedure.
(desktop-services-for-system): Use accountsservice-service-type.
* gnu/tests/lightdm.scm (minimal-desktop-services): Ditto.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:33 +01:00
Bruno Victal 00767d967d
services: desktop: Deprecate 'elogind-service' procedure.
* doc/guix.texi (Desktop Services): Replace 'elogind-service' with
'elogind-service-type'.
* gnu/services/desktop.scm (elogind-service): Deprecate procedure.
(desktop-services-for-system): Use elogind-service-type.
* gnu/tests/lightdm.scm (minimal-desktop-services): Ditto.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:33 +01:00
Bruno Victal 3b2e88011a
services: ssh: Deprecate 'dropbear-service' procedure.
* doc/guix.texi (Networking Services): Replace 'dropbear-service' with
'dropbear-service-type'.
* gnu/services/ssh.scm (dropbear-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:33 +01:00
Bruno Victal 0e21015fd2
services: ssh: Deprecate 'lsh-service' procedure.
* doc/guix.texi (Networking Services): Remove mention of lsh-service.
Document lsh-service-type and lsh-service-configuration.
* gnu/services/ssh.scm (<lsh-configuration>): Set default values based
on the now deprecated 'lsh-service' procedure.
(lsh-service-type): Set default value.
(lsh-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:33 +01:00
Bruno Victal 31b1e22926
services: base: Deprecate 'rngd-service' procedure.
* doc/guix.texi (Base Services): Replace rngd-service with rngd-service-type.
Document <rngd-configuration>.
* gnu/services/base.scm (<rngd-configuration>): Set default values from
the values in the now deprecated 'rngd-service' procedure.
(rngd-service): Deprecate procedure.
(rngd-service-type): Set default value.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:33 +01:00
Bruno Victal 2e7516168e
services: base: Deprecate 'udev-service' procedure.
* doc/guix.texi (Base Services): Replace udev-service with udev-service-type.
Document <udev-configuration>. Use @defun @-commands for udev-rules-service,
udev-rule and file->udev-rule.
* gnu/services/base.scm (udev-service): Deprecate procedure.
* gnu/system/install.scm (%installation-services): Use udev-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal 6edacf2491
services: base: Deprecate 'syslog-service' procedure.
* doc/guix.texi (Base Services): Replace syslog-service with syslog-service-type.
* gnu/services/base.scm (%default-syslog.conf): Place before <syslog-configuration>.
(syslog-service-type): Set default value.
(syslog-service): Deprecate procedure.
(%base-services): Use syslog-service-type.
* gnu/system/hurd.scm (%base-services/hurd): Ditto.
* gnu/system/install.scm (%installation-services): Ditto.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal 98e9dc6ab7
services: base: Deprecate 'nscd-service' procedure.
* doc/guix.texi (Application Setup): Compress @cindex entries.
(Base Services): Compress @cindex entries. Delete %nscd-default-configuration.
Replace 'nscd-service' with 'nscd-service-type'.
* gnu/services/base.scm (%nscd-default-configuration): Deprecate variable.
(nscd-service): Deprecate procedure.
* gnu/system/install.scm (%installation-services): Use nscd-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal 5bd5e77281
doc: kmscon-service-type: Use @defvar @-command.
* doc/guix.texi (Base Services): Use @defvar @-command for kmscon-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal 4892c0186e
services: base: Deprecate 'agetty-service' procedure.
* doc/guix.texi (Base Services): Replace agetty-service with
agetty-service-type.
* gnu/services/base.scm (agetty-service): Deprecate procedure.
* gnu/system/examples/beaglebone-black.tmpl
(operating-system)[services]: Use agetty-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal ad665a38fc
services: base: Deprecate 'mingetty-service' procedure.
* doc/guix.texi (Base Services): Replace mingetty-service with
mingetty-service-type.
* gnu/services/base.scm (mingetty-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal 6dd635b4cf
services: base: Deprecate 'login-service' procedure.
* doc/guix.texi (Base Services): Replace with login-service-type.
* gnu/services/base.scm (login-service): Deprecate procedure.
* gnu/system/install.scm (%installation-services): Use login-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal cb00e600ff
services: base: Deprecate 'host-name-service' procedure.
* doc/guix.texi (operating-system Reference): Reorder cross-reference.
Add an anchor to be used ...
(Base services): ... here by host-name-service-type. Document
host-name-service-type.
* gnu/services/base.scm: Export host-name-service-type.
(host-name-service): Deprecate procedure.
* gnu/system.scm (operating-system-default-essential-services): Use
host-name-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:31 +01:00
André Batista c756c62cfd
doc: Explain how to use local guix repositories.
* doc/guix.texi (Using a Custom Guix Channel): Add note and example
on how to exempt a local guix repository from git ownership checks.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-02-23 16:35:15 -05:00
Ludovic Courtès 810788b550
doc: Further clarify documentation of 'host' and 'hosts-service-type'.
* doc/guix.texi (Base Services): Use docstring of 'host' to document
it and remove @deftp.  Introduce example.  Fix typos in file name.
2023-02-23 16:31:36 +01:00
Ludovic Courtès 35e64a8793
services: hosts: Do not export '%host'.
This was not meant to be exported.

* gnu/services/base.scm (%host): Do not export.
* doc/guix.texi (Base Services): Remove mention.
2023-02-23 16:31:36 +01:00
Bruno Victal 4372abfb0f
doc: hosts-service-type: Improve documentation.
* doc/guix.texi (Base Services): Improve hosts-service-type documentation.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-02-23 16:31:36 +01:00
Bruno Victal ce02b23bb9
doc: hosts-service-type: Relocate to Base Services.
hosts-service-type is under (gnu services base)

* doc/guix.texi: Merge duplicated copyright lines.
(Service Reference): Move hosts-service-type to ...
(Base Services): ... here.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-02-23 16:31:36 +01:00
Maxim Cournoyer 598f4c509b
pack: Add RPM format.
* guix/rpm.scm: New file.
* guix/scripts/pack.scm (rpm-archive): New procedure.
(%formats): Register it.
(show-formats): Add it.
(guix-pack): Register supported extra-options for the rpm format.
* tests/pack.scm (rpm-for-tests): New variable.
("rpm archive can be installed/uninstalled"): New test.
* tests/rpm.scm: New test.
* doc/guix.texi (Invoking guix pack): Document it.
2023-02-19 21:13:23 -05:00
Pierre Langlois dbd4d2d070
build-system: Add tree-sitter-build-system.
* guix/build-system/tree-sitter.scm: New module.
* guix/build/tree-sitter-build-system.scm: Likewise.
* Makefile.am (MODULES): Add them.
* doc/guix.texi: Document it.

Signed-off-by: Andrew Tropin <andrew@trop.in>
2023-02-12 11:32:20 +04:00
Remco van 't Veer fe554337de
doc: Fix documentation typo.
* doc/guix.texi (Service Reference): Fix typo.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2023-02-11 13:07:05 +01:00
Bruno Victal 8a2c2eaa90
services: lightdm: Sync documentation with source.
Table entry @item nodes cannot span multiple lines.

* gnu/services/lightdm.scm
(lightdm-gtk-greeter-configuration): Fix cursor-theme-size description.
* doc/guix.texi (lightdm-service-type): Sync with source.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-02-08 22:40:40 -05:00
Bruno Victal b0e18601db
services: Add block-facebook-hosts-service-type.
Deprecates %facebook-host-aliases in favour of using
hosts-service-type service extensions.

* gnu/services/networking.scm
(block-facebook-hosts-service-type): New variable.
(%facebook-host-aliases): Deprecate variable.
* doc/guix.texi: Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-02-09 01:07:54 +01:00
Bruno Victal 802ea1f3a4
system: Deprecate hosts-file.
* gnu/system.scm (operating-system-hosts-file): Deprecate procedure.
(warn-hosts-file-field-deprecation): New procedure, helper for
deprecated variable.
(operating-system)[hosts-file]: Use helper to warn deprecated field.
(local-host-aliases): Mark as deprecated.
(local-host-entries): New procedure.
(operating-system-default-essential-services,
hurd-default-essential-services): Use hosts-service-type.  Use
'%operating-system-hosts-file' and 'local-host-entries'.
(default-/etc/hosts): Remove procedure.
(operating-system-etc-service): Remove hosts file.
* doc/guix.texi (operating-system Reference)
(Networking Services) (Virtualization Services): Rewrite documentation
entries to use hosts-service-type.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-02-09 01:07:47 +01:00
Bruno Victal 22dd558c70
services: Add hosts-service-type.
* gnu/services/base.scm (<host>): New record type.
(host): New procedure.
(hosts-service-type): New variable.
* doc/guix.texi (Service Reference): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-02-09 01:07:39 +01:00
Bruno Victal 139c9a53cb
services: Add mympd-service-type.
* gnu/services/audio.scm (mympd-service-type): New variable.
* gnu/tests/audio.scm (%test-mympd): New variable.
* doc/guix.texi: Document it.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-02-05 06:56:44 +01:00
Bruno Victal 637a9c3b26
services: mpd: Do not hardcode environment variables.
Services should not expect for XDG_RUNTIME_DIR to be set.
Inferring from the past comment, this seemed to resolve an issue when
the service was launched with an _interactive_ user-account,
which tends to have this variable set by the login-manager.

This is not the case for system accounts and setting this variable
results in PulseAudio (launched by the same system user) failing to start
since it attempts to use a nonexistent directory.

Ideally, this service should have a home-service counterpart but the old
behavior can be emulated by setting the environment-variables field to:

(environment-variables
  (list
    (string-append "XDG_RUNTIME_DIR=/run/user/"
                   (number->string (passwd:uid (getpwnam "myuser"))))))

* gnu/services/audio.scm
(mpd-configuration)[environment-variables]: New field.
(mpd-shepherd-service)[start]: Use new field.
* doc/guix.texi (Audio Services)[Music Player Daemon]: Document it.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-02-05 06:56:43 +01:00
Bruno Victal 5c5f0fc113
services: mpd: Refactor MPD service.
Refactor mpd-service-type to support additional mpd.conf directives
and move activation-service-extension into service constructor.

* gnu/services/audio.scm (mpd-plugin, mpd-partition): New records.

(mpd-serialize-boolean): Alias to and integrate logic into...
(mpd-serialize-field): ... this.
(mpd-serialize-list-of-string): New variable.

(mpd-plugin?, mpd-partition?, list-of-string?, list-of-symbol?)
(list-of-mpd-plugin?, list-of-mpd-partition?)
(list-of-mpd-plugin-or-output?, port?): New variables.

(mpd-file-name, mpd-service-activation): Remove variables.

(mpd-configuration)
[package, group, shepherd-requirement, log-file, log-level, music-directory]
[playlist-directory, endpoints, database, partitions, neighbors, inputs]
[archive-plugins, input-cache-size, decoders, resampler, filters]
[playlist-plugins, extra-options]: New fields.
[music-dir, playlist-dir, address]: Deprecate shorthand fields.
[db-file, state-file, sticker-file, port, outputs]: Change admissible type.

(mpd-shepherd-service)
[actions]: New shepherd actions: 'reopen' and 'configuration'.
[requirement]: Splice with 'shepherd-requirement' field.
[start]: Use 'package' field. Remove #:log-file parameter.
Move activation-service extension into constructor.

(mpd-accounts): Honor user and group names from configuration.
(mpd-log-rotation): New procedure.
(mpd-service-type)[extensions]: Add rottlog-service-type extension.
Remove activation-service-type extension.

(mpd-output-name, mpd-output-type, mpd-output-enabled?, mpd-output-format)
(mpd-output-tags?, mpd-output-always-on?, mpd-output-mixer-type)
(mpd-output-replay-gain-handler, mpd-output-extra-options)
(mpd-plugin-plugin, mpd-plugin-name, mpd-plugin-enabled?)
(mpd-plugin-extra-options)
(mpd-partition-name, mpd-partition-extra-options)
(mpd-configuration-package, mpd-configuration-user)
(mpd-configuration-group, mpd-configuration-shepherd-requirement)
(mpd-configuration-log-file, mpd-configuration-log-level)
(mpd-configuration-music-directory, mpd-configuration-music-dir)
(mpd-configuration-playlist-directory, mpd-configuration-playlist-dir)
(mpd-configuration-db-file, mpd-configuration-state-file)
(mpd-configuration-sticker-file, mpd-configuration-default-port)
(mpd-configuration-endpoints, mpd-configuration-address)
(mpd-configuration-database, mpd-configuration-partitions)
(mpd-configuration-neighbors, mpd-configuration-inputs)
(mpd-configuration-archive-plugins, mpd-configuration-input-cache-size)
(mpd-configuration-decoders, mpd-configuration-resampler)
(mpd-configuration-filters, mpd-configuration-outputs)
(mpd-configuration-playlist-plugins, mpd-configuration-extra-options): Export accessors.

* doc/guix.texi (Audio Services)[Music Player Daemon]: Update documentation.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-02-05 06:56:43 +01:00
Christopher Baines 9a5533c653
services: nar-herder: Add cached compression support.
* gnu/services/guix.scm (<nar-herder-cached-compression-configuration>): New
record type.
(nar-herder-configuration-cached-compressions,
nar-herder-configuration-cached-compression-min-uses,
nar-herder-configuration-cached-compression-workers,
nar-herder-configuration-cached-compression-nar-source,
nar-herder-cached-compression-configuration,
nar-herder-cached-compression-configuration?,
nar-herder-cached-compression-configuration-type,
nar-herder-cached-compression-configuration-level,
nar-herder-cached-compression-configuration-directory,
nar-herder-cached-compression-configuration-directory-max-size): New
procedures.
* doc/guix.texi (Guix Services): Document this.
2023-02-03 15:18:44 +01:00
Giacomo Leidi f85865a05a
home: services: fontutils: Add service value.
* gnu/home/services/fontutils.scm (add-fontconfig-config-file): Add
support for multiple paths;
(home-fontconfig-service-type): Honor it;
* doc/guix.texi (Fonts Services): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-01-31 23:08:38 +01:00
Efraim Flashner 4cf1acc7f3
Merge remote-tracking branch 'origin/master' into core-updates
Conflicts:
	doc/guix.texi
	gnu/local.mk
	gnu/packages/admin.scm
	gnu/packages/base.scm
	gnu/packages/chromium.scm
	gnu/packages/compression.scm
	gnu/packages/databases.scm
	gnu/packages/diffoscope.scm
	gnu/packages/freedesktop.scm
	gnu/packages/gnome.scm
	gnu/packages/gnupg.scm
	gnu/packages/guile.scm
	gnu/packages/inkscape.scm
	gnu/packages/llvm.scm
	gnu/packages/openldap.scm
	gnu/packages/pciutils.scm
	gnu/packages/ruby.scm
	gnu/packages/samba.scm
	gnu/packages/sqlite.scm
	gnu/packages/statistics.scm
	gnu/packages/syndication.scm
	gnu/packages/tex.scm
	gnu/packages/tls.scm
	gnu/packages/version-control.scm
	gnu/packages/xml.scm
	guix/build-system/copy.scm
	guix/scripts/home.scm
2023-01-30 12:39:40 +02:00
Bruno Victal f912d5c740
doc: Substitute @deffn usage with @defvar for Scheme variables.
* doc/guix.texi (Base Services) (Networking Setup)
(Networking Services) (Printing Services) (Desktop Services)
(Sound Services) (Database Services) (Mail Services) (Messaging Services)
(File-Sharing Services) (Web Services) (DNS Services)
(Power Management Services) (Virtualization Services) (Linux Services)
(Miscellaneous Services): Substitute @deffn usage with @defvar for Scheme variables.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-01-23 23:51:33 +01:00
Bruno Victal f88e855f9f
doc: Use @defvar instead of @defvr for Scheme variables.
* doc/guix.texi (Build Systems) (Search Paths) (The Store)
(The Store Monad) (File Systems) (Mapped Devices) (User Accounts)
(Locales) (Base Services) (Scheduled Job Execution) (Log Rotation)
(Networking Setup) (Networking Services) (Unattended Upgrades)
(X Window) (Desktop Services) (Database Services) (Messaging Services)
(Kerberos Services) (Web Services) (Certificate Services) (VPN Services)
(Network File System) (Samba Services) (Power Management Services)
(Audio Services) (Virtualization Services) (Linux Services) (Hurd Services)
(Miscellaneous Services) (Setuid Programs) (Name Service Switch)
(Initial RAM Disk) (Service Reference) (Shepherd Services)
(Essential Home Services) (Mcron Home Service)
(Power Management Home Services) (Shepherd Home Service) (Secure Shell)
(Desktop Home Services) (Guix Home Services) (Supported Platforms)
(Instantiate an Image) (image-type Reference): Use @defvar instead of @defvr for Scheme variables.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-01-23 23:51:02 +01:00
Bruno Victal d2454e91b3
doc: Fix incorrect use of @defvar.
* doc/guix.texi (Monitoring Services) (VNC Services)
(Samba Services) (Game Services) (PAM Mount Service)
(Guix Services): Fix incorrect use of @defvar.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-01-23 23:49:45 +01:00
Ludovic Courtès 5aef6a55a2
doc: Document the 'release-monitoring-url' package property.
* doc/guix.texi (Invoking guix refresh): Mention the
'release-monitoring-url' property.
2023-01-23 23:23:08 +01:00
Ludovic Courtès 6ffeef92e6
services: hpcguix-web: Provide default values.
* gnu/services/web.scm (<hpcguix-web-configuration>)[specs]: Default to #f.
(hpcguix-web-shepherd-service): Do not pass '--config' when SPECS is #f.
(hpcguix-web-service-type)[default-value]: New field.
* doc/guix.texi (Web Services): Adjust accordingly.
2023-01-22 18:12:09 +01:00
Ludovic Courtès e1dbac04c3
gnu: hpcguix-web: Update to 0.3.0.
* gnu/packages/web.scm (hpcguix-web): Update to 0.3.0.
[inputs]: Add GUILE-SYNTAX-HIGHLIGHT.
[arguments]: In 'wrap-program' phase, take guile-syntax-highlight into
account.
* gnu/tests/web.scm (%hpcguix-web-specs): Remove 'define'.
* doc/guix.texi (Web Services): Adjust accordingly.
2023-01-22 18:12:09 +01:00
Maxim Cournoyer 2491a60404
doc: Fix Xvnc service example.
Reported by bost on #guix (thank you!)

* doc/guix.texi (VNC Services): Add the missing host argument in the SSH
command example.
2023-01-20 12:32:34 -05:00
Maxim Cournoyer 8221cb6d2a
doc: Fix typo.
* doc/guix.texi (Cross-Compilation): Replace "penaly" with "penalty".
Replace "few users" with "fewer users".
2023-01-18 21:40:07 -05:00
Ludovic Courtès 79b11cafcf
doc: Use the right cross-reference command.
* doc/guix.texi (Package Transformation Options): Use @pxref, not @ref.
2023-01-17 16:05:20 +01:00
Declan Tsien 0f20fc4dd9
services: connman: Add iwd backend support.
* gnu/services/networking.scm (connman-configuration)[iwd?]: New field.
(connman-shepherd-service): Add iwd? logic, remove wpa-supplicant requirement.
* doc/guix.texi: Add information about connman-configuration iwd? option.

Co-authored-by: Andrew Tropin <andrew@trop.in>
Signed-off-by: Andrew Tropin <andrew@trop.in>
2023-01-16 20:59:30 +04:00
Maxim Cournoyer a472aa1bb0
doc: Fix erroneous copyright line.
* doc/guix.texi: Fix copyright line for Antero Mejr.
2023-01-16 09:02:40 -05:00
Antero Mejr 93e683a952
scripts: repl: Add -i, --interactive flag.
* guix/scripts/repl.scm (%options): Add -i, --interactive flag.
(guix-repl): Honor -i, --interactive flag.
* doc/guix.texi (Invoking guix repl): Add documentation for -i, --interactive.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-01-16 09:00:03 -05:00
Antero Mejr abd9569571
scripts: repl: Add --list-types flag.
* guix/scripts/repl.scm (%options): Add --list-types.
* doc/guix.texi (Invoking guix repl): Add documentation for --list-types.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-01-16 08:50:05 -05:00
Ludovic Courtès 137b91f03b
transformations: Add '--with-version'.
This is a followup to 8aeccc6240.

* guix/transformations.scm (package-with-upstream-version): New procedure.
(transform-package-latest)[package-with-latest-upstream]: Remove.
Use 'package-with-upstream-version' instead.
(transform-package-version): New procedure.
(%transformations, %transformation-options)
(show-transformation-options-help/detailed): Add '-with-version'.
* tests/transformations.scm ("options->transformation, with-version"):
New test.
* doc/guix.texi (Package Transformation Options): Document '--with-version'.
(Defining Package Variants): Mention it.
2023-01-16 13:41:27 +01:00
Jelle Licht a5b914156e
services: greetd: Add 'source-profile?' configuration field.
* gnu/services/base.scm (<greetd-terminal-configuration>)[source-profile?]:
New field.
(make-greetd-terminal-configuration-file): Serialize new field to
configuration file.
* doc/guix.texi (Base Services): Document it.
2023-01-15 20:30:12 +01:00
David Thompson 202ac747e6
gnu: services: Add joycond-service.
* gnu/services/games.scm (joycond-configuration): New configuration type.
(joycond-shepherd-service): New procedure.
(joycond-service-type): New variable.
* doc/guix.texi (Game Services): Document it.
2023-01-14 07:53:21 -05:00
Leo Famulari 9aa3b6eb6d
doc: Clarify how to use the #:go key of go-build-system.
This is a followup to commit 9ec62d1b9c.

* doc/guix.texi (Build Systems): Clarify the '#:go' key.
2023-01-11 20:20:05 -05:00
Leo Famulari 9ec62d1b9c
doc: Document the #:go key of the Go build system.
* doc/guix.texi (Build Systems): Document '#:go'.
2023-01-11 20:17:37 -05:00
( 09cd488c97
doc: contributing: Note '-v REVISION' bug in 'git send-email'.
* doc/contributing.texi ("Submitting Patches")["Sending a Patch Series"]:
Note that a bug in 'git send-email' means '-v REVISION' (with a
space) will not work.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2023-01-11 10:31:58 +00:00
Christopher Baines 9aa2b74198
doc: contributing: Tweak the Commit Policy.
Add more examples of when it can be appropriate to push changes without
review, as I think this can be appropriate in the case of trivial changes (as
mentioned before), but also non-trivial fixes.

No longer suggest pushing simple new packages or package upgrades (that don't
cause lots of rebuilds) without sending to guix-patches. Now there's some
automation for testing changes sent to guix-patches, sending changes there
before pushing can mean that more rigorous testing takes place and help speed
up substitutes becoming available. This is true, even if no human review takes
place.

Only suggest waiting one week for review for simpler changes, wait two weeks
for more significant changes.

Also, reorder some of the information in this section so it's grouped together
better.

* doc/contributing.texi (Commit Policy): Tweak.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2023-01-11 10:31:55 +00:00
jgart 65d24b9a24
doc: Fix documentation typo.
* doc/guix.texi (VNC Services): Fix typo.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-01-10 11:12:11 -05:00
Giacomo Leidi 5f63811032
services: unattended-upgrade: Add 'operating-system-expression' field.
* gnu/services/admin.scm (<unattended-upgrade-configuration>)
[operating-system-expression]: New field.
(unattended-upgrade-mcron-jobs): Honor it.
* doc/guix.texi (Unattended Upgrades): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-01-10 11:49:14 +01:00
Bruno Victal 22e9b01bda
services: git-daemon: Deprecate 'git-daemon-service' procedure.
* gnu/services/version-control.scm
(git-daemon-service): Define with 'define-deprecated'
* doc/guix.texi (Version Control Services): Replace with
'git-daemon-service-type'

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-01-10 11:49:13 +01:00
Tobias Geerinckx-Rice e4673b45d3
doc: Fix <openntpd-configuration> openntpd default.
* doc/guix.texi (Networking Services): <openntpd-configuration>'s
openntpd field takes a package: it does not default to a FILE-APPEND
call.
2023-01-08 01:00:01 +01:00
Ludovic Courtès 47c1de22df
doc: cookbook: Add "Installing Guix on a Cluster" chapter.
This is derived from the article at
<https://hpc.guix.info/blog/2017/11/installing-guix-on-a-cluster/>, with
clarifications and updates.

* doc/guix-cookbook.texi (Installing Guix on a Cluster): New chapter.
2023-01-09 17:40:53 +01:00
Mathieu Othacehe 8b314efd50
services: base: Add environment support to guix-configuration.
* gnu/services/base.scm (<guix-configuration>)[extra-env]: New field.
(guix-shepherd-service): Honor it.
* doc/guix.texi (Base Services): Document it.
2023-01-09 17:15:28 +01:00
Mathieu Othacehe 699d104146
Revert "services: base: Add extra-env support to guix-configuration."
This reverts commit 78a9b4f996. It was pushed by
error, while not reviewed yet.
2023-01-07 20:14:24 +01:00
Mathieu Othacehe 78a9b4f996
services: base: Add extra-env support to guix-configuration.
* gnu/services/base.scm (<guix-configuration>)[extra-env]: New field.
(guix-shepherd-service): Honor it.
* doc/guix.texi (Base Services): Document it.
2023-01-07 19:41:51 +01:00
Ludovic Courtès efb0f8950f
doc: cookbook: Remove 404 link to mitpress.mit.edu.
* doc/guix-cookbook.texi (A Scheme Crash Course): Remove 404 link to
mitpress.mit.edu.
2023-01-06 23:46:31 +01:00
Ivan Vilata-i-Balaguer c9b383fb38
doc: Introduce using swap space for hibernation, with examples.
* doc/guix.texi (Swap Space): Add a concise introduction to hibernation and
specifying a swap space to the kernel to make resume work.  Mention space
requirements and the need of an offset for swap files.  Include a trivial
example on how to set up a mapped swap volume for hibernation and another one
for a swap file, including how to compute the file offset.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-01-05 23:02:45 +01:00
Ludovic Courtès 73684dc90e
home: services: environment-variables: Add support for literal strings.
* gnu/home/services.scm (<literal-string>): New record type.
(environment-variable-shell-definitions): Split 'shell-quote' into
'quote-string' and 'shell-double-quote'.  Add 'shell-single-quote'.
Add clause for 'literal-string' records.
* tests/guix-home.sh: Test it.
* doc/guix.texi (Essential Home Services): Document it.
2023-01-05 14:20:23 +01:00
Bruno Victal ec365d1959
doc: Fix broken link for go-build-system.
* doc/guix.texi (Build Systems): Fix broken link for go-build-system.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-01-03 16:25:38 -05:00
Lars-Dominik Braun d57dd25d38
import/cran: Allow custom license prefix.
* guix/import/cran.scm (string-licenses): Add license-prefix argument.
(string->license): Ditto.
(description->package): Ditto.
(cran->guix-package): Ditto.
(cran-recursive-import): Ditto.
* guix/scripts/import/cran.scm (%options): Add new option -p/--license-prefix.
(show-help): Document it.
(parse-options): Pass it to importer.
* doc/guix.texi (Invoking guix import): Document it.
2022-12-31 14:48:46 +01:00
Karl Hallsby de781de2e9
doc: Give example of when to use describe in .guix-channel file.
* doc/guix.texi (Package Modules in a Sub-directory): Mention "guix deploy"
files as an example.

Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
2022-12-29 20:01:59 +01:00
Karl Hallsby d0d700526c
doc: Describe format of channel that uses directory field.
* doc/guix.texi (Package Modules in a Sub-directory): Explain that directory
must be the module root.
2022-12-29 20:01:59 +01:00
Marius Bakke fe14f88d56
doc: Update expired URL.
* doc/guix.texi (DNS Services): Update knot-resolver documentation link.
2022-12-28 00:38:40 +01:00
Hartmut Goebel 7c476873e0
doc: Describe how to update to a specific version.
* doc/guix.texi (Invoking guix refresh): Describe how to update to a specific
version.
2022-12-26 17:38:07 +01:00
Ivan Vilata i Balaguer 9369c1ccf4
gnu: services: Fix bluetooth-service docstring.
* gnu/services/desktop.scm (bluetooth-service): Sync docstring with info,
remove mention to group not really needed to access D-Bus service.
* doc/guix.texi (Desktop Services): Also remove mention to group here.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-12-26 00:48:05 +01:00
Timo Wilken 2967abf1a2
services: wireguard: Allow specifying pre-shared keys.
* gnu/services/vpn.scm (<wireguard-peer>)[preshared-key]: New field.
* doc/guix.texi (VPN Services): Document it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-12-25 16:56:48 +01:00
Tobias Geerinckx-Rice 9cadac9787
doc: Fix typo.
* doc/contributing.texi (Sending a Patch Series): Fix e-mail address of
<guix-patches@gnu.org>.

Reported by Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>.
2022-12-18 01:00:10 +01:00
Ricardo Wurmus 0a45d4bad4
doc: Wrap $localstatedir in Texinfo syntax.
* doc/guix.texi (Limitations): Use @file syntax.
2022-12-23 20:20:06 +01:00
Ricardo Wurmus 672c48f15d
doc: Suggest remounting store before relabeling the file system.
* doc/guix.texi (Installing the SELinux policy): Mention that the store may
need to be remounted before writing to it.
2022-12-23 20:20:06 +01:00
Bruno Victal 00f48860e9
services: opensmtpd: Add 'shepherd-requirement' field.
* gnu/services/mail.scm (<opensmtpd-configuration>)[shepherd-requirement]:
New field.
(opensmtpd-shepherd-service): Honor it.
* doc/guix.texi (Mail Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-12-20 16:56:04 +01:00
Ludovic Courtès 3f6c5c6f78
doc: Avoid 'match' on the <udev-configuration> record.
Fixes <https://issues.guix.gnu.org/59907>.
Reported by MANCINI Raffael <Raffael.MANCINI@mnhn.lu>.

* doc/guix.texi (Service Types and Services): Change
'udev-configuration' example to avoid 'match'.
2022-12-20 16:56:03 +01:00
Ludovic Courtès 12ca767702
Merge branch 'version-1.4.0' 2022-12-19 00:40:33 +01:00
Ludovic Courtès 553f46a094
doc: Tweak cross-ref Texinfo command.
* doc/guix.texi (Swap Space): Use @pxref instead of @xref at the end of
a sentence.
2022-12-18 23:02:59 +01:00
Ludovic Courtès 8e2f32cee9
doc: Update URLs for the manual and cookbook translations.
* doc/htmlxref.cnf: Update URLs for "guix" and "guix-cookbook".
2022-12-18 16:01:32 +01:00
Ludovic Courtès b77b4c7c3a
doc: Add guile-netlink to 'htmlxref.cnf'.
* doc/htmlxref.cnf: Add guile-netlink.
2022-12-18 15:53:43 +01:00
Ludovic Courtès 047ae5c345
doc: Use VM image file name consistently.
Previously, what "/tmp/qemu-image" refers to could be unclear at first.

* doc/guix.texi (Running Guix in a VM): Use the original image file
name instead of /tmp/qemu-image.
* po/doc/guix-manual.de.po, po/doc/guix-manual.es.po,
po/doc/guix-manual.fr.po, po/doc/guix-manual.pt_BR.po,
po/doc/guix-manual.ru.po, po/doc/guix-manual.zh_CN.po: Adjust
accordingly.
2022-12-15 00:15:36 +01:00
Bruno Victal 2cf16f2c31
doc: Fix formatting for 'computed-file'.
* doc/guix.texi (G-Expressions): Fix formatting for 'computed-file'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-12-14 15:09:49 +01:00
Ludovic Courtès 09b984b77d
doc: Verify the release with my own OpenPGP key.
* doc/guix.texi (OPENPGP-SIGNING-KEY-ID, OPENPGP-SIGNING-KEY-URL):
Switch to my key.
2022-12-14 09:50:38 +01:00
Marius Bakke 88908c6edc
services: ganeti: Add support for cluster hooks.
* gnu/services/ganeti.scm (<ganeti-configuration>): Add HOOKS.
(hooks->directory): Rename to ...
(debootstrap-hooks->directory): ... this, for clarity.
(debootstrap-configuration-compiler): Adjust accordingly.
(ganeti-directory): Add HOOKS when set.
(ganeti-etc-service): Pass HOOKS.
* doc/guix.texi (Virtualization Services): Mention it.
2022-12-17 17:08:50 +01:00
Ricardo Wurmus 82c511dd54
gnu: slapd-configuration: Update default for run-dir.
* gnu/services/ldap.scm (slapd-configuration): Update default value for
run-dir to match defaults of 389-ds-base package.
* doc/guix.texi: Update documentation.
2022-12-14 22:56:00 +01:00
Ricardo Wurmus c6f81ff7a6
gnu: Add directory-server-service-type.
* gnu/services/ldap.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (LDAP Services): Document it.
2022-12-14 20:55:04 +01:00
Bruno Victal dcfd97b42e
doc: Fix formatting for 'computed-file'.
* doc/guix.texi (G-Expressions): Fix formatting for 'computed-file'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-12-14 12:44:02 +01:00
Petr Hodina 22acc0b029
services: nix: Add more configuration fields.
* gnu/services/nix.scm (<nix-configuration>)[build-directory]: New field.
(nix-service-etc, nix-shepherd-service): Take them into account.
* doc/guix.texi (Nix): Update it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-12-13 17:46:39 +01:00
Ludovic Courtès 883aa80b45
doc: Recommend 'match-record'.
* doc/contributing.texi (Data Types and Pattern Matching): Recommend
'match-record'.
2022-12-08 13:21:35 +01:00
Ludovic Courtès cc6b88d00d
doc: Replace reference to Freenode.
* doc/guix.texi (Reduced Binary Seed Bootstrap): Libera.Chat, not
Freenode.
2022-12-08 13:07:45 +01:00
Marius Bakke 10251c4456
services: zabbix: Don't write user to configuration file.
The service already runs with the specified user and group, so there is no use
in writing it to the configuration files.  This change is mainly done for
compatibility with 'zabbix-agent2' which does not understand the User=
setting, but also to document the correct data type for the "group" setting.

* gnu/services/monitoring.scm (serialize-string): Filter USER and GROUP
fields.
(group?, serialize-group): Remove variables.
(zabbix-server-configuration, zabbix-agent-configuration): Document the GROUP
field as 'string'.
* doc/guix.texi (Monitoring Services): Adjust accordingly.
2022-12-07 20:08:36 +01:00
Florian Pelz 39f88ee29f
doc: cookbook: Fix commands in example.
Fixes <https://issues.guix.gnu.org/59463>.
Reported by Luca Cirrottola <luca.cirrottola@inria.fr>.

* doc/guix-cookbook.texi (Reproducible profiles): Make it work.
2022-11-27 19:00:01 +01:00
Ludovic Courtès cc9ee514e3
doc: Recommend 'match-record'.
* doc/contributing.texi (Data Types and Pattern Matching): Recommend
'match-record'.
2022-12-02 00:02:12 +01:00
Stefan a9acbf919a
gnu: bootloader: Rework chaining, add grub-efi-netboot-removable-bootloader.
This rework allows to use an (efi-bootloader-chain) like this, which is able
to boot over network or local storage, depending on whether the bootloader
target has support for symbolic links:

   (operating-system
    (bootloader
      (bootloader-configuration
        (bootloader
          (efi-bootloader-chain
            grub-efi-netboot-removable-bootloader
            #:packages (list my-firmware-package
                             my-u-boot-package)
            #:files (list (plain-file "config.txt"
                                      "kernel=u-boot.bin"))
            #:hooks my-special-bootloader-profile-manipulator))
        (targets '("/booti/efi"))
        …))
    …)

* doc/guix.texi (Bootloader Configuration): Describe the new
‘grub-efi-netboot-removable-bootloader’.  Mention the file names used and that
the UEFI Boot Manager is not modified.  Advise to disable write-access over
TFTP.
* gnu/bootloader.scm (efi-bootloader-profile): Allow a list of packages and
collect everything directly in the profile, avoiding a separate collection
directory.  Renamed the profile from "bootloader-profile" to
"efi-bootloader-profile".
[bootloader-collection]: Rename to...
[efi-bootloader-profile-hook]: ... this and remove unused modules.  Do not
create the now extraneous collection directory.
(efi-bootloader-chain): Add PACKAGES and DISK-IMAGE-INSTALLER arguments.
Remove handling of the collection directory, now only calling the given
installer procedure.
* gnu/bootloader/grub.scm (make-grub-efi-netboot-installer): New helper.
(make-grub-configuration): New helper based on (grub-configuration-file).  Add
a GRUB argument, fix indentation, remove previous code retrieving GRUB from
CONFIG.
(grub-configuration-file): Make use of make-grub-configuration.
(grub-efi-configuration-file): New procedure.
(grub-cfg): New variable to replace "/boot/grub/grub.cfg".
(install-grub-efi-netboot): Remove, splitting logic to...
(make-grub-efi-netboot-installer): ... this new helper procedure, as well as
to make-grub-efi-netboot, added below.
(grub-bootloader): Adjust to use the GRUB-CFG.
(grub-efi-bootloader): Likewise.  Removed inheritance and declare all fields
explicitly.
(make-grub-efi-netboot-bootloader): New procedure.
(grub-efi-netboot-bootloader): Use it.
(grub-efi-netboot-removable-bootloader): New variable.
* gnu/packages/bootloaders.scm (make-grub-efi-netboot): New procedure.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-12-01 14:31:28 -05:00
Andrew Tropin 0823fd1aa9
services: network-manager: Add iwd backend support.
* gnu/services/networking.scm (network-manager-configuration)[iwd?]: New
field.
(network-manager-shepherd-service): Add iwd to requirements if needed.
* doc/guix.texi: Add information about iwd? option.
2022-12-01 18:56:24 +04:00
Maxim Cournoyer 3e14e316a5
doc: Remove unimplemented 'herd rules udev'.
Since this text was added, the rules.d directory is now exposed
straightforwardly via the standard /etc/udev/rules.d directory, so there's no
need for a special 'rules' service action to print that directory.

* doc/guix.texi (Base Services): Remove the paragraph documenting the
nonexistent 'herd rules udev' command.
2022-11-29 14:52:36 -05:00
Maxim Cournoyer 3578fb1323
doc: Recommend avoiding execl, execle or execlp in mcron job specifications.
* doc/guix.texi (Scheduled Job Execution): Adjust the 'updatedb' example and
add a new tip.
2022-11-28 22:49:23 -05:00
Maxim Cournoyer d524ec6fb5
doc: Add a security keys section to the cookbook.
* doc/guix-cookbook.texi (Top): Register new menu.
(System Configuration): Likewise.
(Using security keys): New section.
2022-11-24 20:51:30 -05:00
Tobias Geerinckx-Rice 22d44f8776
doc: Note that ‘guix package’ accepts file names.
* doc/guix.texi (Package Management)[Invoking guix package]:
Mention support for operating on store file names.

Co-authored-by: Tobias Geerinckx-Rice <me@tobias.gr>
2022-11-20 01:00:00 +01:00
Ludovic Courtès d33ed58169
offload: Increase default 'overload-threshold' value.
When offloading to a single machine, the previous default value would
lead 'guix offload' to wait possibly for several minutes between
subsequent builds until normalized load would finally go below 0.6.
Increasing it mitigates that.

* guix/scripts/offload.scm (<build-machine>)[overload-threshold]: Bump
to 0.8.
* doc/guix.texi (Daemon Offload Setup): Likewise.
2022-11-23 19:34:42 +01:00
pelzflorian (Florian Pelz) b8d4c323f5
doc: Call out potential for security vulnerabilities in old software.
* doc/guix.texi (Invoking guix time-machine): Add a note.

Co-authored by: Simon Tournier <zimon.toutoune@gmail.com>
2022-11-22 15:36:25 +01:00
Vivien Kraus 9283c80e60
guix: modify-input: Recommend prepend instead of append.
* doc/guix.texi (Defining Package Variants): Document the "prepend" clause of
modify-inputs first.
* guix/packages.scm (modify-inputs): use "prepend" in the docstring.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-11-21 14:25:13 +00:00
Hilton Chain 6d1177b2c8
doc: Build more man pages.
* doc/local.mk (sub_commands_mans): Add guix-container.1, guix-copy.1,
guix-describe.1, guix-git.1, guix-graph.1, guix-home.1, guix-offload.1,
guix-pack.1, guix-processes.1, guix-repl.1, guix-shell.1, guix-style.1.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-11-19 19:54:14 +01:00
Ludovic Courtès 8d9647d8a7
services: Add Shepherd 'configuration' action to various services.
* gnu/services/avahi.scm (avahi-shepherd-service): Add 'actions' field.
* gnu/services/base.scm (nscd-actions): Add call to
'shepherd-configuration-action'.
* gnu/services/desktop.scm (upower-shepherd-service): Add 'actions'
field.
(elogind-shepherd-service): Likewise.
* gnu/services/dict.scm (dicod-shepherd-service): Likewise.
* gnu/services/networking.scm (openntpd-shepherd-service): Likewise.
(tor-shepherd-service): Likewise.
* gnu/services/ssh.scm (openssh-shepherd-service): Likewise.
* gnu/services/web.scm (nginx-shepherd-service): Likewise.
* gnu/services/xorg.scm (gdm-shepherd-service): Likewise.
* gnu/tests/base.scm (run-basic-test)["nscd configuration action"]: New
test.
* doc/guix.texi (Services): Document it.
2022-11-18 15:44:39 +01:00
Ludovic Courtès ebc7de6a1e
services: shepherd: Define 'shepherd-configuration-action' helper.
* gnu/services/shepherd.scm (shepherd-configuration-action): New
* doc/guix.texi (Shepherd Services): Document it.
2022-11-18 15:44:39 +01:00
Hilton Chain a6da50d60a
linux-initrd: raw-initrd: Add keyword argument #:pre-mount.
* gnu/system/linux-initrd.scm (raw-initrd): Add keyword argument #:pre-mount.
Document it.
* doc/guix.texi (initial RAM disk): Likewise.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-11-18 15:44:38 +01:00
Maxim Cournoyer 44554e7133
Revert "services: configuration: Revert to a working ‘guix home’."
This reverts commit 39e4e00f75, with fixes for
the guix home issues reported and another one found while reconfiguring berlin
in the subsequent commit.
2022-11-17 06:49:51 -05:00
Tobias Geerinckx-Rice 39e4e00f75
services: configuration: Revert to a working ‘guix home’.
This reverts commit 543d971ed2, and
its dependent commit 9b21cd2e9a, which
appear to have triggered a recent wave of ‘guix home’ regressions
involving (services (list (service home-bash-service-type))):

In gnu/home/services/shells.scm:
    504:7  3 (home-bash-extensions #<<home-bash-configuration> package: #<package bash@5.1.8 gnu/packages/ba…> …)
In unknown file:
           2 (append #<<location> file: "…" line: 14 column: 12> ())
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 append: Wrong type argument in position 1 (expecting empty list): #<<location> file: "…" line: 14 column: 12>

I should love to dive in & fix this rather than revert, but urgently
need sleep.
2022-11-13 01:00:00 +01:00
Maxim Cournoyer 9b21cd2e9a
services: mcron: Add log? and log-format fields to mcron-configuration.
* gnu/services/mcron.scm (list-of-gexps?): New predicate.
(mcron-configuration): Rewrite using define-configuration.
[log?, log-format]: New fields.
(mcron-shepherd-services): Invoke mcron with the --log and --log-format
arguments when log? is #t,
(generate-doc): New procedure.
* doc/guix.texi (Scheduled Job Execution): Update doc.
(Mcron Home Service): Likewise.
* gnu/home/services/mcron.scm: Keep in sync with the above changes to
gnu/services/mcron.scm.
2022-11-15 16:26:16 -05:00
Maxim Cournoyer b31ea797ed
guix: shell: Add '--symlink' option.
* guix/scripts/pack.scm (%options): Extract symlink parsing logic to...
(symlink-spec-option-parser): ... here.
(self-contained-tarball/builder): Add a comment mentioning why a relative file
name is used for the link target.
* guix/scripts/environment.scm (show-environment-options-help): Document new
--symlink option.
(%default-options): Add default value for symlinks.
(%options): Register new symlink option.
(launch-environment/container): Add #:symlinks argument and extend doc, and
create symlinks using evaluate-populate-directive.
(guix-environment*): Pass symlinks arguments to launch-environment/container.
* doc/guix.texi (Invoking guix shell): Document it.
* tests/guix-shell.sh: Add a --symlink (negative) test.
* tests/guix-environment-container.sh: Add tests.
2022-11-15 14:15:11 -05:00
Ludovic Courtès 5b555d639d
doc: Add missing closing parentheses in examples.
* doc/guix.texi (VNC Services, Guix Home Services): Add missing closing
parentheses.
2022-11-15 12:16:44 +01:00
pelzflorian (Florian Pelz) fd13259d85
doc: Link to the Git book instead of the git-scm.com homepage.
The Pro Git book, unlike the git-scm.com homepage, is translated to
many languages.  Therefore translators of the Guix Manual can point
to the appropriate translation now.

* doc/guix.texi (Invoking guix pull): Point to the Pro Git book's URL.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-11-15 12:16:44 +01:00
Ludovic Courtès 0be722a0b5
doc: Build pt_BR manual.
* doc/build.scm (%manual-languages): Add "pt_BR".
2022-11-15 12:16:44 +01:00
pelzflorian (Florian Pelz) 8162d207b1
doc: Refer to the pt_BR translation.
* doc/guix.texi (Top): Mention Brazilian Portuguese.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-11-15 12:16:44 +01:00
Ludovic Courtès 514fedbf39
installer: Report known-unsupported PCI devices.
* gnu/installer/hardware.scm: New file.
* gnu/local.mk (INSTALLER_MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* gnu/installer.scm (installer-steps): Pass #:pci-database to the
'welcome' step procedure.
* gnu/installer/newt.scm (welcome-page): Add #:pci-database and pass it
to 'run-welcome-page'.
* gnu/installer/newt/welcome.scm (check-hardware-support): Add #:pci-database.
Enumerate unsupported PCI devices and run an error page when unsupported
devices are found.
(run-welcome-page): Add #:pci-database and pass it to
'check-hardware-support' and to the recursive call.
* gnu/installer/record.scm (<installer>)[welcome-page]: Adjust comment.
* doc/guix.texi (Hardware Considerations): Mention it.
2022-11-15 12:16:43 +01:00
Alexey Abramov 73b3519568
services: gitolite: Add local-code configuration option.
* gnu/services/version-control.scm (gitolite-rc-file): Add local-code
field.
(gitolite-rc-file-compiler): Serialize the field.
* doc/guix.texi: Document it.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-11-07 20:29:14 +01:00
Efraim Flashner 97d565c786
guix gc: Add '--vacuum-database'.
* guix/scripts/gc.scm (show-help, %options): Add '--vacuum-database'.
* guix/store/database.scm (vacuum-database): New procedure.
* doc/guix.texi (Invoking guix gc): Document the option.
2022-11-06 14:02:08 +02:00
Ricardo Wurmus b43200e5b1
doc: cookbook: Add section on MPD with bluealsa.
* doc/guix-cookbook.texi (Music Server with Bluetooth Audio): New section
under System Configuration.
2022-11-06 00:35:56 +01:00
Ricardo Wurmus 769c5f563d
doc: cookbook: Update detailed menu for "System Configuration".
* doc/guix-cookbook.texi: Update menu.
2022-11-06 00:35:56 +01:00
Marius Bakke 706f25f24d
services: ganeti: OS variants can be a directory.
* gnu/services/ganeti.scm (<ganeti-os>)[extension]: Default to #f.
(ganeti-os->directory): Only add extension if set.  Support a file-like object
for VARIANTS.
* doc/guix.texi (Virtualization Services): Document this change and add
example.  Update Ganeti URLs while at it.
2022-11-03 20:00:30 +01:00
EuAndreh 7bb3644dd0
doc: Change example for special-files-service-type.
Also update the default value given in the docs. Change the example since the
base system includes /usr/bin/env by default.

* doc/guix.texi (Base Services): Change the example for
special-files-service-type and update default.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-11-03 17:32:34 +01:00
( 807bfe55dc
doc: contributing: Use proper subsections.
* doc/contributing.texi ("Submitting Patches")
["Sending a Patch Series", "Teams"]: Convert to numbered subsections.
Add nodes.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-11-01 13:53:59 +01:00
( 8fed831e2a
doc: contributing: Expand "Sending a Patch Series".
* doc/contributing.texi: Expand on sending patches and using
  git send-email.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-10-28 17:25:58 +02:00
Marius Bakke e944734ef9
build-system/pyproject: Always run tests verbosely for supported backends.
* guix/build-system/pyproject.scm (pyproject-build): Default to '() instead of
 #false for TEST-FLAGS.
* guix/build/pyproject-build-system.scm (check): Unconditionally enable
verbose test flags.
* doc/guix.texi (Build Systems): Document this change.
* gnu/packages/fontutils.scm (python-glyphslib)[arguments]: Remove verbosity
from #:test-flags.
* gnu/packages/pdf.scm (python-pydyf, weasyprint)[arguments]: Likewise.
* gnu/packages/python-web.scm (python-openapi-spec-validator)[arguments]: Likewise.
* gnu/packages/python-xyz.scm (python-path, python-tempora)[arguments]: Likewise.
2022-10-27 21:30:03 +02:00
Lars-Dominik Braun 400a7a4c80
build-system: Add pyproject-build-system.
This is an experimental build system based on python-build-system
that implements PEP 517-compliant builds.

* doc/guix.texi (Build Systems): Add pyproject-build-system section.
* doc/contributing.texi (Python Modules): Mention pyproject.toml and the
PYTHON-TOOLCHAIN package, as well as differences to python-build-system.
* guix/build-system/pyproject.scm,
guix/build/pyproject-build-system.scm,
gnu/packages/aux-files/python/sanity-check-next.py,
gnu/packages/python-commencement.scm: New files.
* Makefile.am (MODULES): Register the new build systems.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add python-commencement.scm.
* gnu/packages/python.scm (python-sans-pip, python-sans-pip-wrapper): New
variables.

Co-authored-by: Marius Bakke <marius@gnu.org>
2022-10-27 19:43:06 +02:00
David Thompson 966118da71
gnu: version-control: Add make-gitolite procedure.
* gnu/packages/version-control.scm (make-gitolite): New procedure.
(gitolite): Use make-gitolite.
* doc/guix.texi (Gitolite service): Document how to use make-gitolite.
2022-10-24 16:37:22 -04:00
Ludovic Courtès c077345539
file-systems: Support the 'no-diratime' mount flag.
* gnu/build/file-systems.scm (mount-flags->bit-mask): Handle 'no-diratime'.
* doc/guix.texi (File Systems): Document it.
2022-10-20 23:07:37 +02:00
Mathieu Othacehe 7ee77dc6df
services: wireguard: Add more configuration fields.
* gnu/services/vpn.scm (<wireguard-configuration>)[pre-up, post-up, pre-down,
post-down, table]: New fields.
(wireguard-configuration-file): Take them into account.
* doc/guix.texi (Wireguard): Update it.
2022-10-20 13:07:46 +02:00
Ludovic Courtès 7460b06a2d
doc: Mention Guile-GnuTLS in the requirements.
* doc/guix.texi (Requirements): Update.
2022-10-18 14:27:01 +02:00
Ludovic Courtès f36522416e
channels: Interpret the 'commit' field of channel as a tag or commit.
Previously the 'commit' field would always be interpreted as a commit
ID.  This change adds flexibility, allowing for things like:

  guix time-machine --commit=v1.2.0 -- describe

* guix/channels.scm (channel-reference): Use 'tag-or-commit' rather than 'commit'.
* guix/inferior.scm (channel-full-commit): Likewise.
* doc/guix.texi (Invoking guix pull): Document it.
(Invoking guix time-machine): Likewise.
2022-10-17 09:37:27 +02:00
Julien Lepiller 63bb79fa38
doc: Fix typos.
These typos were found and reported on weblate.

* doc/guix.texi: Fix typos.
2022-10-17 07:29:51 +02:00
zimoun 4cb5144df0
doc: Explain Emacs native-compilation.
* doc/guix.texi ("Application Setup")["Emacs Packages"]: Add a note
explaining that Emacs can compile packages to native code now.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-10-15 15:34:56 +02:00
Ricardo Wurmus 56915dc275
doc: Add chapter on containers to Cookbook.
* doc/guix-cookbook.texi (Containers): New chapter.
2022-10-13 17:42:05 +02:00
John Kehayias c7ba5f38b8
environment: Add '--emulate-fhs'.
* guix/scripts/environment.scm (show-environment-options-help, %options): Add
'--emulate-fhs'.
(setup-fhs): New procedure.  Setup for the Filesystem Hierarchy Standard (FHS)
container.  Defines and uses FHS-SYMLINKS and LINK-CONTENTS to create FHS
expected directories and creates /etc/ld.so.conf.
(launch-environment): Add 'emulate-fhs?' key and implement it to set $PATH and
generate /etc/ld.so.cache before calling COMMAND.
(launch-environment/container): Add 'emulate-fhs?' and 'setup-hook' keys and
implement them.  Define and use FHS-MAPPINGS, to set up additional bind mounts
in the container to follow FHS expectations.
(guix-environment*): Add glibc-for-fhs to the container packages when
'emulate-fhs?' key is in OPTS.
* doc/guix.texi (Invoking guix shell): Document '--emulate-fhs'.
(Invoking guix environment): Document '--emulate-fhs'.
* tests/guix-environment-container.sh: Add tests for '--emulate-fhs'.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-10-13 09:19:08 +02:00
( via Guix-patches via 4ab434958b
gnu: home: Add home-dbus-service-type.
* gnu/home/services/desktop.scm (home-dbus-service-type): New variable.
(home-dbus-configuration): New record type.
* doc/guix.texi: Document them.

Signed-off-by: Andrew Tropin <andrew@trop.in>
2022-10-13 09:05:46 +04:00
Maxim Cournoyer f78cfcd7d3
system: operating-system: Make the timezone field default to Etc/UTC.
* gnu/system.scm (<operating-system>) [timezone]: Default to "Etc/UTC".
2022-10-11 11:29:03 +00:00
( ba6ea435e2
gnu: base: Add greetd-wlgreet-sway-session.
* gnu/services/base.scm (greetd-wlgreet-session): New data type.
(greetd-wlgreet-sway-session): Likewise.
* doc/guix.texi ("Base Services")[greetd-service-type]: Document
  them.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-10-11 11:43:01 +01:00
Christopher Baines e83b9fe44e
services: guix: Include max-allocated-builds gbc agent option.
* gnu/services/guix.scm (guix-build-coordinator-agent-configuration-max-allocated-builds):
New procedure.
(guix-build-coordinator-agent-shepherd-services): Use max-allocated-builds.
* doc/guix.texi (Guix Build Coordinator): Document this new field.
2022-10-11 11:41:15 +01:00
Maxim Cournoyer 00e8430500
Revert "Revert "services: Add xvnc-service-type.""
This reverts commit 0c49661600.  The fix appears
in the subsequent commit, for clarity.
2022-10-07 15:07:48 -04:00
Maxim Cournoyer 0c49661600
Revert "services: Add xvnc-service-type."
This reverts commit 1c528a95cb.  This broke
'guix pull', for (yet) unknown reasons.
2022-10-07 12:53:22 -04:00
Maxim Cournoyer 1c528a95cb
services: Add xvnc-service-type.
* gnu/services/vnc.scm: New file.
* gnu/tests/vnc.scm: Likewise.
* gnu/local.mk: Register them.
2022-10-07 10:11:13 -04:00
Maxim Cournoyer aad4e4fc6b
services: xorg: Add auto-suspend? field to <gdm-configuration>.
* gnu/services/xorg.scm (<gdm-configuration>)
<auto-suspend?>: New field.
(gdm-dconf-profiles): New variable.
* gnu/services/xorg.scm (gdm-shepherd-service)
<environment-variables> [!auto-suspend?]: Specify DCONF_PROFILE.
(gdm-service-type): Extend DCONF-SERVICE-TYPE.
* doc/guix.texi (X Window): Document the new field.
2022-10-07 10:11:13 -04:00
Maxim Cournoyer 1936668f5b
services: gdm: Add a configuration field to enable XDMCP.
* gnu/services/xorg.scm (<gdm-configuration>)[xdmcp?]: New field.
* gnu/services/xorg.scm (gdm-configuration-file): Use it.  Use (ice-9 format)
to serialize boolean.
(gdm-polkit-rules): New variable.
(gdm-service-type): Use it to extend polkit.
* doc/guix.texi (X Window): Document it.
2022-10-07 10:11:11 -04:00
Maxim Cournoyer f9694a04ab
doc: Add git send-email tip in 'Submitting Patches' section.
* doc/contributing.texi (Submitting Patches): Add a tip detailing how to
prefix the subject line with the branch name the change should be installed
to.
2022-10-07 09:17:11 -04:00
Taiju HIGASHI 5b42b64ea8
doc: Fix missing package name.
* doc/guix.texi (Invoking guix import): Fix missing package name for gem
importer.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-10-06 15:08:04 +01:00
Ricardo Wurmus e351749c44
doc: Add terms to concept index for "guix style".
* doc/guix.texi (Invoking guix style): Add terms to concept index.
2022-10-06 12:22:49 +02:00
Ricardo Wurmus 6ede81b6a4
doc: Add concept index terms for "guix archive".
* doc/guix.texi (Invoking guix archive): Add terms to concept index.
2022-10-06 12:22:49 +02:00
Ricardo Wurmus b310c4f02a
doc: Add every command name to concept index.
* doc/guix.texi: Add an entry for each Guix command to the concept index.
2022-10-06 12:22:49 +02:00
Ricardo Wurmus 32ba74ab48
doc: Use @command instead of @code.
* doc/guix.texi: Use @command to refer to Guix commands.
2022-10-06 12:22:48 +02:00
Alexey Abramov 40ad967322
services: dhcp-client: Implement and use a configuration record.
* gnu/services/networking.scm (dhcp-client-configuration): New record
configuration.
(dhcp-client-shepherd-service): Implement a shepher service. Provide a
deprication message for legacy configurations.
(dhcp-client-service-type): Use dhcp-client-shepherd-service.
* doc/guix.texi (Networking Setup): Update.
* po/guix/POTFILES.in: Add 'gnu/services/networking.scm'.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-10-06 00:11:18 +02:00
( via Guix-patches via 7030f592c6
home: Add home-batsignal-service-type.
* gnu/home/services/pm.scm (home-batsignal-service-type): New variable.
(home-batsignal-configuration): New record type.
* doc/guix.texi: Document them.
* gnu/local.mk: Add gnu/home/services/pm.scm.
2022-10-04 17:04:45 +04:00
Andrew Tropin 224fd038f2
doc: Mention network mask in network-route.
* doc/guix.texi (Networking Setup): Mention network mask in network-route.
2022-10-04 16:51:22 +04:00
Maxim Cournoyer d573494387
doc: Mention sourcing system profile when chrooting.
* doc/guix.texi (Chrooting into an existing system): Add sourcing of system
profile along user profile.
2022-10-03 11:22:19 -04:00
Ludovic Courtès 3624f4358c
doc: Update the URL of ISC DHCP.
* doc/guix.texi (Networking Services): Update ISC DHCP URL.
2022-10-02 22:14:45 +02:00
Ludovic Courtès 28ade1bab2
transformations: '--with-source' now operates in depth.
The '--with-source' option is the first one that was implemented, and
it's the only one that would operate only on leaf packages rather than
traversing the dependency graph.  This change makes it consistent with
the rest of the transformation options.

* guix/transformations.scm (evaluate-source-replacement-specs): New
procedure.
(transform-package-source): Rewrite using it.
* tests/transformations.scm ("options->transformation, with-source, no
matches"): Rewrite since we no longer get a warning.
("options->transformation, with-source, in depth"): New test.
* doc/guix.texi (Package Transformation Options): Adjust examples.
2022-09-29 22:59:49 +02:00
Ludovic Courtès f63adbf6f9
doc: Tweak wsdd wording.
* doc/guix.texi (Samba Services)[Web Service Discovery Daemon]: Tweak
wording.
2022-09-28 22:58:10 +02:00
Ludovic Courtès 67cf25e6cd
doc: Fix syntax for 'wsdd-configuration'.
* doc/guix.texi (Samba Services): Fix syntax of 'wsdd-configuration'
data type definition.
2022-09-28 22:53:35 +02:00
Maxim Cournoyer b43ed95028
doc: Mention where one can learn more about the samba config file syntax.
* doc/guix.texi (Samba Services): Refer users to "man smb.conf" to learn more
about the Samba config file format.
2022-09-28 09:57:31 -04:00
Maxim Cournoyer f2d071c832
doc: Add a simple Samba share example.
* doc/guix.texi (Samba Services): Add a configuration example.
2022-09-28 09:57:31 -04:00
Maxim Cournoyer 13ed651870
doc: Clarify Samba Services configuration.
* doc/guix.texi (Samba Services): Explicit the fact that no daemons are
automatically run.  Remove the word "Manually", that suggested otherwise.
2022-09-28 09:57:30 -04:00
Maxim Cournoyer 990a4822f1
Merge branch 'staging' into core-updates
Conflicts resolved in:
	gnu/local.mk
	gnu/packages/cran.scm
	gnu/packages/gnome.scm
	gnu/packages/gtk.scm
	gnu/packages/icu4c.scm
	gnu/packages/java.scm
	gnu/packages/machine-learning.scm
	gnu/packages/tex.scm
2022-09-27 15:59:30 -04:00
Mathieu Othacehe e842aeb8c1
doc: Turn example to lisp.
* doc/guix.texi (System Images): Turn example snippets to lisp snippets.
2022-09-25 11:38:11 +02:00
Mathieu Othacehe 506e0aa438
doc: Remove an extra dot.
* doc/guix.texi (System Images): Remove it.
2022-09-25 11:35:09 +02:00
Mathieu Othacehe 2a66304535
etc: teams: Add scope support.
Add a scope list to each team.  This list defines all the files and
directories that are mentored by the team.

Also add a cc-members command that takes two Git revision strings as input,
add returns the members that should be CC'ed given the files impacted between
the two revisions.

* etc/teams.scm.in (<team>)[scope]: New field.
(team, list-teams): Adapt those procedures.
(find-team-by-scope, diff-revisions): New procedures.
(main): Add a "cc-members" command.
* doc/contributing.texi ("Teams"): Document it.
("Sending a Patch Series"): Adapt it.
2022-09-25 09:27:59 +02:00
Alex Griffin c8112f3bd9
system: images: Add wsl2 module.
* gnu/system/images/wsl2.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi ("System Images"): Document it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-09-24 14:49:09 +02:00
Alex Griffin 8757c3f293
system: image: Add tarball support.
* gnu/image.scm (<image>)[fields]: Add tarball to the supported formats.
* gnu/system/image.scm (tarball-image, tarball-image-type): New variables.
(system-tarball-image): New procedure.
(image->root-file-system): Add tarball image support.
(system-image): Ditto.
* doc/guix.texi ("System Images"): Document it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-09-24 14:49:09 +02:00
Mathieu Othacehe a13f5ead02
doc: Add a "System Images" chapter.
* doc/guix.texi ("System Images"): New chapter.
2022-09-24 14:49:09 +02:00
Mathieu Othacehe 61bf25bb4e
doc: Add a "Platforms" chapter.
* doc/guix.texi ("Platforms"): New chapter.
("Porting"): Link it.
2022-09-24 14:49:08 +02:00
Simon Streit e1ce100915
services: Add wsdd service.
* doc/guix.texi: Add documentation for wsdd service.
* gnu/services/samba.scm (<wsdd-configuration>): New record.
(wsdd-service-type): New variable.
(wsdd-shepherd-services): New procedure.
* gnu/tests/samba.scm (%wsdd-os): Add variable.
(run-wsdd-test): New procedure.
(%test-wsdd): New variable.

Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2022-09-24 09:41:24 +02:00
Simon Streit d68721c55a
services: Add samba service.
* gnu/services/samba.scm: New file.
* gnu/tests/samba.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add them.
* po/guix/POTFILES.in Add 'gnu/services/samba.scm'.
* doc/guix.texi: Document it.

Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2022-09-24 09:38:57 +02:00
Marius Bakke 80c76f5d8e
Merge branch 'staging' into core-updates 2022-09-18 16:30:21 +02:00
Taiju HIGASHI 5d22261db3
import: gem: Support importing a specific version of a gem.
* guix/import/gem.scm: (rubygems-fetch, gem->guix-package)
(gem-recursive-import): Fix to fetch the specified version of the gem.
* guix/scripts/import/gem.scm (show-help): Update the help message.
(guix-import-gem): Modify so the version number to be passed to subsequent
procedures.
* tests/gem.scm: Add tests.
* doc/guix.texi (Invoking guix import): Document.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-09-17 19:09:27 +02:00
Maxim Cournoyer 4920f6e634
Merge branch 'staging' into core-updates
Conflicts resolved in:
	gnu/local.mk
	gnu/packages/cmake.scm
	gnu/packages/glib.scm
	gnu/packages/gnome.scm
	gnu/packages/gtk.scm
	gnu/packages/sdl.scm

pango-next, vala-next and librsvg-bootstrap were removed in the process.
2022-09-15 11:43:21 -04:00
muradm 29d52a56f2
gnu: fail2ban-service-type: Improve extra-content fields.
* gnu/services/security.scm
(fail2ban-jail-configuration)[extra-content]: Change to text-config.
(fail2ban-configuration)[extra-content]: Change to text-config.
* gnu/doc/guix.texi: Update type of extra-content fields.

Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-09-14 11:29:11 -04:00
Marius Bakke 9ef33dce94
Merge branch 'staging' into core-updates 2022-09-09 23:04:13 +02:00
tiantian 52d780ea2b
gnu: bootloader: Extend `<menu-entry>' for chain-loader.
* gnu/bootloader.scm (<menu-entry>)[chain-loader]: New field.
(menu-entry->sexp, sexp->menu-entry): Support chain-loader.
* doc/guix.texi (Bootloader Configuration): Document it.

Co-Authored-By: Julien Lepiller <julien@lepiller.eu>
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2022-09-08 22:29:57 +02:00
Marius Bakke 884548b476
Merge branch 'staging' into core-updates 2022-09-08 21:12:52 +02:00
Ricardo Wurmus d18bddf5d7
doc: Fix typo.
* doc/guix.texi (Miscellaneous Services): Fix typo.
2022-09-07 20:08:23 +02:00
Ludovic Courtès 8c5065c6d1
services: nginx: Add 'shepherd-requirement' configuration field.
* gnu/services/web.scm (<nginx-configuration>)[shepherd-requirement]:
New field.
(nginx-shepherd-service): Honor it.
* doc/guix.texi (Web Services): Document it.
2022-09-06 16:58:12 +02:00
Andrew Tropin a278f632de
doc: Add more info about commits signature local verification.
* doc/contributing.texi (Commit Access): Add more info about commits signature
local verification.
2022-09-05 14:55:49 +03:00
Ludovic Courtès eedf71f948
services: upower: Default to a percentage-based policy.
This is the documented default of UPower 0.99.15 (the actual default
appears to be #f though).

* gnu/services/desktop.scm (<upower-configuration>)
[use-percentage-for-policy?]: Default to #t.
* doc/guix.texi (Desktop Services): Adjust accordingly.  Explain the
tradeoff.
2022-09-04 23:10:10 +02:00
Ludovic Courtès 4765242540
services: upower: Update default percentage values.
These values are those used by default by UPower 0.99.15.

* gnu/services/desktop.scm (<upower-configuration>)[percentage-low]
[percentage-critical]: Increase.
* doc/guix.texi (Desktop Services): Update accordingly.
2022-09-04 23:10:09 +02:00
Ludovic Courtès 5c444a0208
doc: Link to the "Scheme Crash Course".
* doc/guix.texi (Defining Packages): Add @quotation block linking to "A
Scheme Crash Course".
2022-09-02 18:16:51 +02:00
Marius Bakke 58863b93b0
Merge branch 'staging' into core-updates 2022-09-01 23:26:57 +02:00
Ludovic Courtès 98a8b48a69
doc: Suggest more RAM for "Running Guix in a VM".
Fixes <https://issues.guix.gnu.org/57474>.
Reported by Michael F. Lamb <mike@orbital.rodeo>.

Running 'guix pull' to target current revisions would lead to memory
exhaustion.  Bumping the memory size works around that.

* doc/guix.texi (Running Guix in a VM): Change "-m 1024" to "-m 2048".
2022-09-01 18:31:26 +02:00
muradm fa2d651475
gnu: fail2ban-service-type: Fix documentation typos.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-09-01 08:58:16 -04:00
Marius Bakke 59c136ef61
Merge branch 'staging' into core-updates 2022-08-30 20:18:55 +02:00
Nicolas Graves c4acaf4120
etc: Add tempel snippets.
* etc/snippets/tempel/scheme-mode: New file.
* etc/snippets/tempel/text-mode: New file.
* etc/snippets/scheme-mode: Moved from here...
* etc/snippets/yas/scheme-mode: ... to here.
* etc/snippets/text-mode: Moved from here...
* etc/snippets/yas/text-mode: ... to here.
* doc/contributing.texi ("The Perfect Setup"): Adjust yasnippet setup
accordingly.  Add tempel setup.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-08-30 11:50:14 +02:00
Thiago Jung Bauermann 65ce5fe2fb
guix system: Use standard cross and native build options.
This change prevents guix system from erroring out with an ugly backtrace
when it's passed an invalid value to the “--system” or “--target”
option. It also adds the “--list-systems” and “--list-targets” options.

The manual section about guix system doesn't mention the “--target” option,
so add it there.

* guix/scripts/system (show-help): Call show-cross-build-options-help and
show-native-build-options-help.
(%options): Remove own implementation of “system” and “target” options and
use the ones in %standard-cross-build-options and
%standard-native-build-options.
* doc/guix.texi (Invoking guix system): Document “--target” option.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-08-30 08:55:16 +02:00
Reza Alizadeh Majd f126f23b13
bootloader: Add device-tree-support? option.
In some specific cases where the device tree file is already loaded in RAM, it
can be preferable that the bootloader does not try to use a device tree from
the Linux kernel tree.

* gnu/bootloader.scm (<bootloader-configuration>)[device-tree-support?]: New field.
* gnu/bootloader/extlinux.scm (extlinux-configuration-file): Add FDTDIR line
based on <device-tree-support?> field of <bootloader-configuration>.
* doc/guix.texi (Bootloader Configuration)[device-tree-support?]: Add
documentation for the new field.
2022-08-30 08:50:44 +02:00
Maxim Cournoyer 0ea62e84a7
services: Add lightdm-service-type.
* gnu/services/lightdm.scm: New service.
* tests/services/lightdm.scm: Test it.
* doc/guix.texi (X Window): Document it.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register it.

Co-authored-by: L p R n d n <guix@lprndn.info>
Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
2022-08-28 22:28:47 -04:00
muradm 3c2d2b4538
gnu: security: Add fail2ban-service-type.
* gnu/services/security.scm: New module.
* gnu/tests/security.scm: New module.
* gnu/local.mk: Add new security module and tests.
* doc/guix.text: Add fail2ban-service-type documentation.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-08-28 21:46:30 -04:00
Marius Bakke ad384816fe
Merge branch 'staging' into core-updates 2022-08-27 17:10:55 +02:00
muradm cac3914dfc
gnu: greetd-service-type: Add supplementary groups to greeter.
* gnu/services/base.scm (<greetd-configuration>)
[greeter-supplementary-groups]: New field.
(%greetd-accounts): Rename to...
(greetd-accounts): ... this.  Convert to a function that takes a config
argument.  Use greeter-supplementary-groups.
(greetd-service-type): Adjust accordingly.
* gnu/tests/desktop.scm (%minimal-services): Add test for
greeter-supplementary-groups.
* doc/guix.texi ("Base Services")[greetd-service-type]: Document
greeter-supplementary-groups.
2022-08-26 18:50:33 +02:00
muradm d1815a68ea
gnu: seatd-service-type: Use seat group.
* gnu/services/desktop.scm (seatd-group-sanitizer): New variable.
(<seatd-configuration>)[user]: Removed field.
[group]: Changed to "seat".  Sanitize via seatd-group-sanitizer.
(seatd-accounts): New variable.
(seatd-environment): Adjust to <seatd-configuration> ABI.
(seatd-service-type)[extensions]: Add account-service-type with seatd-accounts.
* gnu/tests/desktop.scm (run-minimal-desktop-test): Check for correct
ownership of $SEATD_SOCK.
* doc/guix.texi ("Desktop Services")[seatd-service-type]: Mention that users
may need to become members of the "seat" group.
Update default value for group field.
Add explanation on seatd.sock file.
Remove dropped user field.
2022-08-26 18:48:37 +02:00
Maxim Cournoyer 98457ba47b
doc: Replace remaining 'unset mentions with %unset-value.
* doc/guix.texi (Networking Services): Replace 'unset with %unset-value.
(Power Management Services): Likewise.
(Complex Configurations): Likewise.
2022-08-25 00:10:57 -04:00
Maxim Cournoyer 1c803e63f9
services: configuration: Add a 'maybe-value-set?' procedure.
* gnu/services/configuration.scm (maybe-value-set?): New procedure.
* doc/guix.texi (Complex Configurations): Document it.  Remove comment showing
usage of 'maybe-string' with a default value, which doesn't make sense.

Co-authored-by: Attila Lendvai <attila@lendvai.name>
2022-08-24 22:34:45 -04:00
Julien Lepiller 92b25a09c4
doc: Fix typos.
* doc/guix.texi: Fix various typos found by translators.
2022-08-20 13:16:28 +02:00
Andrew Tropin b379b4f4a2
doc: Add files, xdg-configuration and symlink-manager home services.
* doc/guix.texi (Essential Home Services): Add files, xdg-configuration-files
and symlink-manager home services.
2022-08-19 18:55:43 +03:00
Tobias Geerinckx-Rice 6c2e14a43a
doc: Note the pitfalls of man 8 mount.
* doc/guix.texi (File Systems): Warn against flags presented as options.
2022-08-14 02:00:00 +02:00
Tobias Geerinckx-Rice 6983ded42b
doc: Remove extraneous ‘Note…’.
* doc/guix.texi (File Systems): Remove a ‘Note that’ & begin a new
paragraph.
2022-08-14 02:00:00 +02:00
Marius Bakke 77eb3008e3
Merge branch 'staging' into core-updates 2022-08-11 23:36:10 +02:00
Maxim Cournoyer 59ee837d8b
services: elogind: Fix default behavior for lid close.
Fixes <https://issues.guix.gnu.org/57052>, which was a behavior change
introduced inadvertently in 4c698cd512.

* gnu/services/desktop.scm (<elogind-configuration>)
[handle-lid-switch-external-power]: Default to *unspecified*, which serializes
to nothing.  This matches upstream behavior, meaning that even when plugged to
a power cord, a laptop will suspend when the lid is closed.
* doc/guix.texi (Desktop Services): Update doc.

Reported-by: Cairn <cairn@pm.me>
2022-08-10 00:33:30 -04:00
Oleg Pykhalov 4b49487838
gnu: system: file-systems: Add shared flag.
* gnu/build/file-systems.scm (mount-flags->bit-mask, mount-file-system):
Handle shared flag.
* gnu/system/file-systems.scm (invalid-file-system-flags): Add shared to known
flags.
* guix/build/syscalls.scm (MS_SHARED): New variable.
* doc/guix.texi (File Systems): Document shared flag.
2022-08-10 07:12:25 +03:00
Maxim Cournoyer 4b780d002d
doc: Fix name of gdm-configuration x-session field.
* doc/guix.texi (X Window): Correctly refer to 'x-session', not 'xsession', as
the name of the field.
2022-08-09 17:08:26 -04:00