Commit graph

2326 commits

Author SHA1 Message Date
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
Christopher Baines eda4bb4f16
services: Add Laminar.
* gnu/services/ci.scm: New file.
* gnu/tests/ci.scm: New file.
* doc/guix.texi (Laminar): Document the Laminar service.
2021-04-09 11:59:58 +01:00
Ludovic Courtès b92cfc322d
gnu-maintenance: Add 'sourceforge' updater.
This updater currently covers 2.4% of the packages.

* guix/gnu-maintenance.scm (latest-sourceforge-release): New procedure.
(%sourceforge-updater): New variable.
* doc/guix.texi (Invoking guix refresh): Document it.
2021-04-06 23:59:46 +02:00
zimoun beaf701d65
doc: Use the shell dollar substitution.
See:
https://unix.stackexchange.com/questions/126927/have-backticks-i-e-cmd-in-sh-shells-been-deprecated

* doc/guix.texi: Replace the shell backquote deprecated substitution by the
dollar one.
2021-04-05 13:19:22 +02:00
zimoun 56eedd4f93
doc: Reorder "Channels with Substitutes".
Ordering consistency introduced by 12871cc8db.

* doc/guix.texi (Channels): Move section "Channels with Substitutes".
Update the master menu.
2021-04-05 13:19:22 +02:00
Ludovic Courtès 58beda0121
services: guix-publish: Add zstd compression by default.
That way, the default config with (advertises? #t) and without a cache
will offer zstd-compressed substitutes, which should lead to much higher
throughput than gzip.

* gnu/services/base.scm (default-compression): When
'guix-publish-configuration-cache' returns true, use higher level
compression ratios.  Add "zstd".
* doc/guix.texi (Base Services): Mention zstd.
2021-04-03 22:08:33 +02:00
Xinglu Chen bc1148480d
doc: Fix typo.
* doc/guix.texi (Inferiors): Use past tense.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-04-01 14:58:54 +02:00
Tobias Geerinckx-Rice via Bug reports for GNU Guix 1b1a61f86a
doc: Discourage ambiguous package names.
* doc/contributing.texi (Package Naming): Explicitly mention
single-character and otherwise ambiguous names.
2021-04-01 14:35:59 +02:00
qblade aa03d32eb1
services: kmscon: Add font-engine and font-size fields.
* gnu/services/base.scm (<kmscon-configuration>): Add font-engine and
font-size fields.
(kmscon-service-type): Honor them.
* doc/guix.texi (Base Services): Document them.
2021-04-01 13:40:09 +02:00
Leo Famulari 94a463e0a5
doc: Fix a typo in the Julia build system section.
* doc/guix.texi (julia-build-system): Fix typo.
2021-03-31 14:21:15 -04:00
Ludovic Courtès e45ef9a648
status: Don't display download URLs for '--verbosity=1'.
With this change, each substitute occupies a single line of
output (instead of two) when using '-v1', the default for 'guix package'
& co.

* guix/status.scm (print-build-event): Add #:print-urls? and honor it.
(print-build-event/quiet): Pass #:print-urls? #f.
(print-build-event/quiet-with-urls): New procedure.
(logger-for-level): Add case for LEVEL 2.
* doc/guix.texi (Common Build Options): Adjust '--verbosity'
documentation.
2021-03-31 15:57:46 +02:00
Chris Marusich e52ec6c64a
doc: Document powerpc64le-linux support.
* doc/guix.texi (GNU Distribution): Document support for powerpc64le-linux as
a "technology preview."
2021-03-30 23:00:57 -07:00
Ludovic Courtès 0d8cea4f24
doc: "Invoking guix refresh" links to '--with-latest'.
* doc/guix.texi (Invoking guix refresh): Reword intro and Link to
'--with-latest'.
2021-03-26 00:04:05 +01:00
Ludovic Courtès 3cb1136780
doc: Explain how to pass 'guix refresh' the packages found in your profile.
Suggested by Xinglu Chen <public@yoctocell.xyz>.

* doc/guix.texi (Invoking guix refresh): Mention how to update packages
found in one's profile.
2021-03-26 00:04:05 +01:00
Ludovic Courtès 3b8bd63aa2
doc: Move 'guix refresh --list-updaters' reference to the right place.
* doc/guix.texi (Invoking guix refresh): Move '--list-updaters' right
after '--type'.
2021-03-26 00:04:05 +01:00
Leo Famulari 27744ac895
doc: Fix typo in qemu-binfmt-service example.
* doc/guix.texi (Virtualization Services): Add missing parentheses.
2021-03-24 18:51:38 -04:00
Mathieu Othacehe 90d166e510
doc: cuirass: Update documentation.
* doc/guix.texi (Continuous Integration): Update Cuirass documentation.
2021-03-23 20:30:49 +01:00
Mathieu Othacehe 8ac7fae8b0
doc: Remove Simple Cuirass section.
This is no longer needed as the Cuirass specification mechanism has been
rewritten.

* doc/guix.texi (Continuous Integration): Remove Simple Cuirass section.
2021-03-23 16:47:47 +01:00
nixo a06db9c1ee
gnu: Add julia-jllwrappers.
* gnu/packages/julia-xyz.scm (julia-jllwrappers): New variable.
* doc/guix.texi (julia-build-system): Document how to use jllwrappers to use
  to guix binary packages.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2021-03-20 22:29:14 +01:00
nixo e64ff72a14
doc: Fix typo in julia-build-system.
* doc/guix.texi (julia-build-system): replace argument wrongly named
  julia-file-name with the correct julia-package-name.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-03-20 22:29:14 +01:00
Ludovic Courtès 52e64b21be
doc: Fix syntax of '.guix-channel' dependency example.
Reported by ison <ison@airmail.cc>.

* doc/guix.texi (Declaring Channel Dependencies): Remove quote in
'dependencies' example.
2021-03-20 22:29:13 +01:00
Ludovic Courtès b93d7daeaf
doc: Add 'shepherd-service' example.
* doc/guix.texi (Shepherd Services): Add example.
2021-03-19 21:44:36 +01:00
Leo Famulari 898489f48e
services: Enable "protected hardlinks" and "protected symlinks" by default.
References:

https://sysctl-explorer.net/fs/protected_hardlinks/
https://sysctl-explorer.net/fs/protected_symlinks/

* gnu/services/sysctl.scm (%default-sysctl-settings): New public variable.
(<sysctl-configuration>): Use %default-sysctl-settings as the default value.
* gnu/services/base.scm (%base-services): Add sysctl-service-type.
* doc/guix.texi (Miscellaneous Services): Document the new defaults.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-03-18 12:17:33 +01:00
Ludovic Courtès f526105210
doc: Tweak "Invoking guix refresh" node.
* doc/guix.texi (Invoking guix refresh): Update output in '--recursive'
example.  Use @xref, not @ref, at the beginning of a sentence.
2021-03-17 23:10:19 +01:00
Ludovic Courtès af9af2180e
gnu-maintenance: Add 'generic-html' updater.
This brings total updater coverage, as reported by 'guix refresh
--list-updaters', from 78% to 88.3%.  Among many other things, it covers
freedesktop.org packages.

* guix/gnu-maintenance.scm (html-updatable-package?)
(latest-html-updatable-release): New procedures.
(%generic-html-updater): New variable.
* doc/guix.texi (Invoking guix refresh): Document it.
2021-03-17 12:03:24 +01:00
Ludovic Courtès 71f6acd28d
gnu-maintenance: Use (htmlprag) for 'latest-html-release'.
* guix/gnu-maintenance.scm (html->sxml): Remove.  Autoload (htmlprag)
instead.
* doc/guix.texi (Requirements): Mention 'guix refresh' for the Guile-Lib
dependency.
2021-03-17 12:03:24 +01:00
Ludovic Courtès 0571aa7abf
doc: Define the term "profile".
Fixes <https://bugs.gnu.org/46803>.
Reported by Luis Felipe <luis.felipe.la@protonmail.com>.

* doc/guix.texi (Getting Started): Introduce the term "profile".
(Invoking guix package): Likewise.
2021-03-17 12:03:23 +01:00
Léo Le Bouter 097cf21d1d
gnu: Remove MongoDB.
mongodb 3.4.10 has unpatched CVEs and mongodb 3.4.24 has some files in the
release tarball under the SSPL, therefore we cannot provide mongodb while
upholding to good security standards.

It turns out feff80cec3 was right since while
the main license file wasnt altered to SSPL, some files in the tree contain
SSPL headers.

* gnu/packages/databases.scm (go-gopkg.in-mgo.v2): Remove.
* gnu/packages/databases.scm (mongo-tools): Remove.
* doc/guix.texi (mongodb-service-type): Remove.
* gnu/tests/databases.scm (%test-mongodb, %mongodb-os, run-mongodb-test):
Remove.
* gnu/services/databases.scm (mongodb-configuration, mongodb-configuration?,
mongodb-configuration-mongodb, mongodb-configuration-config-file,
mongodb-configuration-data-directory, mongodb-service-type,
%default-mongodb-configuration-file, %mongodb-accounts, mongodb-activation,
mongodb-shepherd-service): Remove.
* gnu/packages/databases.scm (mongodb): Remove.
2021-03-16 11:05:24 +01:00
Maxim Cournoyer 77c2f4e206
services/qemu-binfmt: Use the F flag and the static output of QEMU.
Fixes <https://issues.guix.gnu.org/36117>.

Before this change, the 'binfmt_misc' entries registered for QEMU would not be
usable in container contexts outside of guix-daemon (without manually bind
mounting file names).

For example:

$ docker run --rm arm32v7/debian true
standard_init_linux.go:207: exec user process caused "no such file or directory"

After this change, any container can make use of the QEMU binfmt_misc
registrations, as their corresponding QEMU static binaries are fully
pre-loaded by the kernel.

* gnu/services/virtualization.scm (<qemu-platform>): Define using
'define-record-type*'.
[flags]: New field, which defaults to "F" (fix binary).
(%i386, %i486, %alpha, %arm, %armeb, %sparc, %sparc32plus, %ppc, %ppc64)
(%ppc64le, %m68k, %mips, %mipsel, %mipsn32, %mipsn32el, %mips64, %mips64el)
(%riscv32, %riscv64, %sh4, %sh4eb, %s390x, %aarch64, %hppa): Adjust.
(qemu-binfmt-guix-chroot): Remove variable.
(qemu-binfmt-service-type): Remove the qemu-binfmt-guix-chroot extension.
* gnu/services/qemu-binfmt (qemu-platform->binfmt):  Use the static output of
QEMU.
* doc/contributing.texi (Submitting Patches): Update doc.
* doc/guix.texi (Virtualization Services): Update doc.
2021-03-15 18:00:35 -04:00
Efraim Flashner 4d00185d66
build-system/cargo: Propagate crates across builds.
* guix/build-system/cargo.scm (cargo-build): Add cargo-package-flags,
install-source flags.
* guix/build/cargo-build-system.scm (unpack-rust-crates, package): New
procedures.
(install): Also install crate sources.
(%standard-phases): Add new phases.
* doc/guix.texi (Packaging-guidelines)[Rust Crates]: Adjust to changes
in the cargo-build-system.
2021-03-14 19:52:44 +02:00