Commit graph

2286 commits

Author SHA1 Message Date
Ludovic Courtès
e71d7b5e23
doc: Remove "--hda" from non-volatile childhurd example.
Reported by Andreas Enge.

* doc/guix.texi (Transparent Emulation with QEMU): Remove "--hda" in
'image' example.
2020-09-25 23:26:22 +02:00
Ludovic Courtès
13a2272d1a
doc: Explain how to connect to a childhurd.
* doc/guix.texi (The Hurd in a Virtual Machine): Add instructions for
VNC and SSH access.  Mention childhurd secrets and /etc/childhurd.
2020-09-25 23:26:22 +02:00
André Batista
fd67774d27
doc: Fix outdated info and add missing space.
* doc/guix.texi (Messaging Services): Fix outdated info and add
missing space.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2020-09-25 14:07:06 +02:00
Marius Bakke
d48b17adb9
services: WPA Supplicant: Conditionally depend on D-Bus.
Fixes <https://bugs.gnu.org/43567>.
Reported by calcium <calcium@disroot.org>.

* gnu/services/networking.scm (<wpa-supplicant-configuration>)[requirement]:
Remove 'dbus-system.
(wpa-supplicant-shepherd-service)[requirement]: Add 'dbus-system when DBUS? is true.
* doc/guix.texi (Networking Services)[wpa-supplicant-service-type]: Adjust
accordingly.
2020-09-24 20:18:20 +02:00
Mathieu Othacehe
80e26d7429
services: cuirass: Add web SQL queries logging support.
* gnu/services/cuirass.scm (<cuirass-configuration>)[web-queries-log-file]:
New field.
(cuirass-shepherd-service): Honor it.
(cuirass-log-rotations): If defined, add the web queries log file to the log
rotation.
2020-09-24 11:28:59 +02:00
Mathieu Othacehe
92e507c963
services: cuirass: Add SQL queries logging support.
* gnu/services/cuirass.scm (<cuirass-configuration>)[queries-log-file]: New
field.
(cuirass-shepherd-service): Honor it.
(cuirass-log-rotations): If defined, add the queries log file to the log
rotation.
2020-09-24 10:47:22 +02:00
Ludovic Courtès
9b65281de5
environment: '--link-profile' uses ~/.guix-profile for environment variables.
Before this patch, we had:

  $ guix environment -CP --ad-hoc coreutils
  [env]$ echo $PATH
  /gnu/store/…-profile/bin
  [env]$ echo $GUIX_ENVIRONMENT
  /gnu/store/…-profile

After this patch:

  $ guix environment -CP --ad-hoc coreutils
  [env]$ echo $PATH
  /home/ludo/.guix-profile/bin
  [env]$ echo $GUIX_ENVIRONMENT
  /home/ludo/.guix-profile

* guix/scripts/environment.scm (launch-environment/container): When
LINK-PROFILE? is true, pass ~/.guix-profile as the second argument to
'launch-environment'.
* tests/guix-environment-container.sh: Adjust test accordingly.
* doc/guix.texi (Invoking guix environment): Update accordingly.
2020-09-21 23:05:38 +02:00
Greg Hogan
aa9ba865de
doc: Fix broken hyperlinks in the contribution instructions.
* doc/contributing.texi (Packaging Guidelines, Submitting Patches):
Change URLs from relative to absolute links.
2020-09-18 14:33:17 -04:00
Florian Pelz
125fc37e5f
doc: Clarify what propagated inputs are.
Fixes <https://bugs.gnu.org/26170>.

* doc/guix.texi (package Reference)[package-propagated-inputs]: Clarify.
2020-09-18 09:03:38 +00:00
Oleg Pykhalov
f6dfe42129
services: docker: Fix service definition.
This commit follows a404716d41.

* gnu/services/docker.scm
(docker-configuration)[docker-cli]: New record field.
(docker-service-type): Use this.
* doc/guix.texi (Miscellaneous Services)[Docker Service]: Document this.
2020-09-15 01:10:55 +03:00
Efraim Flashner
ef7381f463
doc: Fix docker configuration options.
* doc/guix.texi (Docker Service): Fix typo in enable-proxy? default.
2020-09-14 17:21:12 +03:00
Timotej Lazar
11a962e653
services: certbot: Support registration without email.
* gnu/services/certbot.scm (certbot-configuration): Add default for the
email option.
(certbot-command): Pass email for registration only when specified.
* doc/guix.texi (Certificate Services): "mandatory"→"optional" email.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-13 23:34:23 +02:00
Maxim Cournoyer
71e746cc63
doc: Document the use of snippets vs phases.
* doc/contributing.texi (Snippets versus phases): New section.
2020-09-12 02:01:35 -04:00
Tobias Geerinckx-Rice
d9d88c2ff0
Revert "services: dovecot: Use modules via symlink to system profile."
This reverts commit bcfe0f0c1e for now.

It breaks most current use(r)s of the Dovecot service and needs to be
combined with an extra modules configuration field of some kind.

See <https://issues.guix.gnu.org/43347>.
2020-09-11 22:38:08 +02:00
Ludovic Courtès
7a68d3ccad
doc: Distinguish the "nar bundle" format from "nar".
* doc/guix.texi (Invoking guix archive): Introduce the term "nar bundle"
and clarify what the output of "guix archive --export" really is.
* guix/nar.scm (restore-one-item, restore-file-set): Use the term "nar
bundle" in docstrings.
2020-09-11 17:53:58 +02:00
Jelle Licht
bba0533115
services: php-fpm: Add 'php-ini-file' configuration.
* gnu/services/web.scm: (<php-fpm-configuration>)[php-ini-file]: New record field.
(php-fpm-shepherd-service): Use it.
* doc/guix.texi (Web Services): Document it.
2020-09-10 09:46:03 +02:00
Alexey Abramov
bcfe0f0c1e
services: dovecot: Use modules via symlink to system profile.
* gnu/services/mail.scm (%dovecot-activation): Link the location with multiple
plugins (dovecot-pigeonhole, etc), to a place where dovecot can find them.
* gnu/services/mail.scm (dovecot-configuration): Use the symlink.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2020-09-09 20:37:07 +02:00
Joshua Branson
191e79dab2
doc: cookbook: Adding a section "Running Guix on a Linode Server"
* doc/guix-cookbook.texi (Running Guix on a Linode Server):
I added a section that explains how to run guix on a linode server.
Thanks Chris Webber!

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-09 09:28:12 +02:00
Ludovic Courtès
4678767a16
doc: Tweak .texi to avoid po4a-translate infinite loop.
* doc/guix.texi (Requirements): Keep @uref on one line as splitting it
would lead po4a-translate to enter an infinite loop.
2020-09-08 09:12:18 +02:00
Ludovic Courtès
b5eb901ab5
Remove (guix json) and require Guile-JSON 4.3.0+.
This is a followup to 4071879c86.

* guix/json.scm: Remove.
* Makefile.am (MODULES): Adjust accordingly.
* m4/guix.m4 (GUIX_CHECK_GUILE_JSON): Check for 'define-json-mapping'.
* doc/guix.texi (Requirements): Require Guile-JSON 4.3.0+.
* guix/ci.scm, guix/cve.scm, guix/import/cpan.scm,
guix/import/crate.scm, guix/swh.scm: Remove (guix json) import.
* guix/import/gem.scm, guix/import/pypi.scm: Likewise, and import (json).
* guix/self.scm (specification->package): Switch to GUILE-JSON-4.
* guix/git-download.scm (git-fetch): Likewise.
2020-09-08 00:47:35 +02:00
Ludovic Courtès
2fc8337a14
doc: Document 'file-system-label' and 'uuid'.
* doc/guix.texi (File Systems): Document 'file-system-label' and 'uuid'.
2020-09-04 11:29:51 +02:00
Ludovic Courtès
fe409700d8
doc: Syntax highlighting now handles @var within @lisp.
* doc/build.scm (syntax-highlighted-html)[build](concatenate-pieces):
Handle @var{name}.
2020-09-04 11:29:51 +02:00
Ludovic Courtès
720fd7320f
doc: Balance parens in R Shiny example.
* doc/guix.texi (Miscellaneous Services): Balance parens in R Shiny
example.
2020-09-04 11:29:51 +02:00
Ludovic Courtès
6a1788e13a
doc: Add "Getting Started" section.
* doc/guix.texi (Getting Started): New node.
(Binary Installation): Refer to it and to "Application Setup".
(After System Installation): Refer to "Getting Started".
(Features): Add introductory sentence.
2020-09-03 23:23:58 +02:00
Jan (janneke) Nieuwenhuizen
01cefb7a57
services: childhurd: Support installing secrets from the host.
* gnu/services/virtualization.scm (%hurd-vm-operating-system): Add
secret-service.
(hurd-vm-shepherd-service): Use it to install secrets.
* doc/guix.texi (The Hurd in a Virtual Machine): Document it.
2020-09-01 16:06:38 +02:00
Maxim Cournoyer
a02ad4592c
gexp: computed-file: Prevent mistakenly overriding default option values.
In order to do so, default to an empty options list, and expose options whose
default values are sensitive directly as keyword arguments.

* guix/gexp.scm (computed-file): Extract the LOCAL-BUILD? parameter from the
OPTIONS parameter to make it a stand-alone keyword argument.  Introduce an
OPTIONS* binding which is obtained by combining the LOCAL-BUILD? keyword and
its value with OPTIONS.
* doc/guix.texi (G-Expressions): Adjust doc.

Suggested-by: Ludovic Courtès <ludo@gnu.org>
2020-09-01 00:48:11 -04:00
Julien Lepiller
036f23f053
guix: system: Add `--label' option.
* guix/scripts/system.scm (%options): Add `--label'.
(system-derivation-for-action): Take a #:label key to set volume ID.
(perform-action): Take a #:label key.
(%default-options): Add default label value.
(process-action): Pass label value from command-line to perform-action.
* gnu/system/image.scm (image-with-label): New procedure.
2020-08-31 16:12:16 +02:00
Ludovic Courtès
b630840920
doc: Document the 'description' and 'default-value' of <service-type>.
* doc/guix.texi (Service Reference): Document the 'description' and
'default-value' fields of <service-type>.
2020-08-28 23:27:53 +02:00
Joshua Branson
3e9c6ee19d
doc: Improve the instructions regarding guix git authenticate.
* doc/contributing.texi (Building from Git): Instruct the user to fetch
the 'keyring' branch. Fix a typo.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-08-27 16:04:12 -04:00
Maxim Cournoyer
4b5a6fbc9b
offload: Modify the build-machine record to accept multiple systems.
* guix/scripts/offload.scm (<build-machine>)[systems]: New field.
[system]: Accessor changed to %build-machine-system.  Default to #f.
* guix/scripts/offload.scm (build-machine-system): Wrap %build-machine-system
with a deprecation warning.
(build-machine-systems): Access the new systems field or fallback to use
build-machine-system, for backward compatibility.
(machine-matches?): Adjust.
* tests/offload.scm: Add tests...
* Makefile.am (SCM_TESTS): ...and register them.
* doc/guix.texi (Daemon Offload Setup): Update doc.
2020-08-25 13:45:27 -04:00
Tobias Geerinckx-Rice
bff22b76f3
doc: Fix typo.
* doc/guix.texi (Virtualization Services): Fix typo.
2020-08-25 17:14:50 +02:00
Ludovic Courtès
0d203eeaa6
services: unattended-upgrade: Add 'operating-system-file' field.
* gnu/services/admin.scm (<unattended-upgrade-configuration>)[operating-system-file]:
New field.
(unattended-upgrade-mcron-jobs): Honor it.
* doc/guix.texi (Unattended Upgrades): Document it.
2020-08-24 23:23:57 +02:00
Mathieu Othacehe
4c0c65acfa
Use "guile-zlib" and "guile-lzlib" instead of (guix config).
* Makefile.am (MODULES): Remove guix/zlib.scm and guix/lzlib.scm,
(SCM_TESTS): remove tests/zlib.scm, tests/lzlib.scm.
* build-aux/build-self.scm (make-config.scm): Remove unused %libz variable.
* configure.ac: Remove LIBZ and LIBLZ variables and check instead for
Guile-zlib and Guile-lzlib.
* doc/guix.texi ("Requirements"): Remove zlib requirement and add Guile-zlib
and Guile-lzlib instead.
* gnu/packages/package-management.scm (guix)[native-inputs]: Add "guile-zlib"
and "guile-lzlib",
[inputs]: remove "zlib" and "lzlib",
[propagated-inputs]: ditto,
[arguments]: add "guile-zlib" and "guile-lzlib" to Guile load path.
* guix/config.scm.in (%libz, %liblz): Remove them.
* guix/lzlib.scm: Remove it.
* guix/man-db.scm: Use (zlib) instead of (guix zlib).
* guix/profiles.scm (manual-database): Do not stub (guix config) in imported
modules list, instead add "guile-zlib" to the extension list.
* guix/scripts/publish.scm: Use (zlib) instead of (guix zlib) and (lzlib)
instead of (guix lzlib),
(string->compression-type, effective-compression): do not check for zlib and
lzlib availability.
* guix/scripts/substitute.scm (%compression-methods): Do not check for lzlib
availability.
* guix/self.scm (specification->package): Add "guile-zlib" and "guile-lzlib"
and remove "zlib" and "lzlib",
(compiled-guix): remove "zlib" and "lzlib" arguments and add guile-zlib and
guile-lzlib to the dependencies, also do not pass "zlib" and "lzlib" to
"make-config.scm" procedure,
(make-config.scm): remove "zlib" and "lzlib" arguments as well as %libz and
%liblz variables.
* guix/utils.scm (lzip-port): Use (lzlib) instead of (guix lzlib) and do not
check for lzlib availability.
* guix/zlib.scm: Remove it.
* m4/guix.m4 (GUIX_LIBZ_LIBDIR, GUIX_LIBLZ_FILE_NAME): Remove them.
* tests/lzlib.scm: Use (zlib) instead of (guix zlib) and (lzlib)
instead of (guix lzlib), and do not check for zlib and lzlib availability.
* tests/publish.scm: Ditto.
* tests/substitute.scm: Do not check for lzlib availability.
* tests/utils.scm: Ditto.
* tests/zlib.scm: Remove it.
2020-08-24 13:35:24 +02:00
Oleg Pykhalov
d0fc1e832c
doc: cookbook: Add chapter about Guix environment.
* doc/guix-cookbook.texi (Environment management): New chapter.
2020-08-23 10:47:35 +03:00
Maxim Cournoyer
2a20c22dcf
doc: Fix a typo in the AutoSSH service documentation.
* doc/guix.texi (Networking Services)[autossh-configuration]: Fix typo.
2020-08-17 15:41:21 -04:00
Alexey Abramov
2b68a96422
services: docker: Add 'enable-iptables?' argument.
* gnu/services/docker.scm (docker-configuration): Define the argument.
* gnu/services/docker.scm (docker-shepherd-service): Use it.
* doc/guix.texi (Docker Service): Document it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2020-08-16 11:07:50 +02:00
Tobias Geerinckx-Rice
6376cb34b1
doc: Fix a typo.
* doc/guix.texi (operating-system Reference): Fix a typo & sigh.

Reported by Jakub Kądziołka <kuba@kadziolka.net>.
2020-08-10 00:37:47 +02:00
Tobias Geerinckx-Rice
05e9709898
doc: Shrink width of deeply-indented code sample.
This follows up on commit 4cafdce210.

* doc/guix.texi (operating-system Reference): Shorten comments to fit
everything on an 80-character punch card.
2020-08-09 21:12:31 +02:00
Tobias Geerinckx-Rice
4cafdce210
doc: Explain how to select system package outputs.
* doc/guix.texi (operating-system Reference): Document that PACKAGES may
contain traces of tuples and give an example.
2020-08-09 19:40:06 +02:00
Tobias Geerinckx-Rice
3de419b957
doc: Fix typo.
* doc/guix.texi (operating-system Reference): Add missing ‘of’.
2020-08-09 19:40:06 +02:00
Ludovic Courtès
c471d4733f
doc: Document 'mount-may-fail?' field.
This is a followup to 7c27bd115b.

* doc/guix.texi (File Systems): Document 'mount-may-fail?'.
2020-08-03 17:14:54 +02:00
Efraim Flashner
587e0d911d
services: Add zram-device-service.
* gnu/services/linux.scm (<zram-device-configuration>): New record.
(zram-device-service-type): New variable.
* doc/guix.texi (Linux Services): Document it.
* tests/services/linux.scm (zram-swap-device-test): New tests.
2020-08-02 15:54:37 +03:00
Pierre Neidhardt
1f0a41e955
doc: Explain how to use psql with peer authentication.
* doc/guix.texi (Database Services): Add example of shell commands to use psql
as  system user.  Also add troubleshooting tip when service fails to start
because of incompatible cluster.
2020-08-01 11:54:41 +02:00
Tobias Geerinckx-Rice
cdc2e2bba9
doc: Extend tlp-service-type example.
* doc/guix.texi (Power Management Services): Demonstrate
tlp-configuration usage.

Suggested by rovanion on #guix.
2020-07-29 15:14:57 +02:00
Pierre Neidhardt
64e8f2ec2d
doc: Warn against using the .scm extension for the channel news file.
* doc/guix.texi (Writing Channel News): Explain the issue with using the .scm
extension and possible workarounds; fix the example to use the .txt extension instead.
2020-07-28 13:43:45 +02:00
Robin Green
73cb3e103f
services: auditd: Provide default configuration directory.
* gnu/services/auditd.scm (auditd.conf)
(%default-auditd-configuration-directory): New variables.
(<auditd-configuration>): Switch to 'define-record-type*'.
[configuration-directory]: New field.
(auditd-shepherd-service): Honor 'configuration-directory'.  Pass #:pid-file.
(auditd-service-type)[description]: Tweak.
[default-value]: Provide 'configuration-directory'.
* doc/guix.texi (Miscellaneous Services): Update docs to reflect
changes.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-07-27 12:06:36 +02:00
Ludovic Courtès
79501f26ab
services: Add 'unattended-upgrade-service-type'.
* gnu/services/admin.scm (<unattended-upgrade-configuration>): New
record type.
(%unattended-upgrade-log-file): New variable.
(unattended-upgrade-mcron-jobs, unattended-upgrade-log-rotations): New
procedures.
(unattended-upgrade-service-type): New variable.
* doc/guix.texi (Service Reference): Add 'provenance-service-type' anchor.
(Unattended Upgrades): New section.
2020-07-27 12:06:36 +02:00
Ludovic Courtès
a396dd01bc
machine: ssh: Check for potential system downgrades.
This is a followup to 8e31736b0a.

* guix/scripts/system/reconfigure.scm (check-forward-update): Add
 #:current-channels.  Use it instead of OLD.
* gnu/services.scm (sexp->system-provenance): New procedure.
(system-provenance): Use it.
* gnu/machine/ssh.scm (<machine-ssh-configuration>)[allow-downgrades?]:
New field.
(machine-check-forward-update): New procedure.
(check-deployment-sanity)[assertions]: Call it.
* doc/guix.texi (Invoking guix deploy): Document 'allow-downgrades?'
field.
2020-07-27 12:06:35 +02:00
Oleg Pykhalov
64c6282e7f
services: nix: Add extra-options.
* gnu/services/nix.scm (<nix-configuration>)[extra-options]: New field.
(nix-shepherd-service): Add this.
(nix-activation): Add new line to the end of /etc/nix/nix.conf file.
* doc/guix.texi (Miscellaneous Services)[Nix service]: Document this.
2020-07-25 12:27:35 +03:00
Ludovic Courtès
cb3bae900f
doc: Mention the channel keyring branch.
Reported by Pierre Neidhardt <mail@ambrevar.xyz>.

* doc/guix.texi (Channels): Mention the keyring branch and the
'keyring-reference' bit in '.guix-channel'.
2020-07-24 18:56:25 +02:00
Ludovic Courtès
9c7581a127
doc: Use an existing commit in channel example.
Suggested by zimoun <zimon.toutoune@gmail.com>.

* doc/guix.texi (Channels): Use the commit for 'v1.0.0' instead of a
non-existing commit in example.
2020-07-24 18:56:25 +02:00
Ludovic Courtès
8e31736b0a
guix system: 'reconfigure' disallows downgrades by default.
This is similar to what 9744cc7b46 did for
'guix pull'.

* guix/scripts/system/reconfigure.scm (ensure-forward-reconfigure)
(warn-about-backward-reconfigure, channel-relations)
(check-forward-update): New procedures.
* guix/scripts/system.scm (perform-action): Add #:validate-reconfigure.
Call 'check-forward-update' when ACTION is 'reconfigure.
(%options, show-help): Add "--allow-downgrades".
(%default-options): Add 'validate-reconfigure' key.
(process-action): Pass #:validate-reconfigure to 'perform-action'.
* doc/guix.texi (Invoking guix system): Document 'guix system describe'
more prominently, and document '--allow-downgrades'.
2020-07-23 00:22:25 +02:00
Ludovic Courtès
9e0d896bf3
doc: Tweak mcron example.
* doc/guix.texi (Scheduled Job Execution): In example, move '%min-level'
definition after 'use-modules'.
2020-07-23 00:22:25 +02:00
Ludovic Courtès
63c799c1c5
doc: Recommend running 'guix git authenticate' when cloning the repo.
* doc/contributing.texi (Building from Git): Adjust instruction and
recommend 'guix git authenticate'.
2020-07-23 00:22:25 +02:00
Oleg Pykhalov
4656180d5d
services: nix: Fix sandbox.
* gnu/tests/package-management.scm: New file.
* gnu/local.mk: Add this.
* gnu/services/nix.scm (<nix-configuration>): New record.
(nix-activation): Generate Nix config file which fixes sandbox.
(nix-service-type): Add default value.
(nix-shepherd-service): Allow provide Nix package.
* doc/guix.texi (Miscellaneous Services)[Nix service]<nix-configuration>:
Document record.
2020-07-22 22:10:11 +03:00
Ludovic Courtès
ad5cb62d4a
doc: Mention the 'savannah' updater.
* doc/guix.texi (Invoking guix refresh): Mention 'savannah' updater.
2020-07-21 17:50:44 +02:00
Lars-Dominik Braun
e8088f0b06
ssh: Speed up RPCs by using #:nodelay.
Partly fixes <https://bugs.gnu.org/41702>.

* guix/ssh.scm (open-ssh-session): Enable #:nodelay.
* m4/guix.m4 (GUIX_CHECK_GUILE_SSH): Add feature check for this new parameter.
* doc/guix.texi (Requirements): Adjust.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2020-07-20 23:25:09 +02:00
Marius Bakke
eccdd80e08
doc: Fix Ganeti blog post URL.
* doc/guix.texi (Virtualization Services): Adjust Ganeti blog post URL.
2020-07-19 14:23:16 +02:00
Marius Bakke
41daf12865
services: ganeti: Use TLS on the remote API by default.
* gnu/services/ganeti.scm (<ganeti-rapi-configuration>): Set SSL? to #t.
* gnu/tests/ganeti.scm (%ganeti-os): Set SSL? to #f.
* doc/guix.texi (Virtualization Services): Adjust accordingly.
2020-07-19 14:23:16 +02:00
Christopher Baines
22b3a95f6e
build-system/maven: Make default-maven-plugins a procedure.
This allows compiling the module without the (gnu packages maven) module being
available.

* guix/build-system/maven.scm (%default-maven-plugins): Rename to
default-maven-plugins, and convert to a procedure.
* doc/guix.texi (maven-build-system): Update.
2020-07-17 09:45:19 +01:00
Julien Lepiller
55b90c9053
guix: Add maven-build-system.
* guix/build-system/maven.scm: New file.
* guix/build/maven-build-system.scm: New file.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document the maven build system.
2020-07-17 04:21:22 +02:00
Marius Bakke
0482ea07f9
doc: Small fixups for the Ganeti documentation.
* doc/guix.texi (Virtualization Services): Fix various inaccuracies and add
markup the procedure parameters.
2020-07-17 01:04:24 +02:00
Marius Bakke
9a62282755
services: Add ganeti.
* gnu/services/ganeti.scm, gnu/tests/ganeti.scm: New files.
* doc/guix.texi (Virtualization Services): Document the Ganeti services.
2020-07-16 21:51:44 +02:00
Ludovic Courtès
a98712785e
Add 'guix git authenticate'.
* guix/scripts/git.scm, guix/scripts/git/authenticate.scm,
tests/guix-git-authenticate.sh: New files.
* Makefile.am (MODULES): Add the *.scm files.
(SH_TESTS): Add 'tests/guix-git-authenticate.sh'.
* doc/guix.texi (Channels)[Specifying Channel Authorizations]: Mention
'guix git authenticate'.
(Invoking guix git authenticate): New node.
* po/guix/POTFILES.in: Add 'guix/scripts/git.scm' and
'guix/scripts/git/authenticate.scm'.
2020-07-11 12:33:01 +02:00
Tobias Geerinckx-Rice
4f4fb2151e
doc: Fix typo.
* doc/contributing.texi (The Perfect Setup): Fix spelling & placement of ‘additionally’.
2020-07-09 19:57:40 +02:00
Tobias Geerinckx-Rice
e892b9c3dc
doc: cookbook: Fix ‘file system’ spelling.
* doc/guix-cookbook.texi (Getting help, Customizing the Kernel):
Fix ‘file system’ spelling.
2020-07-09 19:57:39 +02:00
Arun Isaac
332f0a4685
doc: Fix texinfo identifiers in Version Control Services.
* doc/guix.texi (Version Control Services): Use @code, @command, @file,
@indicateurl, @samp texinfo identifiers correctly.
2020-07-06 21:21:32 +05:30
Arun Isaac
dffc82fa55
doc: Fix minor typo in X Window.
* doc/guix.texi (X Window): Replace "not" with "no".
2020-07-05 19:33:52 +05:30
Arun Isaac
60941b94e2
doc: Fix minor typo in Programming Interface.
* doc/guix.texi (Programming Interface): Replace "under a specific build
users" with "under specific build users".
2020-07-05 15:44:45 +05:30
Marius Bakke
4d06076714
services: wpa-supplicant: Support specifying additional service dependencies.
* gnu/services/networking.scm (<wpa-supplicant-configuration>)[requirement]:
New parameter.
(wpa-supplicant-shepherd-service): Use it instead of hard-coded list.
* doc/guix.texi (Networking Services): Document accordingly.
2020-07-02 23:20:51 +02:00
Ludovic Courtès
d774c7b121
channels: Dependencies listed in '.guix-channel' can have an introduction.
Suggested by Ricardo Wurmus and Simon Tournier.

* guix/channels.scm (sexp->channel-introduction): New procedure.
(read-channel-metadata): Use it.
(profile-channels)[sexp->channel-introduction]: Remove.
* tests/channels.scm ("latest-channel-instances, authenticate dependency"):
New test.
* doc/guix.texi (Channels)[Declaring Channel Dependencies]: Augment example.
2020-07-01 23:34:51 +02:00
Ludovic Courtès
6d39f0cb77
guix describe: Display channel introductions and add 'channels-sans-intro'.
* guix/scripts/describe.scm (%available-formats): Add "channels-sans-intro".
(channel->sexp): Add #:include-introduction?.  Emit CHANNEL's intro if
INCLUDE-INTRODUCTION? is true and CHANNEL has an introduction.
(channel->json): Include CHANNEL's introduction, if any.
(channel->recutils): Likewise.
(display-profile-info): Add 'channels-sans-intro' case.
* doc/guix.texi (Invoking guix describe): Add introduction in example.
Add 'channels-sans-intro' case.
2020-07-01 23:34:51 +02:00
Ludovic Courtès
8b7d982e6a
channels: Make channel introductions public.
* guix/channels.scm (<channel-introduction>): Rename constructor to
'%make-channel-introduction'.
(make-channel-introduction): New procedure.
* tests/channels.scm ("authenticate-channel, wrong first commit signer")
("authenticate-channel, .guix-authorizations"): Use
'make-channel-introduction' without '@@' and without third argument.
* doc/guix.texi (Channels)[Channel Authentication, Specifying Channel
Authorizations]: New subsections.
2020-07-01 23:34:51 +02:00
Ludovic Courtès
e3d2e618fe
doc: cookbook: Fix encoding of "André".
This is a followup to f8945734a5.

* doc/guix-cookbook.texi: Encode "André" as UTF-8, not ISO-8859-1.
2020-06-28 23:28:55 +02:00
Brice Waegeneire
e39b2363f5
doc: Add progress display in 'dd' command lines.
* doc/guix.texi (System Installation): Adjust 'dd' command line to
display progress …
(System Configuration): … same here.
2020-06-28 13:28:06 +02:00
André Batista
f8945734a5
doc: cookbook: Update entry about getting substitutes through Tor.
* doc/guix-cookbook.texi (Getting substitutes from Tor): Update
section warning to mention the use of torsocks when pulling.
2020-06-28 13:26:14 +02:00
Efraim Flashner
8f19e63f76
services: Add rshiny service.
* gnu/services/science.scm: New file.
(<rshiny-configuration>): New record.
(rshiny-shepherd-service-type): New variable.
* doc/guix.texi (Miscellaneous Services): Document it.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
2020-06-28 14:03:03 +03:00
Ludovic Courtès
5813a0c94f
doc: 'guix hash' is not SHA256-only.
This is a followup to 18ae1ec3ec.

* doc/guix.texi (Invoking guix hash): Remove "SHA256" from the first
paragraph.
2020-06-26 16:19:53 +02:00
Ludovic Courtès
4ebbd92c29
doc: cookbook: Fix typos.
* doc/guix-cookbook.texi (Extended example): Fix typos.
2020-06-23 23:39:42 +02:00
Ludovic Courtès
96a95aa9c7
doc: cookbook: Tweak intro to the REPL.
* doc/guix-cookbook.texi (A Scheme Crash Course): Reword first
paragraph.  Remove extra paren.
2020-06-23 00:03:08 +02:00
Ludovic Courtès
2f562699ea
doc: cookbook: Mention "guix hash -rx" for Git checkouts.
* doc/guix-cookbook.texi (Extended example): Mention "guix hash -rx ."
2020-06-23 00:03:08 +02:00
Ludovic Courtès
ab83e1f054
doc: cookbook: Clarify 'git-fetch' conventions.
* doc/guix-cookbook.texi (Extended example): Clarify use of 'git-file-name'
and 'git-version'.
2020-06-23 00:03:08 +02:00
Jan (janneke) Nieuwenhuizen
b7249aa472
services: childhurd: Support more than one instance.
* gnu/services/virtualization.scm (<hurd-vm-configuration>)[options]: Remove
"--hda" option.
[id,net-options]: New fields.
(hurd-vm-net-options): New procedure.  Parameterize port forwarding with ID.
* gnu/services/virtualization.scm (hurd-vm-shepherd-service): Use them.
Parameterize provision with ID, if set.  Hardcode "--hda" option for image.
* doc/guix.texi (Virtualization Services): Document new fields.  Update for
hardcoding of "--hda".
2020-06-21 12:51:36 +02:00
Ludovic Courtès
cdea526556
doc: Make issues.guix.gnu.org more visible.
* doc/contributing.texi (Tracking Bugs and Patches): Make
issues.guix.gnu.org more visible, update issue URL.
2020-06-20 13:18:11 +02:00
Timotej Lazar
7568416acb
doc: Delete description of a nonexistent option.
* doc/guix.texi (Invoking guix pull): Delete a paragraph about the --verbose
option, which was removed in 1edcfda81b.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-06-18 14:48:18 +02:00
Ludovic Courtès
4ae762af76
channels: Warn when pulling from a mirror.
* guix/channels.scm (<channel-metadata>)[url]: New field.
(read-channel-metadata): Initialize it.
(read-channel-metadata-from-source): Likewise.
(channel-instance-primary-url): New procedure.
(latest-channel-instances): Compare CHANNEL's URL against it.
* doc/guix.texi (Channels)[Primary URL]: New subsection.
2020-06-17 19:32:43 +02:00
Ludovic Courtès
a9eeeaa6ae
pull: Add '--disable-authentication'.
* guix/channels.scm (latest-channel-instance): Add #:authenticate? and
honor it.
(latest-channel-instances): Likewise.
* guix/scripts/pull.scm (%default-options): Add 'authenticate-channels?'.
(show-help, %options): Add '--disable-authentication'.
(guix-pull): Pass #:authenticate? to 'latest-channel-instances'.
* doc/guix.texi (Invoking guix pull): Document it.
2020-06-16 16:10:47 +02:00
Ludovic Courtès
43badf261f
channels: 'latest-channel-instance' authenticates Git checkouts.
Fixes <https://bugs.gnu.org/22883>.

* guix/channels.scm (<channel>)[introduction]: New field.
(<channel-introduction>): New record type.
(%guix-channel-introduction): New variable.
(%default-channels): Use it.
(<channel-metadata>)[keyring-reference]: New field.
(%default-keyring-reference): New variable.
(read-channel-metadata, read-channel-metadata-from-source): Initialize
the 'keyring-reference' field.
(commit-short-id, verify-introductory-commit)
(authenticate-channel): New procedures.
(latest-channel-instance): Call 'authenticate-channel' when CHANNEL has
an introduction.
* tests/channels.scm (gpg+git-available?, commit-id-string): New
procedures.
("authenticate-channel, wrong first commit signer"):
("authenticate-channel, .guix-authorizations"): New tests.
* doc/guix.texi (Invoking guix pull): Mention authentication.
2020-06-16 16:10:47 +02:00
Ludovic Courtès
33391ee5c1
doc: Recommend "make authenticate" after ./bootstrap.
* doc/contributing.texi (Building from Git): Move "make authenticate"
instructions below.
2020-06-16 16:10:46 +02:00
Tobias Geerinckx-Rice
38ee8f7dba
pack: Add zstd compressor.
* guix/scripts/pack.scm (%compressors): Add zstd.
* doc/guix.texi (Invoking guix pack): Document it.
2020-06-16 13:35:33 +02:00
Jan (janneke) Nieuwenhuizen
e07573432c
doc: Clarify 'hurd-vm' and 'childhurd' names.
Suggested by Maxim Cournoyer via IRC.

* doc/guix.texi (The Hurd in a Virtual Machine): Explicitly mention that
hurd-vm and childhurd are two names for this service.
2020-06-15 21:08:02 +02:00
Marius Bakke
bb9a99e657
doc: Adjust branching and rebuilding strategy to match reality.
The amount of packages has more than tripled since this section was written.
Adjust the rebuild limits and cycle lengths based on current practices.

* doc/contributing.texi (Submitting Patches): Increase 'staging' rebuild limit
to 1800 packages, and adjust the cycle to six weeks.  Increase 'core-updates'
cycle to six months.
2020-06-14 23:15:21 +02:00
Konrad Hinsen
c924e54139
guix repl: Add script execution.
* guix/scripts/repl.scm: Add filename options for script execution.
* doc/guix.texi (Invoking guix repl): Document it.
* tests/guix-repl.sh: Test it.
* Makefile.am: (SH_TESTS): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-06-14 23:02:36 +02:00
Jan (janneke) Nieuwenhuizen
5e9cf93364
services: Add 'hurd-vm service-type'.
* gnu/services/virtualization.scm (hurd-vm-shepherd-service,
hurd-vm-disk-image): New procedures.
(%hurd-vm-operating-system, hurd-vm-service-type): New variables.
(<hurd-vm-configuration>): New record type.
* doc/guix.texi (Virtualization Services): Document it.
* gnu/services/shepherd.scm (scm->go): Use let-system, remove FIXME.  Fixes
fixes cross-building of shepherd modules for the Hurd image.
2020-06-14 18:38:44 +02:00
Ludovic Courtès
993023a28e
lint: Add 'check-for-collisions' checker.
Suggested by Edouard Klein <edk@beaver-labs.com>.

* guix/profiles.scm (check-for-collisions): Export.
* guix/lint.scm (check-profile-collisions): New procedure.
(%local-checkers): Add 'profile-collisions' checker.
* tests/lint.scm ("profile-collisions: no warnings")
("profile-collisions: propagated inputs collide")
("profile-collisions: propagated inputs collide, store items"): New tests.
* doc/guix.texi (Invoking guix lint): Document it.
2020-06-14 15:34:42 +02:00
Ludovic Courtès
20d9034cc5
doc: Mention 'guix lint -c derivation'.
* doc/guix.texi (Invoking guix lint): Mention the 'derivation' checker.
2020-06-14 15:34:41 +02:00
Brice Waegeneire
1b5d26c967
doc: Add note to 'udisks-service'.
* doc/guix.texi (Desktop Services): Specify how to add file-systems
utilities to 'udisks-service'.
2020-06-09 10:26:56 +02:00
Jan (janneke) Nieuwenhuizen
7ccd471c71
services: Add `hurd-getty-service-type'.
* gnu/services/hurd.scm (<hurd-gettty-configuration>): New record.
(hurd-ttys-shepherd-service): New procedure.
(hurd-getty-service-type): New variable.
* doc/guix.texi (Hurd Services): Document it.
2020-06-08 14:26:14 +02:00
Jan (janneke) Nieuwenhuizen
f9c04580bf
services: Add `hurd-console-service-type'.
* gnu/services/hurd.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Hurd Services): Document it.
2020-06-08 14:26:14 +02:00
Jan (janneke) Nieuwenhuizen
21acd8d6c1
bootloader: Extend `<menu-entry>' for multiboot.
* gnu/bootloader.scm (<menu-entry>)[multiboot-kernel,multiboot-arguments,
multiboot-modules]: New fields.
[linux,initrd]: Add default value '#f'.
(menu-entry->sexp, sexp->menu-entry): Support multiboot entry.
* doc/guix.texi (Bootloader Configuration): Document them.
2020-06-08 13:51:18 +02:00
Jan (janneke) Nieuwenhuizen
2018fb2afe
system: Add 'hurd' field to <operating-system>.
* gnu/system.scm (<operating-system>)[hurd]: New field.
* doc/guix.texi (operating-system Reference): Document 'hurd'.
2020-06-08 13:51:18 +02:00
Brice Waegeneire
c987b72382
doc: cookbook: Add entry about getting substitutes through Tor.
* doc/guix-cookbook.texi (Getting substitutes from Tor): New section.
2020-06-04 14:48:09 +02:00
Ludovic Courtès
b6c445931e
doc: Mention Btrfs compression.
Suggested by Pierre Neidhardt <mail@ambrevar.xyz>.

* doc/guix.texi (Keyboard Layout and Networking and Partitioning):
Mention Btrfs compression.
2020-06-03 18:05:55 +02:00
Maxim Cournoyer
7c9be7b7cb
gnu: services: docker: Add a debug? parameter.
* gnu/services/docker.scm (docker-configuration): Add a debug? field.
(containerd-shepherd-service): Pass the "--log-level=debug" argument when
DEBUG? is true.
(docker-shepherd-service): Pass the "--debug" and "--log-level=debug"
arguments when DEBUG? is true.
* doc/guix.texi (Miscellaneous Services): Update doc.
2020-06-03 11:31:07 -04:00
Marcin Karpezo
5c3e94cdf8
doc: cookbook: Add entry about Wireguard VPN.
Co-authored-by: Brice Waegeneire <brice@waegenei.re>

* doc/guix-cookbook.texi (Connect to Wireguard VPN): New section.
2020-06-02 11:31:48 +02:00
Maxim Cournoyer
c08fac0f7d
services: nfs: Expose configuration options for TCP and UDP.
* gnu/services/nfs.scm (<nfs-configuration>)[nfsd-tcp?, nfsd-udp?]: New
fields.
(nfs-shepherd-services)[rpc.nfsd]: Populate the --{no-,}tcp and --{no-,}udp
command line options based on the values of the nfsd-tcp? and nfsd-upd?
fields.
* doc/guix.texi (Network File System): Add doc.
2020-05-29 21:48:58 -04:00
Pierre Neidhardt
776409c506
doc: Add example to calculate the size a system.
* doc/guix.texi (Invoking `guix size'): Add guix size example for store item.
2020-05-29 18:48:44 +02:00
Efraim Flashner
03e6404936
doc: Remove explicit support for mips64el-linux.
It's been a good run, but no one is maintaining the architecture.
So long, and thanks for all the fish.

* doc/guix.texi (GNU Distribution): Change text for mips64el-linux
to denote it is deprecated.
(Daemon Offload Setup): Change occurrences of mips64el-linux to
aarch64-linux and adjust local code snippets.
(Guix Environment)[cross-compilation]: Change mips64el-linux-gnu to
aarch64-linux-gnu.
(GNU Build System)(package-cross-derivation]: Same.
(G-Expressions)[cross compilation]: Same.
(Additional Build Options)[cross-compilation, build logs]: Same.
(qemu-binfmt-service-type): Remove mips64el.
* doc/contributing.texi (Submitting Patches): Same.
* m4/guix.m4: (GUIX_ASSERT_SUPPORTED_SYSTEM): Remove mips64el-linux.
2020-05-28 11:12:40 +03:00
Julien Lepiller
f18d5d7597
doc: Use existing URLs and file names in installation instructions.
Some users are confused that these URLs and file names don't work, so
change them to the most popular architecture, while still mentioning
alternatives.

* doc/guix.texi (USB Stick and DVD Installation, Binary Installation): Use
x86_64-linux URLs by default.
2020-05-27 23:27:34 +02:00
Ludovic Courtès
8c23d7a15e
doc: Remove one use of 'file-append*'.
* doc/build.scm (texinfo-manual-source)[build]: Use 'file-append', not
'file-append*', for 'htmlxref.cnf', to ensure it has the right basename.
2020-05-25 23:00:30 +02:00
zimoun
ba2104aaa3
doc: Fix typos.
* doc/guix.texi: Fix typos.
* doc/contributing.texi: Fix typos.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2020-05-25 14:46:03 +02:00
Ludovic Courtès
9744cc7b46
pull: Protect against downgrade attacks.
* guix/scripts/pull.scm (%default-options): Add 'validate-pull'.
(%options, show-help): Add '--allow-downgrades'.
(warn-about-backward-updates): New procedure.
(guix-pull): Pass #:current-channels and #:validate-pull to
'latest-channel-instances'.
* guix/channels.scm (ensure-forward-channel-update): Add hint for
when (channel-commit channel) is true.
* doc/guix.texi (Invoking guix pull): Document '--allow-downgrades'.
2020-05-25 00:00:28 +02:00
Chris Bøg
3142191da6
doc: cookbook: Add subsection about session locking with xss-lock.
* doc/guix-cookbook.texi (Session lock): New node.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-05-25 00:00:27 +02:00
Jan (janneke) Nieuwenhuizen
0cbb5390e4
doc: Update to the new 'grub-theme' procedure.
This is a follow-up commit to 9cdb10d52e:
gnu: grub: Allow a PNG image and replace "aspect-ratio" with "resolution".

* doc/guix.texi (Bootloader Configuration): Describe and use the 'grub-theme'
procedure instead of the removed '%default-theme' variable.
2020-05-24 22:36:19 +02:00
Jan Nieuwenhuizen
cd5d5f5322
doc: Update 'Bootstrapping' for further binary seed reduction.
* doc/images/gcc-core-mesboot0-graph.dot: New image, replacing
* doc/images/gcc-mesboot0-bag-graph.dot: ... remove file.
* doc/local.mk (DOT_FILES): Update for new image file.
* doc/guix.texi (Reduced Binary Seed Bootstrap): Use it in updated description
of further reduction of the trusted computing base.
2020-05-22 16:11:52 +02:00
Ludovic Courtès
ce0be5675b
packages: Introduce <content-hash> and use it in <origin>.
* guix/packages.scm (<content-hash>): New record type.
(define-content-hash-constructor, build-content-hash)
(content-hash): New macros.
(print-content-hash): New procedure.
(<origin>): Rename constructor to '%origin'.
[sha256]: Remove field.
[hash]: New field.  Adjust users.
(origin-compatibility-helper, origin): New macros.
(origin-sha256): New deprecated procedure.
(origin->derivation): Adjust accordingly.
* tests/packages.scm ("package-source-derivation, origin, sha512"): New
test.
* guix/tests.scm: Hide (gcrypt hash) 'sha256' for proper syntax
matching.
* tests/challenge.scm: Add #:prefix for (gcrypt hash) and adjust users.
* tests/derivations.scm: Likewise.
* tests/store.scm: Likewise.
* tests/graph.scm ("bag DAG, including origins"): Provide 'sha256' field
with the right length.
* gnu/packages/aspell.scm (aspell-dictionary)
(aspell-dict-ca, aspell-dict-it): Use 'hash' and 'content-hash' for
proper syntax matching.
* gnu/packages/bash.scm (bash-patch): Rename 'sha256' to 'sha256-bv'.
* gnu/packages/bootstrap.scm (bootstrap-executable): Rename 'sha256' to 'bv'.
* gnu/packages/readline.scm (readline-patch): Likewise.
* gnu/packages/virtualization.scm (qemu-patch): Rename 'sha256' to
'sha256-bv'.
* guix/import/utils.scm: Hide (gcrypt hash) 'sha256'.
2020-05-22 01:29:39 +02:00
Ludovic Courtès
0e4e9c8e76
guix hash, guix download: Support base64 format.
* guix/scripts/download.scm (show-help, %options): Support "base64"
format.
* guix/scripts/hash.scm (show-help, %options): Likewise.
* tests/guix-hash.sh: Test it.
* doc/guix.texi (Invoking guix hash): Document it.
2020-05-22 00:35:24 +02:00
Ludovic Courtès
18ae1ec3ec
guix hash, guix download: Add '--hash'.
* guix/scripts/download.scm (%default-options): Add 'hash-algorithm'.
(show-help, %options): Add "--hash".
(guix-download): Honor it.
* guix/scripts/hash.scm (%default-options): Add 'hash-algorithm'.
(show-help, %options): Add "--hash".
(guix-hash): Honor it.
* tests/guix-hash.sh: Test '-H sha512'.
* doc/guix.texi (Invoking guix download): Document it.
(Invoking guix hash): Document it.
2020-05-22 00:35:24 +02:00
Ludovic Courtès
1ad5209d90
maint: Add "make check-channel-news".
* build-aux/check-channel-news.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
(check-channel-news): New phony rule.
* doc/contributing.texi (Commit Access): Mention "make check-channel-news".
2020-05-22 00:35:23 +02:00
Ludovic Courtès
5e46b827cf
doc: Use "Alternatively" instead of "Alternately".
These two words have different meanings and we really meant
"alternatively" here.

* doc/guix.texi (System Installation):
(Preparing for Installation):
(Invoking guix refresh):
(Invoking guix challenge):
(Networking Services): "Alternatively", not "Alternately".
2020-05-22 00:35:23 +02:00
Maxim Cournoyer
b460ba7992
bootloader: grub: Allow booting from a Btrfs subvolume.
* gnu/bootloader/grub.scm (strip-mount-point): Remove procedure.
(normalize-file): Add procedure.
(grub-configuration-file): New BTRFS-SUBVOLUME-FILE-NAME parameter.  When
defined, prepend its value to the kernel and initrd file names, using the
NORMALIZE-FILE procedure.  Adjust the call to EYE-CANDY to pass the
BTRFS-SUBVOLUME-FILE-NAME argument.  Normalize the KEYMAP file as well.
(eye-candy): Add a BTRFS-SUBVOLUME-FILE-NAME parameter, and use it, along with
the NORMALIZE-FILE procedure, to normalize the FONT-FILE and IMAGE nested
variables.  Adjust doc.
* gnu/bootloader/depthcharge.scm (depthcharge-configuration-file): Adapt.
* gnu/bootloader/extlinux.scm (extlinux-configuration-file): Likewise.
* gnu/system/file-systems.scm (btrfs-subvolume?)
(btrfs-store-subvolume-file-name): New procedures.
* gnu/system.scm (operating-system-bootcfg): Specify the Btrfs
subvolume file name the store resides on to the
`operating-system-bootcfg' procedure, using the new
BTRFS-SUBVOLUME-FILE-NAME argument.
* doc/guix.texi (File Systems): Add a Btrfs subsection to document the use of
subvolumes.
* gnu/tests/install.scm (%btrfs-root-on-subvolume-os)
(%btrfs-root-on-subvolume-os-source)
(%btrfs-root-on-subvolume-installation-script)
(%test-btrfs-root-on-subvolume-os): New variables.
2020-05-20 08:30:35 -04:00
Maxim Cournoyer
fa35fb58c8
file-systems: Add helpers for parsing the options string into an alist.
* gnu/system/file-systems.scm (file-system-options->alist)
(alist->file-system-options): New procedures.
* tests/file-systems.scm: New tests.
* doc/guix.texi (File Systems): Add note about the newly added procedures.
2020-05-20 08:30:34 -04:00
Maxim Cournoyer
281d80d8e5
linux-boot: Refactor boot-system.
The --root option can now be omitted, and inferred from the root file system
declaration instead.

* gnu/build/file-systems.scm (canonicalize-device-spec): Extend to support NFS
directly, and...
* gnu/build/linux-boot.scm (boot-system): ...remove NFS special casing from
here.  Remove nested definitions for root-fs-type, root-fs-flags and
root-fs-options, and bind those inside the let* instead.  Make "--root" take
precedence over the device field string representation of the root file
system.
* doc/guix.texi (Initial RAM Disk): Document that "--root" can be left
unspecified.
2020-05-20 08:30:34 -04:00
Ekaitz Zarraga
9a27d84b7a
guix describe: Add '--list-formats'
* guix/scripts/describe.scm (%available-formats): New variable.
(list-formats): New procedure.
(%options, show-help): Add --list-formats
* doc/guix.texi: Add --list-formats

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-05-18 15:08:58 +02:00
Ludovic Courtès
e5b495c18f
doc: Inherit md5.scm fix in custom 'guile-lib' variant.
* doc/build.scm (guile-lib/htmlprag-fixed)[source]: Remove.
[arguments]: Add 'fix-htmlprag' phase.
2020-05-18 15:08:58 +02:00
Julien Lepiller
e39b857d74
doc: meson-build-system: Fix build type documentation.
* doc/guix.texi (Build Systems): Fix meson build system description.
2020-05-17 03:28:49 +02:00
zimoun
6d85945156
doc: Reword "The GCC toolchain".
Fix commit 1f14e25c19
as discussed in <https://bugs.gnu.org/41038>.

* doc/guix.texi (Packages for C Development): Rename to...
(The GCC toolchain): ...this. Add gfortran-toolchain.
(Invoking guix package): Add guix-search anchor.
(Application Setup)[The GCC toolchain]: Remove.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-05-16 19:54:52 +02:00
Tobias Geerinckx-Rice
1a1faa78b0
etc: Add a systemd unit to bind-mount @storedir@ read-only.
* etc/gnu-store.mount.in: New file.
* nix/local.mk (nodist_systemdservice_DATA): Add it.
(etc/%.mount): New rule for it.
* etc/guix-install.sh (sys_enable_guix_daemon): Install it.
* doc/guix.texi (Binary Installation): Document it.
* .gitignore: Ignore changes to it.
2020-05-16 15:37:41 +02:00
Ludovic Courtès
644cb40cd8
gexp: Add 'let-system'.
* guix/gexp.scm (<system-binding>): New record type.
(let-system): New macro.
(system-binding-compiler): New procedure.
(default-expander): Add 'self-quoting?' case.
(self-quoting?): New procedure.
(lower-inputs): Add 'filterm'.  Pass the result of
'mapm/accumulate-builds' through FILTERM.
(gexp->sexp)[self-quoting?]: Remove.
* tests/gexp.scm ("let-system", "let-system, target")
("let-system, ungexp-native, target")
("let-system, nested"): New tests.
* doc/guix.texi (G-Expressions): Document it.
2020-05-16 00:34:41 +02:00
Ludovic Courtès
6456232164
pack: Add relocation via ld.so and fakechroot.
* gnu/packages/aux-files/run-in-namespace.c (HAVE_EXEC_WITH_LOADER): New
macro.
(bind_mount): Rename to...
(mirror_directory): ... this.  Add 'firmlink' argument and use it
instead of calling mkdir/open/close/mount directly.
(bind_mount, make_symlink): New functions.
(exec_in_user_namespace): Adjust accordingly.
(exec_with_loader) [HAVE_EXEC_WITH_LOADER]: New function.
(exec_performance): New function.
(engines): Add them.
* guix/scripts/pack.scm (wrapped-package)[fakechroot-library]
[audit-module]: New procedures.
[audit-source]: New variable.
[build](elf-interpreter, elf-loader-compile-flags): New procedures.
(build-wrapper): Use them.
* tests/guix-pack-relocatable.sh: Test with
'GUIX_EXECUTION_ENGINE=fakechroot'.
* doc/guix.texi (Invoking guix pack): Document the 'performance' and
'fakechroot' engines.
* gnu/packages/aux-files/pack-audit.c: New file.
* Makefile.am (AUX_FILES): Add it.
2020-05-14 17:21:27 +02:00
Ludovic Courtès
fde2aec3f4
pack: Wrapper honors 'GUIX_EXECUTION_ENGINE' environment variable.
* gnu/packages/aux-files/run-in-namespace.c (struct engine): New type.
(exec_default): New function.
(engines): New variable.
(execution_engine): New function.
(main): Use it instead of calling 'exec_in_user_namespace' and
'exec_with_proot' directly.
* tests/guix-pack-relocatable.sh: Add test with 'GUIX_EXECUTION_ENGINE'.
* doc/guix.texi (Invoking guix pack): Document 'GUIX_EXECUTION_ENGINE'.
2020-05-14 17:21:27 +02:00
Brice Waegeneire
15014dc618
doc: Mention guix-daemon's 'https_proxy' environment variable.
* doc/guix.texi (Proxy Settings, Derivations): Mention 'https_proxy'.
2020-05-13 10:53:11 +02:00
nikita
3c986a7dc2
mailmap: Update entries for Nikita.
* .mailmap: change email and name for Nikita.
* Makefile.am, doc/guix.texi, etc/completion/fish/guix.fish,
gnu/packages/accessibility.scm, gnu/packages/admin.scm,
gnu/packages/audio.scm, gnu/packages/autotools.scm, gnu/packages/cdrom.scm,
gnu/packages/check.scm, gnu/packages/cinnamon.scm,
gnu/packages/compression.scm, gnu/packages/crypto.scm,
gnu/packages/databases.scm, gnu/packages/django.scm, gnu/packages/dns.scm,
gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/emacs.scm,
gnu/packages/enlightenment.scm, gnu/packages/erlang.scm,
gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/forth.scm,
gnu/packages/fvwm.scm, gnu/packages/games.scm, gnu/packages/gl.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile-xyz.scm,
gnu/packages/haskell-apps.scm, gnu/packages/haskell-check.scm,
gnu/packages/haskell-crypto.scm, gnu/packages/haskell-xyz.scm,
gnu/packages/haskell.scm, gnu/packages/image-viewers.scm,
gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/language.scm,
gnu/packages/libcanberra.scm, gnu/packages/linux.scm,
gnu/packages/lisp-xyz.scm, gnu/packages/lisp.scm, gnu/packages/lolcode.scm,
gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/mail.scm,
gnu/packages/markup.scm, gnu/packages/mate.scm, gnu/packages/maths.scm,
gnu/packages/mc.scm, gnu/packages/messaging.scm, gnu/packages/music.scm,
gnu/packages/ncurses.scm, gnu/packages/networking.scm,
gnu/packages/nickle.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm,
gnu/packages/perl-check.scm, gnu/packages/perl.scm,
gnu/packages/python-compression.scm, gnu/packages/python-crypto.scm,
gnu/packages/python-web.scm, gnu/packages/python-xyz.scm,
gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm,
gnu/packages/rust.scm, gnu/packages/scheme.scm,
gnu/packages/serialization.scm, gnu/packages/shells.scm,
gnu/packages/ssh.scm, gnu/packages/suckless.scm, gnu/packages/tbb.scm,
gnu/packages/telephony.scm, gnu/packages/text-editors.scm,
gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm,
gnu/packages/tor.scm, gnu/packages/version-control.scm,
gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/web.scm,
gnu/packages/wm.scm, gnu/packages/xdisorg.scm, gnu/packages/xfce.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/services/certbot.scm,
gnu/services/desktop.scm, gnu/services/version-control.scm,
gnu/services/web.scm, guix/import/hackage.scm, guix/licenses.scm: Likewise.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2020-05-13 09:30:26 +03:00
Brice Waegeneire
a1891cbffb
doc: Specify the branch name in the title of a patch.
* doc/contributing.texi (Submitting Patches): Add branch name in the
title of a patch if different than master.
2020-05-12 22:10:11 +02:00
Ludovic Courtès
88a96c568c
guix graph: Add '--path'.
* guix/scripts/graph.scm (display-path): New procedure.
(%options, show-help): Add '--path'.
(guix-graph): Handle it.
* tests/guix-graph.sh: Add tests.
* doc/guix.texi (Invoking guix graph): Document it.
(Invoking guix size): Mention it.
2020-05-11 23:30:55 +02:00
Ludovic Courtès
c2b2c19a7b
doc: Mention xdot.
* doc/guix.texi (Invoking guix graph): Mention xdot.  Remove a couple of
"| dot -Tpdf" in examples and add "| xdot".
(Invoking guix system): Likewise.
(Preparing to Use the Bootstrap Binaries): Likewise.
2020-05-11 23:30:54 +02:00
Marius Bakke
4bdf4182fe
Merge branch 'core-updates' 2020-05-08 21:40:51 +02:00
Nicolas Goaziou
9ce89e597e
doc: Use @option for command-line options
* doc/guix.texi (Invoking guix system): Use @option instead of @code.
2020-05-07 13:59:38 +02:00
Ludovic Courtès
d6c43d7bc1
guix system: 'docker-image' honors '--network'.
* gnu/system/vm.scm (system-docker-image): Add #:shared-network? and
pass it to 'containerized-operating-system'.
(qemu-image):
* guix/scripts/system.scm (system-derivation-for-action): Pass
 #:shared-network? to 'system-docker-image'.
* doc/guix.texi (Invoking guix system): Document it.
2020-05-07 12:55:14 +02:00
Nicolas Goaziou
f45baa4a0a
doc: Tiny markup fix.
* doc/guix.texi (Substitute Authentication): Use @samp instead of @code for
pseudo-code.
2020-05-07 11:55:02 +02:00
Nicolas Goaziou
82426f4d4a
doc: Remove markup for external package names.
* doc/guix.texi (Invoking guix import): Remove markup, which is not warranted
here.
2020-05-07 11:49:07 +02:00
Nicolas Goaziou
13b0777f25
doc: Use @file instead of @code also for file extensions.
* doc/guix.texi (Defining Packages):
(Build Systems):
(Derivations):
(Invoking guix import):
(Printing Services):
(Installing Debugging Files):
(Preparing to Use the Bootstrap Binaries): Use @file instead of @code.
2020-05-07 11:47:13 +02:00
Nicolas Goaziou
7ebe3163d6
doc: Use @env for environment variables.
* doc/guix.texi (Binary Installation):
(Build Environment Setup):
(Invoking guix-daemon):
(Application Setup):
(After System Installation):
(Invoking guix package):
(Proxy Settings):
(Invoking guix environment):
(Packages for C Development):
(Package Modules):
(Build Systems):
(The Store):
(Common Build Options):
(Invoking guix download):
(Invoking guix refresh):
(Using the Configuration System):
(Locales):
(Base Services):
(Networking Services):
(Sound Services):
(Continuous Integration):
(PAM Mount Service):
(X.509 Certificates): Use @env instead of @code for environment variables.
2020-05-07 11:42:12 +02:00
Nicolas Goaziou
a87c90862c
doc: Use @option instead of @code.
* doc/guix.texi (Binary Installation):
(Requirements):
(Build Environment Setup):
(Invoking guix-daemon):
(Application Setup):
(Invoking guix package):
(Substitute Server Authorization):
(Substitution Failure):
(Invoking guix gc):
(Invoking guix pull):
(Invoking guix archive):
(Invoking guix environment):
(Invoking guix pack):
(Defining Packages):
(Build Systems):
(The Store):
(Invoking guix build):
(Common Build Options):
(Package Transformation Options):
(Additional Build Options):
(Debugging Build Failures):
(Invoking guix edit):
(Invoking guix import):
(Invoking guix refresh):
(Invoking guix lint):
(Invoking guix publish):
(Invoking guix challenge):
(Base Services):
(Virtualization Services):
(Initial RAM Disk):
(Invoking guix system):
(Preparing to Use the Bootstrap Binaries):
(Porting): Use @option instead of @code for command-line options.
2020-05-07 11:21:31 +02:00
Pierre Neidhardt
caf90167fb
doc: Fix typo in container example.
* doc/guix.texi (Invoking `guix environment'): Fix sll -> ssl typo.
2020-05-07 10:37:11 +02:00
Pierre Neidhardt
60131df02b
doc: Add container example to run a web browser.
* doc/guix.texi (Invoking `guix environment'): Add paragraph and example to
  run Eolie in a guix environment container.  Add `container' cindex for the
  first container example, and the `certificates' cindex for the web browser
  example.
2020-05-07 10:04:14 +02:00
Marius Bakke
c263cfdcde
Merge branch 'master' into core-updates 2020-05-06 23:37:40 +02:00
Brice Waegeneire
2f93615670
doc: Clarify 'git-http-configuration' description.
Fix <https://issues.guix.info/31780>.

* doc/guix.texi (Version Control Service): Extend
'git-http-configuration' description.
2020-05-06 11:03:43 +02:00
Marius Bakke
87a40d7203
Merge branch 'master' into core-updates 2020-05-05 20:43:21 +02:00
Jean-Baptiste Note
751d1f01e4
doc: cookbook: Fix sbcl-ttf-fonts package name.
* doc/guix-cookbook.texi (StumpWM): Adjust sbcl-ttf-fonts package name.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-05-05 20:09:39 +02:00