Commit graph

2207 commits

Author SHA1 Message Date
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