me
/
guix
Archived
1
0
Fork 0
Commit Graph

2355 Commits (93b2ce1197d2dcda81b900a89545f8f6f00ac570)

Author SHA1 Message Date
Andrew Tropin 6b5ff71b99
home-services: Add Shepherd.
* gnu/home-services/shepherd.scm: New file.
* gnu/local.mk: Add this.
* doc/guix.texi: Add documentation about Shepherd Home Service.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2021-09-09 20:28:03 +03:00
Andrew Tropin aaffa43c17
doc: Add Guix Home documentation.
* doc/guix.texi: Add Guix Home documentation.
* doc/he-config-bare-bones.scm: New file.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2021-09-09 20:26:51 +03:00
Marius Bakke 16ef7b4938
transformations: Git tags and 'git describe' style IDs are used as version.
* guix/transformations.scm (commit->version-string): New procedure.  Use git
tags and 'git describe' style identifiers directly.
(transform-package-source-commit): Adjust accordingly.
* tests/transformations.scm
("options->transformation, with-commit, version transformation"): New test.
* doc/guix.texi (Package Transformation Options): Mention the 'git describe'
style.
2021-09-08 18:03:50 +02:00
Marius Bakke 1dc3825e99
git: 'resolve-reference' handles 'git describe'-style commit IDs.
* guix/git.scm (resolve-reference): Rewrite tag-or-commit case to recognize
'git describe' style identifiers and resolve them as commits.
* doc/guix.texi (origin Reference): Mention it.
2021-09-08 18:03:50 +02:00
pukkamustard f8f94cc544
guix: dune-build-system: Put dune into a reproducible release mode.
* guix/build/dune-build-system.scm (build,check): Replace the profile parameter
with the appropriate release flags.
* guix/build-system/dune.scm: Remove the profile parameter.
* doc/guix.texi: Remove paragraph on profile parameter.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2021-09-08 13:39:27 +02:00
Xinglu Chen af4fa7c00c
import: elpa: Support NonGNU ELPA.
* guix/import/elpa.scm (elpa-url): Add NonGNU ELPA URL.
* doc/guix.texi (Invoking guix import): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-09-07 15:59:34 +02:00
Julien Lepiller c60daa8e9d
gnu: version-control: Add gitile service.
* gnu/services/version-control.scm (gitile-service-type): New variable.
* doc/guix.texi (Version Control Services): Document it.
* gnu/tests/version-control.scm (%test-gitile): New variable.
2021-09-02 22:56:55 +02:00
Julien Lepiller cc16103861
gnu: gitolite: Add unsafe-pattern configuration option.
* gnu/services/version-control.scm (gitolite-rc-file): Add
unsafe-pattern field.
(gitolite-rc-file-compiler): Write it.
* doc/guix.texi (Version Control Services): Document it.
2021-09-02 22:56:44 +02:00
Maxime Devos cefaa0e607
doc: Correct name of Minetest importer.
* doc/guix.texi (Invoking guix import): Let the item name be
  'minetest' instead of 'contentdb'.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
2021-08-31 23:25:12 +02:00
Maxim Cournoyer 2ca982ff41
gnu: bootloader: Support multiple targets.
Fixes <https://issues.guix.gnu.org/40997>.

* gnu/bootloader.scm (<bootloader-configuration>): New 'targets' field.
(%bootloader-configuration-target): New procedure.
(bootloader-configuration-target): Add deprecation warning.
(bootloader-configuration-targets): New procedure.
* guix/scripts/system.scm (install): Access targets via
bootloader-configuration-targets.
(perform-action)[bootloader-target]: Remove unused argument and update doc.
Access targets via bootloader-configuration-targets and fix indentation.
(process-action): Access targets via bootloader-configuration-targets.
Do not provide the unused BOOTLOADER-TARGET argument when applying
`perform-action'.
* guix/scripts/system/reconfigure.scm (install-bootloader-program): Rename
DEVICE argument to DEVICES.  Adjust doc and comment.  Apply `installer' and
`disk-installer' for every DEVICES.
(install-bootloader): Access targets via bootloader-configuration-targets and
rename variable from DEVICE to DEVICES.
* gnu/tests/install.scm: Adjust accordingly.
* tests/guix-system.sh: Likewise.
* gnu/tests/reconfigure.scm (run-install-bootloader-test): Adjust the DEVICES
argument so that it is a list.
* doc/guix.texi: Update doc.
2021-08-29 01:05:26 -04:00
Sergei Trofimovich 79c07db3d5
doc: Work around po4a doc generation hangup.
Multiple people are affected by 'guix pull' hangup.
The reproducer is:

    $ po4a-translate -d -M UTF-8 -L UTF-8 -k 0 -f texinfo \
      -m "doc/guix.texi" -p "po/doc/guix-manual.de.po" -l "doc/guix.de.texi.tmp"

The regression is bisected down to commit fc29c80b9
("guix: opam: More flexibility in the importer").

The workaround is to avoid multiline @code{...} directive.

* doc/guix.texi: Avoid multiline @code{...} directive.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2021-08-21 14:00:01 +02:00
Alice BRENON fc29c80b96
guix: opam: More flexibility in the importer.
* guix/scripts/import/opam.scm: Pass all instances of --repo as a list
  to the importer.
* guix/import/opam.scm (opam-fetch): Stop expecting "expanded"
  repositories and call get-opam-repository instead to keep values
  "symbolic" as long as possible and factorize.
  (get-opam-repository): Use the same repository source as CLI opam does
  (i.e. HTTP-served index.tar.gz instead of git repositories).
  (find-latest-version): Be more flexible on the repositories structure
  instead of expecting packages/PACKAGE-NAME/PACKAGE-NAME.VERSION/.
* tests/opam.scm: Update the call to opam->guix-package since repo is
  now expected to be a list and remove the mocked get-opam-repository
  deprecated by the support for local folders by the actual
  implementation.
* doc/guix.texi: Document the new semantics and valid arguments for the
  --repo option.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2021-08-21 00:05:21 +02:00
pukkamustard 33a1ec29fa
guix: dune-build-system: Add a profile parameter.
* guix/build-system/dune.scm: Add a profile parameter.
* guix/build/dune-build-system.scm (build): Use it.
* doc/guix.texi: Document it.
* gnu/packages/ocaml.scm: Remove profile being set from build flags.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2021-08-20 23:51:11 +02:00
Maxime Devos 467e874a86
guix: Add ContentDB importer.
* guix/import/contentdb.scm: New file.
* guix/scripts/import/contentdb.scm: New file.
* tests/contentdb.scm: New file.
* Makefile.am (MODULES, SCM_TESTS): Register them.
* po/guix/POTFILES.in: Likewise.
* doc/guix.texi (Invoking guix import): Document it.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
2021-08-20 12:41:54 +02:00
Maxime Devos 3df485152c
build-system: Add 'minetest-mod-build-system'.
* guix/build-system/minetest.scm: New module.
* guix/build/minetest-build-system.scm: Likewise.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document 'minetest-mod-build-system'.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
2021-08-20 12:41:54 +02:00
Oleg Pykhalov b948ab8b56
services: slim: Add pam-gnupg support.
* gnu/system/pam.scm (unix-pam-service): Add account and session PAM entries
for pam-gnupg.  Don't pass "#f" to "allow-root?" argument, because "lambda*"
already does this by default.
* doc/guix.texi (X Window): Document this.
* gnu/services/xorg.scm (<slim-configuration>)[gnupg?]: New record field.
(slim-pam-service): Pass "#:gnupg?" argument to "unix-pam-service".
2021-08-17 01:10:25 +03:00
Mathieu Othacehe cfd2442488
services: cuirass: Reverse the no-publish logic.
This is a follow-up of d128c6fd33.

* gnu/services/cuirass.scm (<cuirass-remote-server-configuration>)
[no-publish?]: Rename it to ...
[publish?]: ... this new field.
(cuirass-shepherd-service): Adapt it.
* doc/guix.texi (Cuirass remote building): Document it.
2021-08-13 13:46:21 +02:00
Mathieu Othacehe 23b5b168ae
services: cuirass: Add a substitute-urls argument.
* gnu/services/cuirass.scm (<cuirass-remote-worker-configuration>): Add a
substitute-urls field.
(cuirass-remote-worker-shepherd-service): Honor it.
* doc/guix.texi (Cuirass remote building): Document it.
2021-08-12 14:31:54 +02:00
Mathieu Othacehe d128c6fd33
services: cuirass: Add a no-publish argument.
* gnu/services/cuirass.scm (<cuirass-remote-server-configuration>): Add a
no-publish? field.
(cuirass-shepherd-service): Honor it.
* doc/guix.texi (Cuirass remote building): Document it.
2021-08-12 12:59:55 +02:00
Maxim Cournoyer 392c7175ae
doc: Add a tip to better name mcron jobs.
* doc/guix.texi (Scheduled Job Execution): Specify the 'displayable' argument
for the 'updatedb-job' example.  Add a tip to better name jobs, referring to
the modified example.
2021-08-08 01:28:57 -04:00
Maxim Cournoyer e1ddcf75bf
doc: Fix typo.
* doc/guix.texi (Telephony Services): Remove the extraneous 'jami' argument
when invoking 'list-actions'.
2021-08-03 11:26:59 -04:00
Maxim Cournoyer 10f554700c
Reinstate "services: Add a service for Jami."
This reverts commit 4673f81793, which reverted
commit 69dcc24c9f with the fix detailed below.

Thanks to Christopher Baines for reporting the failure and proposing a fix.

* guix/self.scm (compiled-guix) [*system-test-modules*]: Add the test data
files via the 'extra-files' argument.
* gnu/local.mk (dist_patch_DATA): Move the tests/data/jami-dummy-account.dat
file to...
* gnu/local.mk (MODULES_NOT_COMPILED): ... here.
2021-08-02 17:23:30 -04:00
Maxim Cournoyer 4673f81793
Revert "services: Add a service for Jami."
This reverts commit 69dcc24c9f.  It broke 'guix
pull'.
2021-08-02 15:48:59 -04:00
Maxim Cournoyer 69dcc24c9f
services: Add a service for Jami.
* gnu/services/telephony.scm (string-or-computed-file?)
(string-list?, account-fingerprint-list?): New procedures.
(maybe-string-list, maybe-account-fingerprint-list)
(maybe-boolean, maybe-string, jami-account-list): New configuration field
types.
(serialize-string-list, serialize-boolean, serialize-string)
(jami-account, jami-account->alist, jami-configuration)
(jami-account-list?, jami-account-list-maybe): New procedures.
(%jami-accounts): New variable.
(jami-configuration->command-line-arguments): New procedure.
(jami-dbus-session-activation, jami-shepherd-services): New procedures.
(jami-service-type): New variable.
* gnu/build/jami-service.scm: New file.
* gnu/tests/data/jami-dummy-account.dat: Likewise.
* gnu/tests/telephony.scm: Likewise.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register them.
* Makefile.am (SCM_TESTS): Register the test file.
(dist_patch_DATA): Register the new data file.
* doc/guix.texi (Telephony Services): Document it.
2021-08-02 15:15:02 -04:00
Brice Waegeneire a85ec0bf69
services: Migrate to <setuid-program>.
* gnu/services/dbus.scm (dbus-setuid-programs, polkit-setuid-programs):
  Return setuid-programs.
* gnu/services/desktop.scm (enlightenment-setuid-programs): Return
 setuid-programs.
 (%desktop-services)[mount-setuid-helpers]: Use setuid-programs.
* gnu/services/docker.scm (singularity-setuid-programs): Return
 setuid-programs.
* gnu/services/xorg.scm(screen-locker-setuid-programs): Return
 setuid-programs.
* gnu/system.scm (%setuid-programs): Return setuid-programs.
* doc/guix.texi (Setuid Programs, operating-system Reference): Replace
  'list of G-expressions' with 'list of <setuid-program>'.
2021-07-29 11:32:48 -04:00
Chris Lemmer-Webber a7ac19851b
services: setuid: More configurable setuid support.
New record <setuid-program> with fields for setting the specific user
and group, as well as specifically selecting the setuid and setgid bits,
for a program within the setuid-program-service.

* gnu/services.scm (setuid-program-file-like-deprecated): New function.
  (setuid-program-service-type): Make use of
  setuid-program->activation-gexp.  Adjust the extend property to handle
  <setuid-program>.
* gnu/build/activation.scm (activate-setuid-programs): Update to expect a
  <setuid-record> list for each program entry.
* gnu/system.scm: (operating-system-setuid-programs): Renamed to
  %operating-system-setuid-programs and replace it with new procedure.
  (operating-system-default-essential-services,
  hurd-default-essential-services): Replace
  operating-system-setuid-programs with
  %operating-system-setuid-programs.
* gnu/system/setuid.scm: New file.
* doc/guix.texi (Setuid Programs): Document <setuid-program>.

Co-authored-by: Brice Waegeneire <brice@waegenei.re>
2021-07-29 11:32:08 -04:00
Maxim Cournoyer aeded14b83
pack: Allow embedding custom control files in deb packs.
* guix/scripts/pack.scm (self-contained-tarball/builder)
[extra-options]: New argument.
(self-contained-tarball, squashfs-image, docker-image)
(debian-archive): Likewise.  Remove two TODO comments.  Document
EXTRA-OPTIONS.  Use the custom control files when provided.
(%deb-format-options): New variable.
(show-deb-format-options, show-deb-format-options/detailed): New procedures.
(%options): Register new options.
(show-help): Augment with new usage.
(guix-pack): Validate and propagate new argument values.
* doc/guix.texi (Invoking guix pack)[deb]: Document how to list advanced
options.  Add an example.
* tests/pack.scm (deb archive...): Provide extra-options to the debian-archive
procedure, and validate that the provided files are embedded in the pack.
2021-07-18 02:02:34 -04:00
Brice Waegeneire 2aa65869ba
doc: Fix docker-configuration field names.
* doc/guix.texi (Docker): Correct filed names "docker" and "docker-cli".
2021-07-17 22:49:20 +02:00
Maxim Cournoyer 01d7e8c278
doc: Use Awk in one of the examples.
The output of the listing of available packages now contains a mix of tab and
space characters, so that its output is more pleasing to read.  This preserves
most simple uses of 'cut', but the added extra space padding can cause a
change in behavior in some scenarios.

* doc/guix.texi (Invoking guix build): Replace 'cut' by 'awk' in one of the
examples.
2021-07-15 16:12:04 -04:00
Mathieu Othacehe 74168d99bb
system: Provide mg instead of zile.
Since the update to the 2.6.2 release, the closure size of zile has
increased. Switch to mg which is lighter.

* gnu/system.scm (%base-packages-interactive): Replace zile by mg.
* doc/guix.texi (Proceeding with the Installation,
Using the Configuration System): Adapt those sections.
2021-07-09 12:08:12 +02:00
Efraim Flashner 49e2e75ced
gnu: %guile-3.0-static-stripped: Rename to %guile-static-stripped.
* gnu/packages/make-bootstrap.scm (%guile-3.0-static-stripped): Rename
to %guile-static-stripped.
(%guile-bootstrap-tarball): Adjust accordingly.
* gnu/system/linux-initrd.scm (expression->initrd): Use
%guile-static-stripped as default guile.
* doc/guix.texi (initial RAM disk)[expression->initrd]: Adjust
documentation accordingly.
2021-07-08 09:39:05 +03:00
Raghav Gururajan 02562e2f1e
services: Add bitmask-service-type.
* gnu/services/vpn.scm (bitmask-service-type): New variable.
* doc/guix.texi: Document it.

Co-authored-by: jgart <jgart@dismail.de>
2021-07-07 10:20:28 -04:00
Leo Prikler f17a52540f
doc: Fix broken reference in guix.texi.
This is a follow-up to c2ff06e5e4, in which
a link to the cookbook was added using a different name than the actual
section.

* doc/guix.texi (Using the Configuration System): Fix broken link to cookbook.
2021-07-07 11:19:34 +02:00
Joshua Branson c2ff06e5e4
doc: Add guide showing auto-login on a specific TTY to the cookbook.
This is a follow-up to the discussion in <https://bugs.gnu.org/48974>.

* doc/guix-cookbook.texi (System Configuration): Add a brief guide that
explains auto login a user to one TTY.

* doc/guix.texi (System Services): Add an texinfo anchor, so that the cookbook
entry "Auto Login a User to a Specific TTY" can refer back to the precise
point that the GNU Guix Reference manual.  Also add a reference to the
cookbook that shows how to auto login a specific user to one TTY.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
2021-07-07 11:13:38 +02:00
Ludovic Courtès a2b22cae4f
doc: Fix typo.
* doc/guix.texi (Build Systems): Fix typo.
2021-07-04 23:00:36 +02:00
Hartmut Goebel 364db4fdf6
doc: Add a note and warning regarding the usage of deb packs.
* doc/guix.texi (Invoking guix pack): Move to the end of the table, and add a
note and warning regarding the usage of deb packs.
2021-06-30 14:43:36 -04:00
Maxime Devos d9e0ae07db
guix: gexp: Define gexp->approximate-sexp.
It will be used in the 'optional-tests' linter.

* guix/gexp.scm (gexp->approximate-sexp): New procedure.
* tests/gexp.scm
  ("no references", "unquoted gexp", "unquoted gexp (native)")
  ("spliced gexp", "unspliced gexp, approximated")
  ("unquoted gexp, approximated"): Test it.
* doc/gexp.scm ("G-Expressions"): Document it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-06-30 13:53:00 +02:00
Maxim Cournoyer 82daab4281
pack: Add support for the deb format.
* .dir-locals.el (scheme-mode)[gexp->derivation]: Define indentation rule.
* guix/scripts/pack.scm (debian-archive): New procedure.
(%formats): Register the new deb format.
(show-formats): Add it to the usage string.
* tests/pack.scm (%ar-bootstrap): New variable.
(deb archive with symlinks): New test.
* doc/guix.texi (Invoking guix pack): Document it.
* NEWS: Add news entry.
2021-06-29 14:53:21 -04:00
luhui fda0959a14
services: kmscon: Add keyboard-layout fields.
* gnu/services/base.scm (<kmscon-configuration>): Add keyboard-layout fields.
* doc/guix.texi (Base Services): Document them.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-06-29 19:01:25 +02:00
Domagoj Stolfa 66be80fabb
gnu: Add strongswan service.
* gnu/services/vpn.scm (<strongswan-configuration>): New record type.
(charon-plugins, strongswan-configuration-file)
(strongswan-shepherd-service, strongswan-service-type): New variables.
* doc/guix.tex (VPN Services): Document them all.
2021-06-25 00:39:32 +02:00
Raghav Gururajan 1bf1226a4f
services: certbot: Add option to use CSR file.
* gnu/services/certbot.scm (<certificate-configuration>): Add csr field.
(certbot-command): Modify.
* doc/guix.texi (Certificate Services): Document it.
2021-06-24 18:19:39 -04:00
Tobias Geerinckx-Rice 828ceee7db
services: cups: Remove obsolete KeepAliveTimeout directive.
461bd4e501

* gnu/services/cups.scm (<cups-configuration>): Remove keep-alive-timeout field.
* doc/guix.texi (Printing Services): Likewise.
2021-06-23 03:26:33 +02:00
Tobias Geerinckx-Rice e254287b0c
services: cups: Fix ‘files-config’ typo/left-over.
* gnu/services/cups.scm (<policy-configuration>): Substitute
<files-configuration> for <files-config> in documentation.
* doc/guix.texi (Printing Services): Likewise.
2021-06-23 03:01:48 +02:00
Brice Waegeneire ef3f38ea00
services: openssh: Replace 'without-password' by 'prohibit-password'.
For some time, OpenSSH's option 'PermitRootLogin' has deprecated the
ambiguous argument 'without-password' with 'prohibit-password'.

* doc/guix.texi (Network Services): Replace 'without-password by
'prohibit-password.
* gnu/machine/digital-ocean.scm (guix-infect): Change system
configuration to use 'prohibit-password.
* gnu/services/ssh.scm (openssh-configuration): Change comment to use
'prohibit-password.
(openssh-config-file): Add support for 'prohibit-password to
'permit-root-login'.  Warn about deprecated 'without-password usage.
* gnu/tests/ganeti.scm (%ganeti-os): Replace 'without-password by
'prohibit-password.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2021-06-20 16:44:08 +02:00
Nicolas Goaziou ffe50737b2
doc: Fix a typo.
* doc/guix.texi (Substitute Server Authorization): Fix typo.
2021-06-19 23:51:25 +02:00
Christopher Baines 4985a42724
Start enabling substitutes from bordeaux.guix.gnu.org.
In addition to substitutes from ci.guix.gnu.org.  There are more changes that
can be made in the future, but these changes seem like a good start.

* config-daemon.ac (guix_substitute_urls): Add https://bordeaux.guix.gnu.org.
* guix/scripts/substitute.scm (%default-substitute-urls): Add
http://bordeaux.guix.gnu.org.
* guix/store.scm (%default-substitute-urls): Add bordeaux.guix.gnu.org.
* doc/guix.texi: Adjust accordingly.
* doc/contributing.texi: Adjust accordingly.
2021-06-18 11:25:41 +01:00
Tobias Geerinckx-Rice 571dc36a69
doc: Update QEMU command line.
* doc/guix.texi (Invoking guix system): Substitute ‘-nic’ for the
obsolete ‘-net’.
2021-06-17 11:19:19 +02:00
Luis Felipe 0b5120fb03
doc: Fix reference to the bind package variable name.
* doc/guix.texi (Globally-Visible Packages): Change "bind" variable
name to the actual variable name, "isc-bind".

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-06-13 22:23:24 -04:00
Paul A. Patience 483f537081
doc, gnu, guix: Fix typos.
* doc/guix.texi: Fix various typos and reword a sentence.
* gnu/packages/cpp.scm (cpplint)[description]: Fix typo.
* gnu/packages/dns.scm (ldns): Fix typo in comment.
* gnu/packages/games.scm (yamagi-quake2): Fix typo in comment.
* gnu/packages/qt.scm (python-pyqtwebengine): Fix typo in comment.
* gnu/packages/rails.scm (ruby-autoprefixer-rails): Fix typo in comment.
* gnu/packages/syndication.scm (quiterss)[description]: Fix typo.
* gnu/packages/terminals.scm (kmscon): Fix typo in comment.
* gnu/packages/xml.scm (perl-xml-sax-base)[description]: Fix typo.
  (python-elementpath)[description]: Fix typo.
* guix/build/asdf-build-system.scm (output-translation): Fix typo in docstring.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-13 23:57:45 +02:00
Ludovic Courtès 6b752bd29a
doc: Update minimum Guile-Git version.
* doc/guix.texi (Requirements): Update Guile-Git version.
2021-06-08 09:07:36 +02:00
Xinglu Chen b8baebae6a
doc: Add reference for ‘git-version’ and ‘hg-version’.
* doc/contributing.texi (Version Numbers): Document ‘git-version’ and
  ‘hg-version’.
* doc/guix.texi (package Reference): Reference ‘Version Numbers’ section for
  version naming guidelines.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-06 23:12:17 +02:00
Eric Brown ecbfa20609
doc: Fix example iptables configuration.
* doc/guix.texi (Networking Services): Allow established and related incoming
connections in example iptables configuration.

Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2021-06-04 00:11:47 +05:30
Xinglu Chen bdc298ecee
import: Add CHICKEN egg importer.
* guix/import/egg.scm: New file.
* guix/scripts/import/egg.scm: New file.
* tests/egg.scm: New file.
* Makefile.am (MODULES, SCM_TESTS): Register them.
* po/guix/POTFILES.in: Likewise.
* guix/scripts/import.scm (importers): Add egg importer.
* doc/guix.texi (Invoking guix import, Invoking guix refresh): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-03 13:05:18 +02:00
Ludovic Courtès 82d8ab01f5
maint: Require Guile 3.0.
* configure.ac: Require Guile 3.0.
* doc/guix.texi (Requirements): Adjust accordingly.
* gnu/packages/package-management.scm (guile2.2-guix): Remove.
* guix/lint.scm (exception-with-kind-and-args?): Remove 'cond-expand'.
* guix/scripts/deploy.scm (deploy-machine*): Likewise.
* guix/store.scm (call-with-store): Likewise.
* guix/swh.scm (http-get*, http-post*): Likewise.
* guix/ui.scm (without-compiler-optimizations, guard*)
(call-with-error-handling): Likewise.
2021-06-01 23:26:07 +02:00
Brice Waegeneire 8a0dc5f1bf
tests: Fix loadable-kernel-modules-service tests.
* gnu/tests/linux-modules.scm
(run-loadable-kernel-modules-service-test): Actually load the modules
with kernel-module-loader-service-type.  Use a singleton service instead
of defining a custom one.
* doc/guix.texi (Service Reference): To give an example of
linux-loadable-module-service-type use a singleton instead of defining a
new service.
2021-05-31 21:57:26 +02:00
Maxim Cournoyer b9ac7d9aaa
doc: Add a note about networking requirements for SSH access to VMs.
Fixes <https://issues.guix.gnu.org/48739>.  It may seem silly, but when not
realizing this firsthand, it can be quite surprising and thus not obvious to
troubleshoot.  Thanks to Eric Brown for their insightful comments on the
tracker.

* doc/guix.texi (Running Guix in a VM): Add a note that networking support
must be available in the Guix System operating system declaration used for the
VM.
2021-05-30 23:33:36 -04:00
Brendan Tildesley 338f012d8b
doc: lxqt-desktop-service: Update lxqt homepage url.
* doc/guix.texi: Replace lxqt.github.io with lxqt-project.org.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-05-29 20:16:51 +02:00
Ludovic Courtès 22f95a09eb
doc: Spell out the implications of disabling substitutes.
Suggested by elb on #guix.

* doc/guix.texi (Binary Installation): Add note explaining the
implications of disabling substitutes.
2021-05-28 23:04:43 +02:00
Tobias Geerinckx-Rice c0087d3370
The #guix channel is hosted by Libera Chat.
* README (Contact): Update network name.
* ROADMAP: Likewise.
* doc/contributing.texi (Contributing): Likewise.
* doc/guix.texi (After System Installation): Likewise.
2021-05-20 01:58:04 +02:00
Ludovic Courtès 1ac137a365
doc: Fix references to the "geiser" package.
Reported by munksgaard on #guix.

* doc/guix.texi (Invoking guix pack): Replace "geiser" with
"emacs-geiser" in examples.
(Invoking guix refresh): Likewise.
2021-05-19 23:18:12 +02:00
Maxim Cournoyer fd449608eb
services: Add a service for opendht.
* gnu/services/networking.scm (maybe-number?, maybe-string?): New procedures.
(<opendht-configuration>): New configuration record.
(%opendht-accounts): New variable.
(opendht-configuration->command-line-arguments): New procedure.
(opendht-shepherd-service, opendht-service-type): New variables.
* doc/guix.texi (Networking Services): Document the new service.
2021-05-17 23:27:40 -04:00
Ludovic Courtès 938ffcbb05
publish: Add '--negative-ttl'.
* guix/scripts/publish.scm (show-help, %options): Add '--negative-ttl'.
(render-narinfo, render-narinfo/cached, make-request-handler): Add #:negative-ttl
and honor it.
(run-publish-server): Add #:narinfo-negative-ttl and honor it.
(guix-publish): Honor '--negative-ttl'.
* tests/publish.scm ("negative TTL", "no negative TTL"): New tests.
2021-05-16 23:28:11 +02:00
Maxim Cournoyer 55aa50834f
doc: Do not instruct to decompress the VM image.
Also replace the obsolete 'guix system vm-image' command mention by the 'guix
system image'.

* doc/guix.texi (Running Guix in a VM): Remove VM image decompression
instruction.
<guix system vm-image>: Replace by 'guix system image'.
2021-05-12 10:22:38 -04:00
Maxim Cournoyer b7cbca221f
Merge branch 'version-1.3.0' 2021-05-11 22:42:59 -04:00
raid5atemyhomework a3df382525
gnu: Allow services to install kernel-loadable modules.
* gnu/system.scm (operating-system-directory-base-entries): Remove code
to handle generation of "kernel" for linux-libre kernels.
(operating-system-default-essential-services): Instantiate
linux-builder-service-type.
(package-for-kernel): Move ...
* gnu/services.scm: ... to here.
(linux-builder-service-type): New variable.
(linux-builder-configuration): New type.
(linux-loadable-module-service-type): New variable.
* gnu/tests/linux-modules.scm (run-loadable-kernel-modules-test): Move
code to ...
(run-loadable-kernel-modules-test-base): ... new procedure here.
(run-loadable-kernel-modules-service-test): New procedure.
(%test-loadable-kernel-modules-service-0): New variable.
(%test-loadable-kernel-modules-service-1): New variable.
(%test-loadable-kernel-modules-service-2): New variable.
* doc/guix.texi: Document linux-loadable-module-service-type.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2021-05-11 16:13:48 +02:00
Alexey Abramov 0d6eb69266
services: dovecot: Add ‘managesieve-sieve-capability’ option.
* gnu/services/mail.scm (protocol-configuration): Add a
‘managesieve-sieve-capability’ field.
* doc/guix.texi (Mail Services): Document it.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2021-05-06 11:31:48 +02:00
Alexey Abramov 6e05920cef
services: dovecot: Add ‘managesieve-notify-capability’ option.
* gnu/services/mail.scm (protocol-configuration): Add a
‘managesieve-notify-capability’ field.
* doc/guix.texi (Mail Services): Document it.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2021-05-06 11:27:00 +02:00
Alexey Abramov 0fd5bdcaf6
services: dovecot: Add ‘imap-metadata?’ protocol configuration option.
* gnu/services/mail.scm (protocol-configuration): Add an ‘imap-metadata?’
setting to enable IMAP METADATA support in the ‘imap’ protocol.
* doc/guix.texi (Mail Services): Document it.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2021-05-06 11:08:52 +02:00
Alexey Abramov 5b5c50961f
services: dovecot: Add ‘mail-attribute-dict’ configuration option.
* gnu/services/mail.scm (dovecot-configuration): Define a
‘mail-attribute-dict’ directive for IMAP METADATA storage.
* doc/guix.texi (Mail Services): Document it.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2021-05-06 11:08:52 +02:00
Ludovic Courtès 1ca0a9a307
gnu: rasdaemon: Fix Texinfo syntax of description.
Regression introduced in 58805da44d.

* gnu/packages/linux.scm (rasdaemon)[description]: Avoid @acronym since
Guile's Texinfo module doesn't currently support @comma{}.
* doc/guix.texi (Linux Services): Use @comma{} within @acronym.
2021-05-05 23:42:57 +02:00
Maxim Cournoyer b1b41a23f4
build: Do not compress the (already compressed) VM qcow2 images.
The qcow2 format supports compression, and the qcow2 type supported by 'guix
system image' produces compressed qcow2 images.

* Makefile.am (release): Do not re-compress the qcow2 VM images with xz.
* doc/guix.texi (Running Guix in a VM): Adjust VM image URL.
2021-05-05 16:31:06 -04:00
Maxim Cournoyer c241b7ea63
Revert "doc: Update to cover for an additional OpenPGP signing key."
This reverts commit b9fb13b284.  Per discussions
simply updating OPENPGP-SIGNING-KEY-ID and OPENPGP-SIGNING-KEY-URL will be
enough.
2021-05-05 11:36:52 -04:00
Maxim Cournoyer ace6723946
doc: Update the OpenPGP key used to sign the release.
It was discussed on guix-devel that the manual only needs to have correct
instructions for the latest release.

* doc/guix.texi (OPENPGP-SIGNING-KEY-ID): Update to my public OpenPGP key.
(OPENPGP-SIGNING-KEY-URL): Adjust URL.
2021-05-05 11:26:26 -04:00
Maxim Cournoyer f40b0fa8e6
Revert "doc: Update to cover for an additional OpenPGP signing key."
This reverts commit b9fb13b284.  Per discussions
simply updating OPENPGP-SIGNING-KEY-ID and OPENPGP-SIGNING-KEY-URL will be
enough.
2021-05-05 11:25:24 -04:00
Tobias Geerinckx-Rice 58805da44d
doc: Fix typo and use @acronym for RAS.
* doc/guix.texi (Linux Services): Fix typo and use @acronym for RAS.
2021-05-04 22:48:34 +02:00
Maxim Cournoyer 0f583f60f8
doc: Update to cover for an additional OpenPGP signing key.
The upcoming 1.3.0 release will be signed with my OpenPGP key; subsequent
releases may also be.

* doc/guix.texi (OPENPGP-SIGNING-KEY-ID, OPENPGP-SIGNING-KEY-URL): Rename to...
(OPENPGP-SIGNING-KEY-ID-1, OPENPGP-SIGNING-KEY-URL-1): ... these,
respectively.
(OPENPGP-SIGNING-KEY-ID-2, OPENPGP-SIGNING-KEY-URL-2): New variables.
(Binary Installation): Adjust to cover for the new key.
(USB Stick and DVD Installation): Likewise.
(Invoking guix refresh): Adjust accordingly.
2021-05-03 23:14:13 -04:00
Ludovic Courtès 82c0f34c7e
maint: Do not xz-compress ISO images.
The xz-compressed image is 23% smaller than the original ISO image (with
built-in zlib compression), but the extra decompression step is
unconventional and often a hindrance for users.  See discussion at
<https://lists.gnu.org/archive/html/guix-devel/2021-04/msg00497.html>.

* Makefile.am (release): Do not compress ISO images.
* doc/guix.texi (USB Stick and DVD Installation): Remove ".xz" suffix
from URL and file name.
(Copying to a USB Stick, Burning on a DVD): Remove introductory words,
@enumerate, and first item.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-05-03 22:41:36 -04:00
Maxim Cournoyer b9fb13b284
doc: Update to cover for an additional OpenPGP signing key.
The upcoming 1.3.0 release will be signed with my OpenPGP key; subsequent
releases may also be.

* doc/guix.texi (OPENPGP-SIGNING-KEY-ID, OPENPGP-SIGNING-KEY-URL): Rename to...
(OPENPGP-SIGNING-KEY-ID-1, OPENPGP-SIGNING-KEY-URL-1): ... these,
respectively.
(OPENPGP-SIGNING-KEY-ID-2, OPENPGP-SIGNING-KEY-URL-2): New variables.
(Binary Installation): Adjust to cover for the new key.
(USB Stick and DVD Installation): Likewise.
(Invoking guix refresh): Adjust accordingly.
2021-05-03 20:37:55 -04:00
Maxim Cournoyer 10cf742cbc
doc: Update the URL of the system VM image.
This is a follow up to commit ebf5d77eab, which added the qcow2 file extension
to the VM image file name.

* doc/guix.texi (Running Guix in a VM): Update URL.
2021-05-03 09:49:53 -04:00
methuselah-0 3802bb0ba0
services: mysql: Add extra-environment as configuration option.
* gnu/services/databases.scm (mysql-configuration): Add extra-environment
(mysql-service): Use #:log-file and #:environment-variables
* doc/guix.texi: Document it.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
2021-04-27 20:45:35 +02:00
Maxim Cournoyer ef63a4fa3b
doc: Remove extraneous spaces from the net-options default value snippet.
Adapting the snippet corresponding to the default value of the net-options
field of the hurd-vm-configuration record shown in the manual would easily
lead to a broken childhurd service, due to the presence of extraneous spaces
in the option string.

* doc/guix.texi (Virtualization Services)[hurd-vm-configuration]
<net-options>: Use string-append to properly form the option string.
2021-04-26 23:43:06 -04:00
Julien Lepiller 1897a6efa7
doc: Document translation process.
doc/contributing.texi (Translating Guix): New section.
doc/guix.texi (Top): Add a reference to the new section.
2021-04-25 16:00:44 +02:00
Ludovic Courtès c59cc2383d
import: Remove Nix importer.
This importer has suffered from bitrot and no longer works with current
Nix and Nixpkgs.  See <https://bugs.gnu.org/32339> and
<https://bugs.gnu.org/36255>.

* guix/import/snix.scm, guix/scripts/import/nix.scm,
tests/snix.scm: Remove.
* Makefile.am (MODULES, SCM_TESTS): Remove them.
* guix/scripts/import.scm (importers): Remove "nix".
* build-aux/test-env.in: Remove NIXPKGS variable.
* configure.ac: Remove '--with-nixpkgs' option.
* doc/guix.texi (Invoking guix import): Remove bit about "guix import
nix".
* etc/completion/fish/guix.fish: Likewise.
2021-04-25 14:34:09 +02:00
B. Wilson 2c93df3d11
services: Add a service for rasdaemon.
* gnu/services/linux.scm (rasdaemon-configuration, rasdaemon-configuration?,
rasdaemon-configuration-record?, rasdaemon-service-type): New variables.
* doc/guix.texi (Linux Services): Document it.

Signed-off-by: Leo Famulari <leo@famulari.name>
2021-04-24 12:30:01 -04:00
Christopher Baines 311e4b005b
services: guix-build-coordinator: Fix queue builds default config.
Use the default client port rather than the default agent communication port
for the queue builds script.

* gnu/services/guix.scm (<guix-build-coordinator-queue-builds-configuration>):
Change coordinator default.
2021-04-23 15:05:38 +01:00
Christopher Baines e2ab6fb0dd
services: guix-build-coordinator: Add max-1min-load-average option.
To the agent configuration.

* gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): New
field, max-1min-load-average.
(guix-build-coordinator-agent-configuration-max-1min-load-average): New
procedure.
(guix-build-coordinator-agent-shepherd-services): If set, include the
max-1min-load-average in the agent arguments.
2021-04-23 11:03:23 +01:00
Guillaume Le Vaillant 3313f61e18
services: wireguard: Add keep-alive support.
* gnu/services/vpn.scm (<wireguard-peer>): Add 'keep-alive' field.
  (wireguard-configuration-file): Use it.
* doc/guix.texi (VPN Services): Document it.
2021-04-20 14:32:53 +02:00
Ludovic Courtès d95168321f
import: Remove Nix importer.
This importer has suffered from bitrot and no longer works with current
Nix and Nixpkgs.  See <https://bugs.gnu.org/32339> and
<https://bugs.gnu.org/36255>.

* guix/import/snix.scm, guix/scripts/import/nix.scm,
tests/snix.scm: Remove.
* Makefile.am (MODULES, SCM_TESTS): Remove them.
* guix/scripts/import.scm (importers): Remove "nix".
* build-aux/test-env.in: Remove NIXPKGS variable.
* configure.ac: Remove '--with-nixpkgs' option.
* doc/guix.texi (Invoking guix import): Remove bit about "guix import
nix".
* etc/completion/fish/guix.fish: Likewise.
2021-04-20 12:13:16 +02:00
Ludovic Courtès fab8ab7617
git: Honor proxy settings when fetching submodules.
Fixes <https://bugs.gnu.org/44593>.

* guix/git.scm (update-submodules): Add #:fetch-options and honor it.
(update-cached-checkout): Pass #:fetch-options to 'update-submodules'.
* doc/guix.texi (Requirements): Adjust comment about Guile-Git.
2021-04-14 22:51:38 +02:00
Leo Prikler 4dff6ecde8
Revert "services: mysql: Add extra-environment as configuration option."
This reverts commit f3626119d7.
This commit inadvertently broke a string freeze.  Let's be nice to our
translators and not do that.
2021-04-14 00:59:52 +02:00
methuselah-0 f3626119d7
services: mysql: Add extra-environment as configuration option.
* gnu/services/databases.scm (mysql-configuration): Add extra-environment
(mysql-service): Use #:log-file and #:environment-variables
* doc/guix.texi: Document it.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
2021-04-13 18:47:32 +02:00
Christopher Baines c311147bd1
services: postgresql: Change service default socket directory.
Fixes <https://bugs.gnu.org/46737>.

PostgreSQL running with a different socket directory to the default one in the
package itself breaks some services, this commit restores the previous
behaviour where PostgreSQL by default will run with a socket directory that
matches the default used by PostgreSQL packaged for Guix.

Switching to a different default value can happen, but only alongside changing
the PostgreSQL package.

* gnu/services/databases.scm (<postgresql-config-file>)[socket-directory]:
Change default to #false.
* doc/guix.texi (Database Services): Update documentation, and specify a
different value for disabling connections via sockets.
* gnu/tests/guix.scm (%guix-data-service-os): Use default PostgreSQL
behaviour.
* gnu/tests/monitoring.scm (%zabbix-os): Likewise.
* gnu/tests/web.scm (patchwork-os): Likewise.

Signed-off-by: Leo Famulari <leo@famulari.name>
2021-04-12 19:12:46 -04:00
Ludovic Courtès d14f21389c
doc: Document 'gnu-build-system' keyword parameters.
* doc/guix.texi (Build Systems): Document keyword parameters of
'gnu-build-system'.
2021-04-12 18:44:09 +02:00
Ludovic Courtès eb613eff58
doc: Move list of build phases to "Build Phases".
Before this change, the 'gnu-build-system' phases were listed in the
"Build Systems" section, and then summarized in the "Build Phases"
section.  This moves everything to "Build Phases".

* doc/guix.texi (Build Systems): Move phase table to...
(Build Phases): ... here.  Rearrange surrounding text.
2021-04-12 18:44:09 +02:00
Maxime Devos 2978832b92
services: Add ipfs-service-type
* gnu/services/networking.scm (ipfs-service-type)
  (%ipfs-home-mapping, %ipfs-environment)
  (%ipfs-accounts, %ipfs-home): New variables.
  (ipfs-configuration, ipfs-configuration?)
  (ipfs-configuration-package, ipfs-configuration-gateway)
  (ipfs-configuration-api, ipfs-shepherd-service)
  (ipfs-binary, %ipfs-activation): New procedures.
* doc/guix.texi (Networking Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-04-12 18:42:22 +02:00
Ricardo Wurmus a247f5c753
services: Support DELETE in MODIFY-SERVICES macro.
* gnu/services.scm (%modify-service): Add clause for DELETE syntax.
(modify-services): Use FILTER-MAP; adjust docstring.
* doc/guix.texi (System Services): Mention alternative syntax.
(X Window): Use MODIFY-SERVICES syntax.
2021-04-12 17:49:07 +02:00
Oleg Pykhalov 7dfbfb281f
doc: Fix connect to the VM over SSH example.
* doc/guix.texi (Running Guix in a VM): Add host which connect to in
SSH connection example.
2021-04-11 08:49:01 +03:00
Tobias Geerinckx-Rice 24bcf0bad8
doc: Fix typos.
* doc/guix.texi (SELinux Support): Fix typo.
(Build Systems): Likewise.
(DNS Services): Likewise.
(Networking Services): Likewise.
(Guix Services): Likewise.
(Reduced Binary Seed Bootstrap): Likewise.
(Documentation): Likewise.
2021-04-10 14:11:30 +02:00
Maxim Cournoyer 83f8b6d32c
import: go: Append version to symbol name in the pinned version mode.
This allows importing packages with complicated version specific dependency
chains without the package symbol names colliding.

* doc/guix.texi (Invoking guix import): Document the --pin-versions option.
Mention that a specific version can be imported.  Remove the experimental
warning.
* guix/import/go.scm (go-module->guix-package-name)[version]: Add optional
argument.  Rewrite the character translation in terms of string-map.
(go-module->guix-package): Conditionally use dependencies whose symbol include
their version, based no the value of the PIN-VERSIONS? argument.
* guix/import/utils.scm (package->definition): Add a new case where the full
version string is appended to the package symbol.
* guix/scripts/import.scm (guix-import): Correctly print forms starting
with '(define-public [...]'.
* guix/scripts/import/go.scm (guix-import-go): Conditionally include the
version in the package symbols defined.
2021-04-09 23:02:37 -04:00
Leo Famulari b685337c94
doc: Quote a URL to avoid misinterpretation by the shell.
Otherwise, the shell tries to perform pattern-matching based on the "?"
character.

Reported by nij in #guix.

* doc/guix.texi (Binary Installation): Add quotes around OPENPGP-SIGNING-KEY-URL.
2021-04-09 20:52:24 -04:00