me
/
guix
Archived
1
0
Fork 0
Commit Graph

2251 Commits (2feea84c49103c21c3da0835204347550d95048b)

Author SHA1 Message Date
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
Maxim Cournoyer 720a4adc91
system: Modify GDB skeleton to find debug files for any profile.
Instead of hard coding the debug directory to that of the user profile, use
Guile scripting in combination with a new search path specification on GDB to
specify the debug file directories.

* gnu/packages/gdb.scm (gdb-9.1): Add a search path specification for the
GDB_DEBUG_FILE_DIRECTORY environment variable.
* gnu/system/shadow.scm (default-skeletons)[gdbinit]: Derive the value of
DEBUG-FILE-DIRECTORY via the GDB_DEBUG_FILE_DIRECTORY environment variable.
* doc/guix.texi (Installing Debugging Files): Document it.
2020-08-16 15:26:26 -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
Jakub Kądziołka d726b954ba
Merge branch 'master' into core-updates
Conflicts:
	gnu/packages/ruby.scm
2020-07-23 21:43:06 +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
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
Jakub Kądziołka 849f6e0ff9
build-system/python: Install to the python output if present.
* gnu/build/python-build-system.scm (python-output): New procedure.
  (site-packages, install): Use python-output to find the output path.
  (wrap, rename-pth-file): Use site-packages where appropriate.
* doc/guix.texi (Build Systems): Mention the new behavior.
2020-07-18 16:40:15 +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
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
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
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
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
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
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
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
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
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
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
Jan (janneke) Nieuwenhuizen 0cbb5390e4
doc: Update to the new 'grub-theme' procedure.
This is a follow-up commit to 9cdb10d52e34f7e8fa3b6238fe268646a4bbb877:
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 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
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
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
Nicolas Goaziou 826c2eecbe
doc: Typographic improvements.
* doc/guix.texi (Networking Services): Use @var, @option, and @command when
appropriate.  Add two spaces after sentences.
2020-05-05 16:38:29 +02:00
pinoaffe 051f3254cd
gnu: Add AutoSSH service.
* gnu/services/ssh.scm (<autossh-configuration>): New record type.
(autossh-service-type): New variable.
(autossh-service-activation, autossh-file-name): New procedures.
* doc/guix.texi (Networking Services): Document this.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2020-05-05 15:32:40 +03:00
Ludovic Courtès 9dbc7f50ab
doc: Remove prompt from X.509 examples.
* doc/guix.texi (X.509 Certificates): Remove leading "$".
2020-05-04 23:07:57 +02:00
Ludovic Courtès 1f14e25c19
doc: Add "Packages for C Development" section.
Suggested by Bruno Haible <bruno@clisp.org>
in <https://bugs.gnu.org/41038>.

* doc/guix.texi (Packages for C Development): New node.
(Application Setup)[The GCC toolchain]: Empty and refer to it.
2020-05-04 10:50:18 +02:00
Marius Bakke 50e6c1bf2e
Merge branch 'master' into core-updates 2020-05-02 17:31:28 +02:00
Pierre Langlois 5a0b78e62b
services: dnsmasq: Support the --address flag.
Introduce a new `addresses' field that translates to passing `--address='
multiple times to dnsmasq.

* gnu/services/dns.scm (<dnsmasq-configuration>): Add an addresses field.
(dnsmasq-shepherd-service): Match the addresses field and translate it to
multiple '--address=' flags.
* doc/guix.texi (DNS Services): Document it.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-05-02 13:00:24 +08:00
Marius Bakke a2522c5da3
doc: Update initrd section to refer to the right Guile variable.
This is a follow-up to commit 57833803b4.

* doc/guix.texi (Initial RAM Disk): Refer to "%guile-3.0-static-stripped"
instead of "%guile-static-stripped".
2020-05-01 22:34:22 +02:00
Brice Waegeneire dc6eec77a5
doc: Move 'Dictionary Service' under 'Miscellaneous Services'.
* doc/guix.texi (Dictionary Service): Renamed to singular and changed
from 'subsubsection' to 'subheading'.

Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
2020-05-01 16:40:42 +02:00
Brice Waegeneire c316b85692
doc: Replace section 'Early OOM service' by 'Linux Services'.
* doc/guix.texi (Linux Services): Changed from 'subsubheading' to
'subsection'.
(Early OOM Service, Kernel Module Loader Service): Moved under 'Linux
Services'.

Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
2020-05-01 16:40:41 +02:00
Florian Pelz e06664da02
system: Blacklist usbmouse kernel module in default kernel-arguments.
This avoids a race with the bcm5974 kernel module.
Fixes <https://bugs.gnu.org/35574>.

* gnu/system.scm (%default-modprobe-blacklist): New variable.
(<operating-system>)[kernel-arguments]: Default to ...
(%default-kernel-arguments): ... this new variable.
* doc/guix.texi (operating-system Reference): Document the change.
2020-05-01 08:46:59 +00:00
Leo Famulari 6c7a39c45e
doc: Bootloader Configuration: Fix an obsolete example.
Reported by rawmat on #guix.

* doc/guix.texi (Bootloader Configuration): Replace 'grub-configuration' with
'bootloader-configuration'.
2020-04-30 17:22:01 -04:00
Diego Nicola Barbato e4aa9ab637
doc: Mention that PulseAudio service overrides user configuration.
* doc/guix.texi (Sound Services): Add a warning that 'pulseaudio-service-type'
  overrides per-user configuration files in '~/.config/pulse'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-04-28 23:28:17 +02:00
operator.name 619f9181a3
doc: Update url to singularity before link rot occurs.
* doc/guix.texi: Update url to singularity before link rot occurs.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-04-27 23:29:40 +02:00
TomZ f4f4aa628a
doc: guix: Fix grammar in "Debugging Build Failures"
* doc/guix.texi (Debugging Build Failures): Fix grammar.

Signed-off-by: Jakub Kądziołka <kuba@kadziolka.net>
2020-04-27 18:24:19 +02:00
Nicolas Goaziou d558de8048
doc: guix: Fix some markup.
* doc/guix.texi (Build Systems):
(Base Services):
(X Window):
(Printing Services):
(Mail Services):
(Messaging Services):
(LDAP Services):
(Virtualization Services):
(Version Control Services): Use @samp, @code and double quotes where
appropriate.
2020-04-25 23:35:44 +02:00
Raghav Gururajan 5483a2d0a9
gnu: font-gnu-freefont: Add otf and woff font types.
* gnu/packages/fonts.scm (font-gnu-freefont): Add otf and woff font types.
* gnu/packages/genealogy.scm (gramps)[inputs]: Replace font-gnu-freefont-tff
with font-gnu-freefont.
* doc/guix.texi: Adjust a reference to the package.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-04-22 17:59:44 -04:00
Ludovic Courtès 9475c631a7
doc: Adjust @var vs. @code.
* doc/guix.texi (Base Services): Adjust @var vs. @code.  Use 'cons'
instead of 'cons*' in example.
2020-04-22 19:23:58 +02:00
Brice Waegeneire 2b0c0d9301
services: Add udev-rules-service helper.
* doc/guix.texi (Base services): Add documentation for
'udev-rules-service'. Replace examples of 'udev-service-type' extension
with 'udev-rules-service'.
* gnu/services/base.scm (udev-rules-service): New procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-04-22 19:23:58 +02:00
Ludovic Courtès 34faf63ebc
gexp: Add 'load-path?' field to <scheme-file>.
* guix/gexp.scm (<scheme-file>)[load-path?]: New field.
(scheme-file): Add #:set-load-path? and honor it.
(scheme-file-compiler): Pass #:set-load-path? to 'gexp->file'.
* doc/guix.texi (G-Expressions): Document it.
2020-04-22 19:23:57 +02:00
Ludovic Courtès c8d8f6160e
packages: Recommend against the use of 'package-file'.
* guix/packages.scm (package-file): Recommend against its use in the
docstring.
* doc/guix.texi (The Store Monad): Likewise.
2020-04-21 00:06:40 +02:00
Ludovic Courtès 5e7076f2a5
services: Add 'simulated-wifi-service-type'.
* gnu/services/networking.scm (simulated-wifi-shepherd-services): New
procedure.
(simulated-wifi-service-type): New variable.
* doc/guix.texi (Networking Services): Document it.
2020-04-19 23:50:17 +02:00
Ludovic Courtès a03943ec00
services: Add 'hostapd-service-type'.
* gnu/services/networking.scm (<hostapd-configuration>): New record
type.
(hostapd-configuration-file, hostapd-shepherd-services): New
procedures.
(hostapd-service-type): New variable.
* doc/guix.texi (Networking Services): Document it.
2020-04-19 23:50:17 +02:00
Ludovic Courtès 40c6b1802c
doc: Make install script more prominent.
Suggested by Steven vanZyl <rushsteve1@rushsteve1.us>.

* doc/guix.texi (Binary Installation): Add @example showing how to
download the script.  Use "systemctl enable --now".
2020-04-19 13:27:07 +02:00
mikadoZero a37c59af62
doc: Update nar decompression examples.
* doc/guix.texi (Invoking guix archive): Show /gzip URL.
Add cross-reference to "Invoking guix challenge".
(Invoking guix challenge): Show /lzip URL.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-04-17 23:18:32 +02:00
Ludovic Courtès 9d0b9c7c6c
maint: Provide the configuration file in the VM image.
This fixes a bug introduced in 362bcdb1b0
whereby the VM image would no longer contain /etc/config.scm, contrary
to what the manual says.

Reported by dbdude on #guix.

* Makefile.am (release): Pass '--save-provenance' to 'guix system
vm-image'.
* doc/guix.texi (Running Guix in a VM): Adjust file name accordingly.
2020-04-17 23:18:32 +02:00
Ludovic Courtès 08a70aa424
doc: Replace incorrect uses of @var with @code.
@var is for meta-syntactic variables but it is used in some places for
mere variables, which is incorrect and leads to inconsistent layout in
PDF and HTML.

* doc/guix.texi (package Reference, The Store Monad)
(G-Expressions, operating-system Reference)
(File Systems, Base Services, Log Rotation)
(Networking Services, Invoking guix deploy): Replace incorrect uses of
@var with @code.
2020-04-17 13:03:01 +02:00
Ricardo Wurmus c9f321e52a
doc: Document building and installing from JSON files.
* doc/guix.texi (Invoking guix package): Augment pargraphs for
"--install-from-file".
(Invoking guix build): Document building from JSON files.
* doc/package-hello.json: New file.
* doc/local.mk (EXTRA_DIST): Add it.
2020-04-16 23:41:52 +02:00
R Veera Kumar cc36b7c855
doc: Add dicod-service-type in Dictionary Services.
* doc/guix.texi (Miscellaneous Services): Add dicod-service-type
in Dictionary Services.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-04-16 18:33:21 +02:00
Ludovic Courtès 33f3fef383
doc: Remove bogus index entry.
* doc/guix.texi (Build Systems): Remove bogus and redundant entry for
'copy-build-system'.
2020-04-16 18:33:21 +02:00
Nicolas Goaziou b44e19acd1
doc: Fix typo.
* doc/guix.texi (Running Guix in a VM): Add missing reference to
`spice-vdagent-service' and misuse of @pxref.
2020-04-15 19:11:32 +02:00
Brice Waegeneire 1373cb4080
doc: Fix typo.
* doc/guix.texi (Web Services)[nginx-php-fpm-location]: Replace
'nginx-php-fpm-location' by 'nginx-php-location'.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-04-14 19:21:12 +01:00
Ludovic Courtès 8c04471f24
doc: Mention HTTP/HTTPS proxy in the system installation instructions.
* doc/guix.texi (Keyboard Layout and Networking and Partitioning):
Mention 'herd set-http-proxy guix-daemon'.
2020-04-08 12:42:41 +02:00
Ludovic Courtès 3302e03ba0
services: guix: Add 'set-http-proxy' action.
Fixes <https://bugs.gnu.org/25569>.
Reported by Divan Santana <divan@santanas.co.za>.

* gnu/services/base.scm (shepherd-set-http-proxy-action): New procedure.
(guix-shepherd-service): Add 'actions' field.  Change 'start' to a
lambda; check the value of the "http_proxy" environment variable and
add "http_proxy" and "https_proxy" to #:environment-variables as a
function of that.
* gnu/tests/base.scm (run-basic-test)["guix-daemon set-http-proxy
action", "guix-daemon set-http-proxy action, clear"]: New tests.
* doc/guix.texi (Base Services): Document it.
2020-04-07 12:31:36 +02:00
Ludovic Courtès 0468455e7d
services: Add 'rottlog-service-type' to '%base-services'.
* gnu/services/base.scm (%base-services): Add an instance of
ROTTLOG-SERVICE-TYPE.
* doc/guix.texi (Log Rotation): Mention that it's part of
%BASE-SERVICES and change example.
2020-04-06 12:07:49 +02:00
Ludovic Courtès d636e54c27
doc: Make 'fc-cache -rv' instructions more prominent.
* doc/guix.texi (Application Setup): Move the "fc-cache" instructions
next to the Fontconfig paragraph and make the command more visible.
2020-04-06 12:07:49 +02:00
Ricardo Wurmus f00f52a1fb
gnu: mumi: Update to 0.0.0-12.bb2fe92.
* gnu/packages/mail.scm (mumi): Update to 0.0.0-12.bb2fe92.
[inputs]: Add guile-gcrypt, guile-redis, guile-webutils, mailutils.
* gnu/services/web.scm (<mumi-configuration>): New record type.
(mumi-configuration, mumi-configuration?, mumi-configuration-mumi,
mumi-configuration-mailer?, mumi-configuration-sender,
mumi-configuration-smtp): New procedures.
(mumi-shepherd-services): Accept configuration; adjust start commands; add
Shepherd service for mumi mailer.
(mumi-service-type): Pass default configuration.
* doc/guix.texi (Web Services): Update documentation.
2020-04-06 08:40:50 +02:00
Ludovic Courtès 2729cb406d
system: Allow for comma-separated keyboard layouts.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.

* gnu/bootloader/grub.scm (keyboard-layout-file): Replace commas with
hyphens in the first argument to 'computed-file'.
* gnu/system/keyboard.scm (keyboard-layout->console-keymap): Likewise.
* doc/guix.texi (Keyboard Layout): Add example.
2020-04-06 00:14:13 +02:00
Brice Waegeneire 044d1478c9
gnu: Add kernel-module-loader-service.
* doc/guix.texi (Linux Services): Add a new subsection and document the
new service and its configuration.
* gnu/services/linux.scm (kernel-module-loader-service-type): New type.
(kernel-module-loader-shepherd-service): New procedure.
* gnu/tests/linux-modules.scm (module-loader-program): Procedure
removed.
(modules-loaded?-program): New procedure.
(run-loadable-kernel-modules-test): 'module-loader-program' procedure
replaced by the new one.
[os]: Use 'kernel-module-loader-service'.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-04-05 13:07:13 +02:00
Ricardo Wurmus bc3fda5d2b
services/nfs: Replace nfs-version with nfs-versions.
Instead of accepting a string for just one protocol version accept a list of
supported versions.

* gnu/services/nfs.scm (<nfs-configuration>)[nfs-version]: Remove field and
replace...
[nfs-versions]: ...with this new field.
(nfs-shepherd-services): Pass as many "--nfs-version" options as there are
supported versions.
* doc/guix.texi (Network File System): Document nfs-versions.
2020-03-27 15:30:44 +01:00
Danny Milosavljevic be743fc0fd
doc: Document that a working environment for building Guix requires "--pure".
* doc/guix.texi (Invoking guix environment): Document that a working
environment for building Guix requires "--pure".
2020-03-24 19:25:25 +01:00
Naga Malleswari 54a9fe3429
doc: Fix typo in example.
* doc/guix.texi (Base Services)[file->udev-rule]: Correct misspelt
"user-account".

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-03-24 13:10:43 +01:00
Naga Malleswari 022767d7c1
doc: Fix typo.
* doc/guix.texi (Invoking guix time-machine): Fix typo.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-03-24 13:07:17 +01:00
Brice Waegeneire 1a5443e86b
doc: Fix typo in example.
* doc/guix.texi (Invoking guix deploy): Fix example to use '%user'
variable defined above.

Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
2020-03-23 18:57:01 +01:00
John Soo 8825f9955a
doc: Add console-font-service-type to Base Services.
* doc/guix.texi (Base Services): Add console-font-service-type.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2020-03-23 00:06:58 +01:00
Danny Milosavljevic 5c79f23863
system: Add kernel-loadable-modules to operating-system.
* gnu/system.scm (<operating-system>): Add kernel-loadable-modules.
(operating-system-directory-base-entries): Use it.
* doc/guix.texi (operating-system Reference): Document
KERNEL-LOADABLE-MODULES.
* gnu/build/linux-modules.scm (depmod): New procedure.
(make-linux-module-directory): New procedure.  Export it.
* guix/profiles.scm (linux-module-database): New procedure.  Export it.
* gnu/tests/linux-modules.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/linux.scm (make-linux-libre*)[arguments]<#:phases>[install]:
Disable depmod.  Remove "build" and "source" symlinks.
[native-inputs]: Remove kmod.
2020-03-22 12:51:50 +01:00
Maxim Cournoyer fdffceeb01
doc: Update to reflect the current installation prefix of Emacs packages.
* doc/guix.texi (Application Setup)[Emacs Packages]: No longer mention the
guix.d Elisp installation prefix.  Do not treat the user profile specially, as
it is not special anymore.
(Build Systems): Document the correct Elisp installation prefix.
2020-03-19 12:07:10 -04:00
Leo Famulari 001af160d5
doc: Correctly state the size of the glibc-locales package.
* doc/guix.texi (Application Setup): Give the correct size.
2020-03-18 14:42:05 -04:00
Maxim Cournoyer 6c3881078a
doc: Follow-up commit to f6b950319c.
* doc/guix.texi (Invoking guix deploy): Fix typo in example.

Reported-by: Ludovic Courtès <ludo@gnu.org>
2020-03-18 11:16:57 -04:00
Maxim Cournoyer f6b950319c
gnu: system: Export %sudoers-specification.
Exporting this variable allows reusing the default value of the `sudoers-file'
field when configuring it.

* gnu/system.scm (gnu): Export %sudoers-specification.
* doc/guix.texi (Invoking guix deploy): Document an example, to use with 'guix
deploy'.
2020-03-17 23:01:07 -04:00
Efraim Flashner db9b616110
doc: Fix typo in prosody configuration.
* doc/guix.texi (Messaging Services)[Prosody Service]: Switch 'cons' to
'cons*' in example prosody-service-type.
2020-03-17 13:08:39 +02:00
Tobias Geerinckx-Rice 2ec4607863
services: nginx: Fix broken default configuration.
* gnu/services/web.scm (nginx-configuration): Emit an empty events{}
block by default.
* doc/guix.texi (Web Services): Document it.
2020-03-16 03:19:55 +01:00
Ricardo Wurmus b420e6deb9
services/web: nginx-configuration: Add support for global directives.
* gnu/services/web.scm (<nginx-configuration>)[global-directives]: Add field.
(emit-global-directive): New procedure.
(default-nginx-config): Use it.
* doc/guix.texi (Web Services): Document it.
2020-03-15 12:05:32 +01:00
Leo Famulari 39356057bc
doc: Update guidance about Python 2 package variants.
* doc/contributing.texi (Python Modules): Don't recommend adding Python-2
package variants by default.
2020-03-13 19:27:33 -04:00
Ludovic Courtès be764b47ad
weather: Exit with non-zero when coverage is below 100%.
* guix/scripts/weather.scm (report-server-coverage): Return the coverage ratio.
(guix-weather): Exit if and only if each server's coverage is 1.
2020-03-13 17:33:37 +01:00
Ludovic Courtès 2843fed0e9
weather: Allow for multiple '--manifest' options.
* guix/scripts/weather.scm (guix-weather)[package-list]: Account for all
the 'manifest entries in OPTS.
* doc/guix.texi (Invoking guix weather): Document it.
2020-03-12 18:32:16 +01:00
Ludovic Courtès 71bb485541
weather: Add '--display-missing'.
* guix/scripts/weather.scm (report-server-coverage): Add
 #:display-missing? and honor it.
(show-help, %options): Add "--display-missing".
(guix-weather): Pass #:display-missing? to 'report-server-coverage'.
* doc/guix.texi (Invoking guix weather): Document it.
2020-03-12 18:32:16 +01:00
Ludovic Courtès cf2ac04f13
gexp: Add 'with-parameters'.
* guix/gexp.scm (<parameterized>): New record type.
(with-parameters): New macro.
(compile-parameterized): New gexp compiler.
* tests/gexp.scm ("with-parameters for %current-system")
("with-parameters for %current-target-system")
("with-parameters + file-append"): New tests.
* doc/guix.texi (G-Expressions): Document it.
2020-03-12 18:32:15 +01:00
Danny Milosavljevic 04b4c43232
doc: Fix description for "guix package -A".
* doc/guix.texi (Invoking guix package): Fix description for "guix package -A".
2020-03-12 09:55:20 +01:00
Vitaliy Shatrov 21656ffa3b
doc: Use HTTPS for external links.
* doc/contributing.texi
  (14.1 Building from Git,
   14.3 The Perfect Setup,
   14.4.1 Software Freedom,
   14.4.4 Synopses and Descriptions,
   14.5.4 Formatting Code):
   Use HTTPS for @uref{}s and @url{}s that support it.

* doc/fdl-1.3.texi
  (Appendix A GNU Free Documentation License):
  Use HTTPS for @uref{}s and @url{}s that support it.

* doc/guix.texi
  (6.3 Build Systems,
   8.8.4 Networking Services,
   8.8.8 Sound Services,
   8.8.16 Web Services,
   8.11 Name Service Switch,
   12.2 Preparing to Use the Bootstrap Binaries);
   Use HTTPS for @uref{}s and @url{}s that support it.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-03-10 20:26:52 +01:00
Christopher Baines af96c1e0e4
services: cuirass: Allow passing extra command line options.
This is so that the options supported by the service configuration don't have
to always be changed. Generally though all options should be explicitly
supported and documented, so this is mostly to facilitate experimentation.

* gnu/services/cuirass.scm (<cuirass-configuration>): Add an extra-options
field.
(cuirass-shepherd-service): Pass the extra options to the shepherd servvices.
* doc/guix.texi (Continuous Integration): Document it.
2020-03-08 23:46:11 +00:00
Christopher Baines d8ab68b929
services: guix-data-service: Allow passing extra options.
This is so that the options supported by the service configuration don't have
to always be changed. Generally though all options should be explicitly
supported and documented, so this is mostly to facilitate experimentation.

* gnu/services/guix.scm (<guix-data-service-configuration>): Add extra-options
and extra-process-jobs-options to the record type.
(guix-data-service-shepherd-services): Handle these new configuration record
fields.
* doc/guix.texi (Guix Data Service): Document these new options.
2020-03-08 23:35:03 +00:00
Jack Hill f6713b55a1
services: certbot: Add server option.
* gnu/services/certbot.scm (certbot-configuration): Add server option.
(certbot-command): Use server option.
(certbot-actication): Use server option.
(certbot-nginx-server-configurations): Use server option.
* doc/guix.texi (Certificate Services): Document server option.

Co-authored-by: Tobias Geerinckx-Rice <me@tobias.gr>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-03-08 21:21:57 +01:00
Eric Bavier bcfacecd3b
doc: Fix some typos.
* doc/guix.texi: Various typo fixes.
2020-03-01 12:11:29 -06:00
Lars-Dominik Braun 3789187252
build: Depend on guile-ssh 0.12.0
This is a followup to 35f3511167.

* m4/guix.m4 (GUIX_CHECK_GUILE_SSH): Check for userauth-gssapi!
* doc/guix.texi: Document version requirement

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-02-22 00:45:58 +01:00
Pierre Neidhardt dd2876aabc
doc: Fix copy-build-system specification.
* doc/guix.texi (Build Systems): Files must match one or more filters, not
  exactly one.
2020-02-21 13:09:29 +01:00
Tobias Geerinckx-Rice af51d01a8a
doc: Fix indentation.
This follows up on commit e90e64049c,
which broke ‘guix pull’.

* doc/guix.texi (Build Systems): Un-indent.
2020-02-21 12:28:02 +01:00
Nicolas Goaziou 2cf6366fec
doc: Fix typos.
* doc/guix.texi (Build Systems): Add missing hash to "#:exclude", and a comma
after "e.g.".  Use @file and @var appropriately.
2020-02-21 11:35:57 +01:00
Pierre Neidhardt e90e64049c
build-system: Add copy-build-system.
* guix/build-system/copy.scm: New file.
* guix/build/copy-build-system.scm: New file.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document 'copy-build-system'.
2020-02-21 10:53:11 +01:00
Nicolas Goaziou bf8dfe3df0
doc: Use two spaces after full stops.
* doc/guix.texi (The Store): Use two spaces after full stops.
2020-02-20 14:06:44 +01:00
Lars-Dominik Braun 35f3511167
ssh: Add Kerberos-support to ssh:// daemon URLs
* guix/ssh.scm (open-ssh-session): Fall back to GSSAPI if public key
authentication does not work

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-02-20 11:14:44 +01:00
Julien Lepiller c6c447701c
gnu: services: Add openvpn options.
* gnu/services/vpn.scm (openvpn-client-configuration)
(openvpn-server-configuration): Add fast-io? and auth-user-pass options.
2020-02-19 04:08:55 +01:00
Efraim Flashner 3c6aca4232
doc: Fix typo.
* doc/guix.texi (X Window)[sddm-service-type]: SSDM -> SDDM typo fix.
[sddm-configuration]: Also list 'maya' theme.
* gnu/services/sddm.scm (sddm-service): Fix typo in doc string.
(sddm-configuration): Also list 'maya' theme.
2020-02-16 09:25:00 +02:00
Ludovic Courtès 117d8467be
doc: Use @itemx as needed.
This is a followup to 459e096770.

* doc/guix.texi (Invoking guix environment): Use @itemx for '--share'.
2020-02-14 23:03:36 +01:00
Damien Cassou 459e096770
doc: Clarify documentation of guix environment --expose vs. --share
The documentation for --expose and --share parameters are so similar that the
reader has to read both descriptions in parallel to find the difference.

* doc/guix.texi (Invoking guix environment)[--expose, --share]: Merge the two
  descriptions into one.

Signed-off-by: Jakub Kądziołka <kuba@kadziolka.net>
2020-02-14 22:55:52 +01:00
Jakub Kądziołka 6a7f4d89b2
doc: Clarify how sudo and guix interact when updating
* doc/guix.texi (After System Installation): Explicitly explain the
  mechanics of how sudo differs from a login shell.

Some recent discussions on IRC suggest that the existing wording wasn't
entirely clear.
2020-02-14 19:05:59 +01:00
Marius Bakke 11415d3506
guix build: Add '--manifest' option.
* guix/scripts/build.scm (show-help): Document --manifest argument.
(options->things-to-build): When given a manifest, evaluate all the entries.
* tests/guix-build.sh: Add test for --manifest.
* doc/guix.texi (Additional Build Options): Mention --manifest.
* etc/completion/bash/guix: Complete file name if 'guix build' argument is
-m.
2020-02-14 17:49:26 +01:00
Marius Bakke 2cbccf7f65
Merge branch 'staging' 2020-02-10 20:11:26 +01:00
Leo Famulari 3c32ef7ae1
doc: Add missing copyright notice for Damien Cassou.
This is a followup to commit ea9cc4ef21.

* doc/guix.texi: Add copyright line.
2020-02-07 18:40:44 -05:00
Marius Bakke f10921c5ad
Merge branch 'master' into staging 2020-02-05 22:08:06 +01:00
Damien Cassou ea9cc4ef21
doc: Clarify documentation of Substitute Server Authorization.
* doc/guix.texi (Substitute Server Authorization): Highlight the salient part of
the example.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-02-05 15:07:50 -05:00
Ludovic Courtès 65e15bd902
doc: Improve "guix pack -f docker" example.
* doc/guix.texi (Invoking guix pack): Provide more concrete instructions
for the "guix pack -f docker" example.
2020-02-05 00:21:27 +01:00
Ludovic Courtès 8b3dc5cf0e
doc: Fix typo in channel example.
* doc/guix.texi (Channels): Use 'commit' field instead of 'branch' in
example.
2020-02-05 00:21:27 +01:00
Marius Bakke 0a83339bb1
Merge branch 'master' into staging 2020-02-03 15:35:51 +01:00
Maxim Cournoyer d3e439e355
gnu: Add earlyoom-service-type.
* gnu/services/linux.scm: New file.
* tests/services/linux.scm: Add test.
* Makefile.am (SCM_TESTS): Register test.
* doc/guix.texi (Linux Services): Add a new section and document the new
service and its configuration.
2020-01-31 23:37:13 -05:00
Hartmut Goebel 8377512e0c
guix: qt-build-system: Add phase `check-setup`.
* guix/build/qt-build-system.scm (check-setup): New function.
  (%standard-phases): Add as new phase `check-setup before `check.
* doc/guix.texi (Build System)[qt-build-system]: Describe the new phase.
2020-01-28 13:03:08 +01:00
Jan Nieuwenhuizen f52fe7c3f2
bootloader: grub: Add gfxmode (resolution) override.
* gnu/bootloader/grub.scm (<grub-theme>): Add `gfxmode' entry.
(eye-candy): Use it.
* doc/guix.texi (Bootloader Configuration): Document it.
2020-01-25 16:09:12 +01:00
Ludovic Courtès b2f948be9f
services: sane: Create the "scanner" account.
* gnu/services/desktop.scm (%sane-accounts, sane-service-type): New
variables.
(%desktop-services): Use SANE-SERVICE-TYPE instead of 'simple-service'.
* doc/guix.texi (Desktop Services): Document 'sane-service-type'.
2020-01-21 15:01:46 +01:00
Christopher Baines c8defb2b2a
services: getmail: Adjust a couple of default configuration values.
Change the message-log-syslog and message-log-verbose configuration values to
match the Getmail defaults.

* gnu/services/getmail.scm (getmail-options-configuration): Change defaults
for message-log-syslog and message-log-verbose
* doc/guix.texi (Mail Services): Update the Getmail documentation accordingly.
2020-01-20 19:13:16 +00:00
Christopher Baines 2e1a314871
services: getmail: Fix some configuration documentation strings.
* gnu/services/getmail.scm (getmail-retriever-configuration): Specify proper
documentation strings for some of the fields.
* doc/guix.texi (Mail Services): Update the documentation accordingly.
2020-01-20 19:09:00 +00:00
Ludovic Courtès a9f4a7eee3
repl: Add "-q".
* guix/scripts/repl.scm (%options, show-help): Add "-q".
(guix-repl): Add 'user-config' and use it.  Honor 'ignore-dot-guile?'.
2020-01-19 23:11:37 +01:00
Wiktor Żelazny 50299ade04
doc: Add booting instructions for Libreboot.
* doc/guix.texi (Booting): Mention the relevant command for USB.

Instructions for DVD and for Coreboot are missing.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-01-17 17:32:46 +01:00
Ludovic Courtès 7b2a47a702
build: Allow builds with Guile 3.0.
* configure.ac: Add "3.0" in 'GUILE_PKG' invocation.
* doc/guix.texi (Requirements): Mention 3.0.x.
2020-01-17 17:14:20 +01:00
Ludovic Courtès 0688ca7471
doc: Replace some invalid uses of @var with @code.
* doc/guix.texi (Build Systems): Replace invalid uses of @var with @code.
2020-01-17 14:22:07 +01:00
zimoun e8728862a1
repl: Add '--load-path' option.
* guix/scripts/repl.scm (%option): Add '--load-path' option.
* doc/guix.texi: Document it.
2020-01-16 15:27:24 +01:00
zimoun 3c8396b578
edit: Add '--load-path' option.
* guix/scripts/edit.scm (%option): Add '--load-path' option.
* doc/guix.texi: Document it.
2020-01-16 15:27:24 +01:00
zimoun 21f4fbdd84
refresh: Add '--load-path' option.
* guix/scripts/refresh.scm (%option): Add '--load-path' option.
* doc/guix.texi: Document it.
2020-01-16 15:27:24 +01:00
zimoun 2d4688c1ea
size: Add '--load-path' option.
* guix/scripts/size.scm (%option): Add '--load-path' option.
* doc/guix.texi: Document it.
2020-01-16 15:27:24 +01:00
Pierre Neidhardt ee9a735bc8
graph: Add '--load-path' option.
* guix/scripts/graph.scm (%option): Add '--load-path' option.
* doc/guix.texi: Document it.
* tests/guix-graph.sh: Test it.
2020-01-16 15:27:20 +01:00
Leo Prikler fc29f3bf4f
doc: Add pulseaudio documentation.
* doc/guile.texi: Add documentation for pulseaudio-service-type and
pulseaudio-configuration.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-01-11 18:18:51 +01:00
Leo Prikler f1022fbf2f
services: Split ladspa-service-type from pulseaudio-service-type.
* gnu/services/sound.scm (ladspa-configuration): New record.
(ladspa-environment): New procedure.
(ladspa-service-type): New service type.
(pulseaudio-environment): Remove LADSPA_PATH.
* doc/guix.texi: Adjust documentation.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-01-11 18:18:51 +01:00
Florian Pelz f22b357113
doc: Clarify description of the PageKite service.
* doc/guix.texi (Networking Services): Make clear PageKite is not necessary
with port forwarding.
2020-01-10 23:59:30 +00:00
Ludovic Courtès a7bde77d24
doc: Add "Tracking Bugs and Patches" section.
* doc/contributing.texi (Tracking Bugs and Patches): New section.
(Submitting Patches): Refer to it.
* doc/guix.texi: Update copyright line.
* HACKING (Using emacs-debbugs): Remove.
2020-01-09 23:33:04 +01:00
Ricardo Wurmus 907eeac2e7
services: nfs: Add nfs-service-type.
* gnu/services/nfs.scm (<nfs-configuration>): New record.
(nfs-configuration, nfs-configuration?, nfs-configuration-nfs-utils,
nfs-configuration-nfs-version, nfs-configuration-exports,
nfs-configuration-rpcmountd-port, nfs-configuration-rpcstatd-port,
nfs-configuration-rpcbind, nfs-configuration-idmap-domain,
nfs-configuration-nfsd-port, nfs-configuration-nfsd-threads,
nfs-configuration-pipefs-directory, nfs-configuration-debug,
nfs-shepherd-services): New procedures.
(nfs-service-type): New variable.
* doc/guix.texi (Network File System): Document it.
* gnu/tests/nfs.scm (%test-nfs-server): New variable.
(%base-os): Use default value of rpcbind-service-type.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus 2a23942e3f
services: nfs: Add verbosity control to idmap-service-type.
* gnu/services/nfs.scm (<idmap-configuration>)[verbosity]: New field.
(idmap-configuration-verbosity): New procedure.
(idmap-service-type): Use it.
* doc/guix.texi (Network File System): Document it.
2020-01-08 23:56:16 +01:00
Oleg Pykhalov a66ee82a05
services: Add pulseaudio service.
* gnu/services/sound.scm (pulseaudio-environment): New procedure.
(pulseaudio-service-type): New variable.
* doc/guix.texi (Sound Services): Document it.
2020-01-08 10:21:45 +03:00
Tobias Geerinckx-Rice 8e8d45e6ac
Revert "bootloader: grub: Add gfxmode (resolution) override."
This reverts commit a23091880d.
It causes ‘guix pull’ to fail: <https://paste.debian.net/plain/1125061>.
2020-01-07 23:31:44 +01:00
Jan Nieuwenhuizen a23091880d
bootloader: grub: Add gfxmode (resolution) override.
* gnu/bootloader/grub.scm (<grub-theme>): Add `gfxmode' entry.
(eye-candy): Use it.
* doc/guix.texi (Bootloader Configuration): Document it.
2020-01-07 21:26:28 +01:00
Tobias Geerinckx-Rice 4a1a4354c8
doc: Add JFS to Guix System-supported file systems.
* doc/guix.texi (Keyboard Layout and Networking and Partitioning):
Note JFS support.
2020-01-05 02:40:07 +01:00
Jan Nieuwenhuizen 022ad24c41
services: console-font: Update example with HDPI font suggestion.
This solution was kindly provided by Bernard M. Wiedemann.

* gnu/services/base.scm (console-font-service-type): Add ter132n (terminus 132
nomal) font example, for HDPI displays.
* doc/guix.texi (Invoking guix system): Update to `guix system search console'
example output.
2019-12-30 23:40:12 +01:00
Ludovic Courtès 6ee87461e0
services: Add Mumi service.
* gnu/services/web.scm (%mumi-activation, %mumi-accounts): New variables.
(mumi-shepherd-services): New procedure.
(mumi-service-type): New variable.
* doc/guix.texi (Web Services): Document it.
2019-12-21 23:55:25 +01:00
Marius Bakke 8e53fe2b91
gnu: Remove uses of deprecated Qemu network configuration.
* gnu/build/vm.scm (load-in-linux-vm): Move Qemu network configuration from
ARCH-SPECIFIC-FLAGS to the Qemu command line.  Use the "-nic" option of Qemu
instead of "-device" and "-net".
* gnu/system/vm.scm (common-qemu-options): Do not add a '-net' command.
(virtual-machine-compiler): Use "-nic user,..." instead of "-net".
* doc/guix.texi (Installing Guix in a VM, Invoking guix system, Running Guix
in a VM): Do the same for examples.
2019-12-18 22:36:37 +01:00
Ludovic Courtès 828a39da68
challenge: Support "--diff=diffoscope".
* guix/scripts/challenge.scm (call-with-nar): New procedure.
(narinfo-contents): Express in terms of 'call-with-nar'.
(call-with-mismatches, report-differing-files/external): New
procedures.
(%diffoscope-command): New variable.
(%options): Support "diffoscope" and a string starting with "/".
* tests/challenge.scm (call-mismatch-test): New procedure.
("differing-files"): Rewrite in terms of 'call-mismatch-test'.
("call-with-mismatches"): New test.
* doc/guix.texi (Invoking guix challenge): Document it.
2019-12-12 17:56:58 +01:00
Ludovic Courtès 5208db3a52
challenge: Add "--diff".
* guix/scripts/challenge.scm (dump-port*): New variable.
(archive-contents, store-item-contents, narinfo-contents)
(differing-files, report-differing-files): New procedures.
(summarize-report): Add #:report-differences and call it.
(show-help, %options): Add "--diff".
(%default-options): Add 'difference-report' key.
(report-differing-files): Parameterize CURRENT-TERMINAL-COLUMNS and pass
 #:report-differences to 'summarize-report'.
* guix/tests/http.scm (%local-url): Add optional argument.
(call-with-http-server): Fix docstring typo.
* tests/challenge.scm (query-path-size, make-narinfo): New procedures.
("differing-files"): New test.
* doc/guix.texi (Invoking guix challenge): Document "--diff".
2019-12-12 17:56:58 +01:00
Ludovic Courtès 044277f610
guix archive: Add '--list'.
* guix/scripts/archive.scm (show-help, %options): Add '--list'.
(list-contents): New procedure.
(guix-archive): Honor the '--list' option.
* tests/guix-archive.sh: Test it.
* doc/guix.texi (Invoking guix archive): Document it.
2019-12-12 17:56:58 +01:00
Clément Lassieur dcb7ce500b
doc: Add missing MKDIR call.
* doc/guix.texi (G-Expressions): Add missing MKDIR call.
2019-12-12 01:14:47 +01:00
Ludovic Courtès dc995fcd5a
pack: Clarify the /bin/sh requirement for Singularity.
* guix/scripts/pack.scm (squashfs-image)[symlinks*]: New variable.
[build]: Use it instead of SYMLINKS.
(guix-pack): Emit a warning and a hint when "bash" and "bash-minimal"
are missing and PACK-FORMAT is 'squashfs.
* doc/guix.texi (Invoking guix pack): Document the /bin/sh requirement
for Singularity.
2019-12-10 20:56:05 +01:00
Jelle Licht 92a0c3ec35
doc: Fix typo.
* doc/guix.texi (bitlbee-configuration): The field that refers to the bitlbee
package is called "bitlbee", not "package".
2019-12-09 17:27:38 +01:00
zimoun 7282f94967
lint: Add '--load-path' option.
* guix/scripts/lint.scm (%options): Add '--load-path' option.
* doc/guix.texi: Document it.
* tests/guix-lint.sh: Test it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-08 23:14:03 +01:00
Guillaume Le Vaillant 0dc5c85638
file-systems: Add support for 'strict-atime' and 'lazy-time' flags.
* guix/build/syscalls.scm (MS_LAZYTIME): New variable.
* gnu/build/file-systems.scm (mount-flags->bit-mask): Add match rules for
  'strict-atime' and 'lazy-time'.
* doc/guix.texi (File Systems): Add 'strict-atime' and 'lazy-time' to the list
  of supported flags.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-07 01:00:24 +01:00
Ludovic Courtès 158032bd7d
guix system: Add "describe" action.
* guix/scripts/system.scm (show-help): Add "describe".
(process-command): Handle it.
(guix-system): Likewise.
* doc/guix.texi (Invoking guix system): Document it.
2019-12-07 00:59:57 +01:00
Ludovic Courtès eaabc5e87f
machine: Add provenance tracking to each machine operating system.
* gnu/machine.scm (<machine>): Rename accessor to
'%machine-operating-system'.
(machine-operating-system): New procedure.
* doc/guix.texi (Service Reference): Mention it.
2019-12-07 00:59:56 +01:00
Ludovic Courtès b85836d306
guix system: Use 'provenance-service-type', add "--save-provenance".
* guix/scripts/system.scm (show-help, %options): Add "--save-provenance".
(process-action): Define 'save-provenance?' and 'transform'; call
'transform' on the OS.
* doc/guix.texi (Invoking guix system): Document it under 'reconfigure'.
(Service Reference): Mention that 'provenance-service-type' is
automatically added by 'reconfigure' & 'init'.
2019-12-07 00:59:56 +01:00
Ludovic Courtès 33b7cb7a59
services: Add 'provenance-service-type'.
* gnu/services.scm (object->pretty-string)
(channel->code, channel->sexp, provenance-file)
(provenance-entry): New procedures.
(provenance-service-type): New variable.
* gnu/system.scm (operating-system-with-provenance): New procedure.
* doc/guix.texi (Service Reference): Document 'provenance-service-type'.
2019-12-07 00:59:56 +01:00
Ludovic Courtès ed15dfcf31
machine: ssh: <machine-ssh-configuration> can include the host key.
* gnu/machine/ssh.scm (<machine-ssh-configuration>)[host-key]: New field.
(machine-ssh-session): Pass #:host-key to 'open-ssh-session'.
* doc/guix.texi (Invoking guix deploy): Document it.
2019-12-04 18:16:08 +01:00
Leo Prikler fe7b59c6b1
services: Add GNOME Keyring service.
* gnu/services/desktop.scm: (<gnome-keyring-configuration>): New record type.
(pam-gnome-keyring): New procedure.
(gnome-keyring-service-type): New variable.
* doc/guix.texi (Desktop Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-04 18:16:08 +01:00
Efraim Flashner 5635512828
Revert "doc: Fix typo in example."
This reverts commit 7b40d59114.
2019-12-03 13:15:41 +02:00
Hartmut Goebel b6d852ce6d
guix: Add the 'qt' build system.
* guix/build-system/qt.scm, guix/build/qt-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Buiild systems): Add the new build system.
2019-12-01 20:24:47 +01:00
Leo Prikler 7f25ff10e1
services: Add polkit-wheel-service.
* gnu/services/desktop.scm: (polkit-wheel): New variable.
(polkit-wheel-service): New service.
* doc/guix.texi: Document polkit-wheel-service.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-30 23:50:40 +01:00
Ludovic Courtès 99c45877a9
gexp: 'local-file' properly resolves non-literal relative file names.
* guix/gexp.scm (local-file): Distinguish the case where FILE is a
literal string and when it's not.  Add a clause for when FILE is not a
literal string.
* tests/gexp.scm ("local-file, non-literal relative file name"): New test.
* doc/guix.texi (G-Expressions): Update accordingly.
2019-11-30 23:50:40 +01:00
Ludovic Courtès 62e78648b0
doc: Link to Guile's SXML section.
* doc/guix.texi (PAM Mount Service): Add xref to the "SXML" section of
the Guile manual.
2019-11-28 13:30:53 +01:00
Guillaume Le Vaillant c1c6650e28
services: Add pam-mount.
* gnu/services/pam-mount.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (PAM Mount Service): New subsection.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-28 13:30:53 +01:00
Efraim Flashner ba40e1fe06
doc: Fix typo.
* doc/guix.texi (php-fpm-service-type): Note that the socket-group
default is "nagios" and not "php-fpm".
2019-11-26 14:04:36 +02:00
Ludovic Courtès 2ce08a5d79
guix build: '--keep-failed' implies '--no-offload'.
* guix/scripts/build.scm (set-build-options-from-command-line): Pass
 #:offload? #f when 'keep-failed? is true.
* doc/guix.texi (Common Build Options): Document it.
2019-11-26 00:16:36 +01:00
Ludovic Courtès dc209d5a5d
guix build, daemon: Rename "--no-build-hook" to "--no-offload".
This is a followup to bc69ea2d60.

* guix/scripts/build.scm (show-build-options-help): Rename
"--no-build-hook" to "--no-offload".
(%standard-build-options): Likewise, and warn when "--no-build-hook" is
passed.
* nix/nix-daemon/guix-daemon.cc (options): Add "--no-offload" and mark
"--no-build-hook" as hidden.
* guix/scripts/offload.scm: Adjust comment.
* doc/guix.texi (Invoking guix-daemon, Common Build Options): Replace
"--no-build-hook" with "--no-offload".
* etc/completion/fish/guix.fish, etc/completion/zsh/_guix: Adjust
accordingly.
2019-11-26 00:16:36 +01:00
Ludovic Courtès ca541f9ce6
pack: Allow multiple '--manifest' options.
* guix/scripts/pack.scm (guix-pack): Collect 'manifest' options, and
concatenate the resulting manifests.
* tests/guix-pack.sh: Test it.
* doc/guix.texi (Invoking guix pack): Document it.
2019-11-22 15:07:59 +01:00
Ludovic Courtès bf9206d8ed
package: Allow multiple '--manifest' options.
* guix/scripts/package.scm (manifest-action): Remove.
(%actions): Remove it.
(load-manifest): New procedure.
(process-actions): Handle 'manifest' options.  Define 'files' from
'manifest' options.  Define 'manifest' based on FILES.  Define 'trans'
to represent the final transaction.
* tests/guix-package.sh: Test it.
* doc/guix.texi (Invoking guix package): Mention
2019-11-22 15:07:58 +01:00
Ludovic Courtès d76df98fa5
environment: Document that '--manifest' can be repeated.
* tests/guix-environment.sh: Test 'guix environment' with two '-m' options.
* doc/guix.texi (Invoking guix environment): Explain that '-m' can be
passed multiple times.
2019-11-22 15:07:58 +01:00
Efraim Flashner ab9d06e473
doc: fcgiwrap-configuration: Remove stray period.
* doc/guix.texi (Web Services)[fcgiwrap-configuration]: Remove a stray
period.
2019-11-21 15:19:17 +02:00
Ludovic Courtès a2e661e95f
pack: Add "--derivation".
* guix/scripts/pack.scm (%options, show-help): Add "--derivation".
(guix-pack): Honor it.
* tests/guix-pack.sh: Test it.
* doc/guix.texi (Invoking guix pack): Document it.
2019-11-21 11:48:30 +01:00
Efraim Flashner 7b40d59114
doc: Fix typo in example.
* doc/guix.texi (Web Services)[nginx-php-fpm-location]: Fix example to
actually use nginx-php-fpm-location.
2019-11-19 12:34:07 +02:00
Efraim Flashner 535a13a2ab
doc: Fix typo.
* doc/guix.texi (Web Services)[php-fpm-configuration]: Change language
to suggest there are more than two options.
2019-11-19 12:01:13 +02:00
Ludovic Courtès 69f759912d
doc: Clarify the "system type" for 'machine-ssh-configuration'.
* doc/guix.texi (Invoking guix deploy): Replace "Nix system type" with
"system type" for consistency.
2019-11-19 10:51:53 +01:00
Ludovic Courtès 87e7faa2ae
time-machine: Honor the standard build options.
* guix/scripts/time-machine.scm (show-help): Call 'show-build-options-help'.
(%options): Add %STANDARD-BUILD-OPTIONS.
(%default-options): New variable.
(parse-args): Pass (list %default-options) to 'parse-command-line' and
remove #:build-options? parameter.
(guix-time-machine): Call 'set-build-options-from-command-line' and wrap
'cached-channel-instance' call in 'with-status-verbosity'.
* doc/guix.texi (Invoking guix time-machine): Mention common build options.
2019-11-15 23:29:06 +01:00
Konrad Hinsen f675f8dec7
Add 'guix time-machine'.
* guix/scripts/time-machine.scm: New file.
* Makefile.am: (MODULES): Add it.
* guix/scripts/pull.scm (channel-list): Export.
* guix/inferior.scm (cached-channel-instance): New procedure.
(inferior-for-channels): Use it.
* doc/guix.texi (Invoking guix time-machine): New section.
(Channels): Cross-reference it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-15 23:28:17 +01:00
Kyle Meyer b057921b17
doc: Drop stray quotation mark.
* doc/guix.texi (Invoking guix publish): Drop stray quotation mark.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-13 23:26:36 +01:00
Alex Griffin a2161c861f
services: Add pagekite-service-type.
* gnu/services/networking.scm (pagekite-service-type): New service type.
(<pagekite-configuration>): New record type.
(pagekite-shepherd-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
2019-11-11 14:03:45 -06:00
宋文武 6ec68c69b0
services: Add knot-resolver-service-type.
* gnu/services/dns.scm (<knot-resolver-configuration>): New record type.
(knot-resolver-activation, knot-resolver-shpherd-services): New procedures.
(%knot-resolver-accounts, %kresd.conf, knot-resolver-service-type): New
variables.
* doc/guix.texi (DNS Services): Document it.
2019-11-11 20:30:53 +08:00
zimoun 0758a70cc0
doc: Mention value /var to localstatedir option.
* README (Installing Guix from Guix): Mention value /var to localstatedir option.
* doc/contributing.texi (Building from Git): Likewise.
* doc/guix.texi (Requirements): Likewise.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-09 23:04:14 +01:00
Florian Pelz bfe6bc97f5
doc: Add clarification on the '--source' build option.
Emphasize that what the '--source' build option downloads is
insufficient for reproducing the packages.

* doc/guix.texi (Additional Build Options): Explain more.
2019-11-07 22:15:12 +00:00
Florian Pelz 00e680a411
services: Make it possible to include dynamic modules in nginx.
* gnu/services/web.scm (<nginx-configuration>): Add modules field.
(nginx-configuration-modules): New field accessor.
(emit-load-module): New procedure.
(default-nginx-config): Add support for the modules field.
* doc/guix.texi (NGINX): Document it.
2019-11-07 22:15:11 +00:00
Ludovic Courtès 3e962e59d8
graph: Support package transformation options.
* guix/scripts/graph.scm (%options): Append %TRANSFORMATION-OPTIONS.
(show-help): Call 'show-transformation-options-help'.
(guix-graph): Call 'options->transformation' and use it.
* tests/guix-graph.sh: Add test.
* doc/guix.texi (Invoking guix graph): Document it.
2019-11-07 18:39:55 +01:00
Kyle Andrews a8e2826e30
doc: Clarify uses of the 'ip' command.
* doc/guix.texi (Keyboard Layout and Networking and Partitioning):
Use human readable arguments for 'ip' command.  Mention 'ip link set'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-04 23:35:32 +01:00
Ludovic Courtès 5afa23e180
services: colord: Deprecate 'colord-service' procedure.
* gnu/services/desktop.scm (colord-service-type)[default-value]: New field.
(colord-service): Define with 'define-deprecated'.
(%desktop-services): Use 'colord-service-type' instead of 'colord-service'.
* doc/guix.texi (Desktop Services): Adjust accordingly.
2019-11-01 12:23:45 +01:00
Ricardo Wurmus 878e0e1bb0
gnu: mpd-service-type: Support configuration of outputs.
* gnu/services/audio.scm (<mpd-output>): New record type.
(<mpd-configuration>)[outputs]: New field.
(mpd-output, mpd-output?, mpd-output->string): New procedures.
(mpd-config->file): Use mpd-output->string.
* doc/guix.texi (Audio Services): Document mpd-output fields.
2019-10-29 15:14:22 +01:00
Ludovic Courtès 49af34cfac
pull: Honor '/etc/guix/channels.scm'.
* guix/scripts/pull.scm (channel-list)[global-file]: New variable.
[channels]: Honor it.
* doc/guix.texi (Invoking guix pull): Document it.
2019-10-27 23:05:01 +01:00
Timothy Sample 88f95687c7
services: gdm: Add 'debug?' configuration field.
* gnu/services/xorg.scm (<gdm-configuration>)[debug?]: New field.
(gdm-configuration-file): Use it.
* doc/guix.texi: Document it.
2019-10-26 17:04:36 -04:00
Ludovic Courtès 74afaa37d5
cve: Rewrite to read the JSON feed instead of the XML feed.
The XML feed was discontinued on Oct. 16th, 2019:

  <https://nvd.nist.gov/General/News/XML-Vulnerability-Feed-Retirement-Phase-3>

* guix/cve.scm (string->date*): New procedure.
(<cve-item>, <cve>, <cve-reference>): New record types.
(cpe-match->cve-configuration, configuration-data->cve-configurations)
(json->cve-items, version-matches?): New procedures.
(yearly-feed-uri): Change URL to refer to JSON feed.
(cpe->product-alist, %parse-vulnerability-feed)
(xml->vulnerabilities): Remove.
(cve-configuration->package-list, merge-package-lists)
(cve-item->vulnerability, json->vulnerabilities): New procedures.
(write-cache): Use 'json->vulnerabilities' instead of
'xml->vulnerabilities', and remove 'parameterize'.
(vulnerabilities->lookup-proc): Use 'version-matches?' when VERSION is
true.
* tests/cve.scm (%sample): Use 'tests/cve-sample.json'.
(%expected-vulnerabilities): Rewrite accordingly.
("json->cve-items", "cve-item-published-date")
("json->vulnerabilities"): New tests.
("xml->vulnerabilities"): Remove.
("vulnerabilities->lookup-proc"): Adjust to new vulnerabilities.
* tests/cve-sample.json: New file.
* tests/cve-sample.xml: Remove.
* Makefile.am (EXTRA_DIST): Adjust accordingly.
* doc/guix.texi (Invoking guix lint): Update nist.gov URLs.
2019-10-23 16:40:17 +02:00
Ludovic Courtès c93994b5e4
machine: digital-ocean: Rename 'enable-ipv6' to 'enable-ipv6?'.
* gnu/machine/digital-ocean.scm (<digital-ocean-configuration>)[enable-ipv6]:
Rename to...
[enable-ipv6?]: ... this.
(deploy-digital-ocean): Adjust accordingly.
* doc/guix.texi (Invoking guix deploy): Adjust accordingly.
2019-10-22 18:32:52 +02:00
Jakob L. Kreuze 12712817ae
machine: Implement 'digital-ocean-environment-type'.
* gnu/machine/digital-ocean.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Invoking guix deploy): Add documentation for
'digital-ocean-configuration'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-10-22 18:32:52 +02:00
Tim Gesthuizen 84261a233e
services: inputattach: Add 'baud-rate' parameter.
* gnu/services/desktop.scm (inputattach-configuration): Add baud-rate field.
  (inputattach-shepherd-service): Add baud-rate to parameters when specified.
* doc/guix.texi (Miscellaneous Services): [inputattach Service] Document
  baud-rate parameter.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-10-21 23:26:33 +02:00
Ludovic Courtès 8cf3e167c1
services: sddm: Deprecate 'sddm-service' procedure.
* gnu/services/sddm.scm (sddm-service): Mark as deprecated.
* doc/guix.texi (X Window): Document 'sddm-service-type' and
'sddm-configuration'.
2019-10-21 18:16:16 +02:00
Florian Pelz 99190575a0
Fix documentation of delete_after in the getmail service.
* doc/guix.texi (Getmail service): Remove the word `not'.
* gnu/services/getmail.scm (getmail-options-configuration): Ditto.
2019-10-18 07:53:55 +00:00
Christopher Baines 92807b6f57
doc: Remove 'maintainers' field from package documentation.
The field itself was removed in 154f1f0937.

* doc/guix.texi (package Reference): Remove 'maintainers' field.
2019-10-17 19:14:03 +01:00
Carl Dong e214a22007
gnu: Add nsis-x86_64 and nsis-i686.
* guix/build-system/scons.scm (scons-build): Add build-targets and
install-targets parameters.
* guix/build/scons-build-system.scm (build, install): Adjust
accordingly.
* doc/guix.texi (Build Systems): Document it.
* gnu/packages/installers.scm: New file,
(make-nsis): New procedure,
(nsis-x86_64, nsis-i686): New variables.
* gnu/packages/patches/nsis-env-passthru.patch: New file.
* gnu/local.mk (dist_patch_DATA, GNU_SYSTEM_MODULES): Adjust
accordingly.
2019-10-11 11:44:44 -04:00
Ricardo Wurmus e08902d3cb
Merge branch 'master' into core-updates 2019-10-06 22:02:20 +02:00
Jan Nieuwenhuizen 3a69dd5c15
services: httpd: Fix virtual-host doc and config.
* doc/guix.texi (Web Services): Fix httpd-virtualhost examples.
* gnu/services/web.scm (httpd-process-extensions): Add missing newline
separator.
2019-10-04 17:10:58 +02:00
Martin Becze ed661e38d8
import: crate: Add '--recursive'.
* guix/scripts/import/crate.scm (show-help, guix-import-crate): Add '--recursive'.
* doc/guix.texi (Invoking guix import): Mention '--recursive'.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2019-10-01 23:34:31 +02:00
Ludovic Courtès 0cf2b6f2db
Merge branch 'master' into core-updates 2019-10-01 12:06:00 +02:00
Maxim Cournoyer 5510bb01e9
doc: Add a 'Upgrading Guix' section to the 'Installation' chapter.
This follows a discussion regarding issue #36785 (see:
https://bugs.gnu.org/36785).

* doc/guix.texi (Upgrading Guix): New section.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2019-09-29 10:33:49 +09:00
Tobias Geerinckx-Rice 348d8e446f
doc: Don't support a risky mix of Guix & Nix.
* doc/guix.texi (Requirements): Remove instructions for sharing a store
and/or a daemon with Nix.
2019-09-28 17:16:40 +02:00
Marius Bakke e7f62a41b2
Merge branch 'master' into core-updates 2019-09-27 19:11:27 +02:00
Ludovic Courtès 3972dc5d43
guix package: Add '--list-profiles'.
* guix/scripts/package.scm (show-help, %options): Add '--list-profiles'.
(process-query): Honor it.
* tests/guix-package.sh: Add test.
2019-09-26 11:43:26 +02:00
Ludovic Courtès 71339070a9
doc: Do not comment out closing parens in Android examples.
* doc/guix.texi (Base Services): Arrange so that closin parens are not
commented out.
2019-09-26 11:43:26 +02:00
Ludovic Courtès 31e6e6a89f
doc: Add missing paren in CPE example.
* doc/guix.texi (Invoking guix lint): Add missing paren in 'cpe-name'
example.
2019-09-26 11:43:26 +02:00
Ludovic Courtès 473bd8100b
doc: Add missing parens in inetd example.
* doc/guix.texi (Networking Services): Add missing parens in inetd
service example.
2019-09-26 11:43:25 +02:00
Ludovic Courtès 4a506da83a
doc: Fix syntax of Varnish example.
* doc/guix.texi (Web Services): Escape nested string in '%gnu-mirror'
variable definition.  Adjust indentation.
2019-09-26 11:43:25 +02:00
Ludovic Courtès 34e624a56a
doc: Avoid @verbatiminclude for Scheme snippets.
* doc/guix.texi (Invoking guix package): Use @include instead of
@verbatiminclude.
(Additional Build Options): Likewise.
2019-09-25 15:49:42 +02:00
Brice Waegeneire 82b6bf8c0f
doc: Fix installing Guix in VM
* doc/guix.texi (Installing Guix in a Virtual Machine):
Pass "order=d" to '-boot' option.  Use "-drive media=cdrom" for the ISO
image.  Remove paragraph about ordering and the boot menu.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-09-25 15:48:50 +02:00
Christopher Baines dd2a83270b
services: Add the Guix Data Service.
* gnu/services/guix.scm: New file.
* gnu/tests/guix.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add both new files.
* doc/guix.texi (Guix Services): New section documenting the Guix Data
Service.
2019-09-25 08:35:33 +01:00
Ludovic Courtès 11da634a6e
Merge branch 'master' into core-updates 2019-09-24 10:11:38 +02:00
Tobias Geerinckx-Rice 1e1efbcc64
doc: Remove more ‘guixsd’ remnants.
* doc/guix.texi (Installing Guix in a VM): Use ‘guix-system.img’ as
image file name.
2019-09-24 02:10:49 +02:00
Tobias Geerinckx-Rice 46a8b76ce7
doc: Fix typo.
* doc/guix.texi (Build Systems): Fix/spoil ‘libary’ typo/joke.
2019-09-23 20:50:59 +02:00
Ludovic Courtès cb3ee1c507
doc: Explain that '--profile' expects a file name.
* doc/guix.texi (Invoking guix package): Explain that the argument to
--profile is a file name.
2019-09-23 12:26:59 +02:00
Ludovic Courtès 7faffdc2d5
pull: Display channel news.
* guix/scripts/pull.scm (display-news-entry)
(display-channel-specific-news): New procedures.
(display-channel-news): Call it.
(display-new/upgraded-packages): Adjust hint message.
* doc/guix.texi (Invoking guix pull): Mention it.
2019-09-23 10:38:44 +02:00
Ludovic Courtès 9719e8d37a
channels: Allow news entries to refer to a tag.
Suggested by Ricardo Wurmus <rekado@elephly.net>.

* guix/channels.scm (<channel-news-entry>)[tag]: New field.
(sexp->channel-news-entry): Accept either 'commit' or 'tag' in 'entry'
forms.
(resolve-channel-news-entry-tag): New procedure.
(channel-news-for-commit): Move 'with-repository' form one level
higher.  Call 'resolve-channel-news-entry-tag' on all the news entries.
* guix/tests/git.scm (populate-git-repository): Add clause for 'tag'.
* tests/channels.scm ("channel-news, one entry"): Create a tag and add
an entry with a tag.  Check that the tag is resolved and also visible in
the <channel-news-entry> record.
* doc/guix.texi (Channels): Mention tags in news entries.
2019-09-23 10:38:44 +02:00
Ludovic Courtès 8ba7fd3cd6
channels: Add support for a news file.
* guix/channels.scm (<channel-metadata>)[news-file]: New field.
(read-channel-metadata): Set the 'news-file' field.
(read-channel-metadata-from-source): Likewise.
(<channel-news>, <channel-news-entry>): New record types.
(sexp->channel-news-entry, read-channel-news)
(channel-news-for-commit): New procedures.
* guix/tests/git.scm (populate-git-repository): For 'add', allow
CONTENTS to be a procedure.
* tests/channels.scm ("channel-news, no news")
("channel-news, one entry"): New tests.
* doc/guix.texi (Channels): Document it.
2019-09-23 10:38:44 +02:00
zimoun aeb51370da
guix package: Add 'guix show' alias.
* guix/scripts/show.scm: New file.
* Makefile.am (MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* tests/guix-package-aliases.sh: Add test.
* doc/guix.texi (Invoking guix package): Document it and use it in a example.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-09-21 16:48:36 +02:00
Konrad Hinsen da55110712
scripts: pull: Add options for generation management
* guix/scripts/pull.scm (%options) Add --roll-back, --switch-generation,
--delete-generations
(process-generation-change): New function
(guix-pull): Execute generation management operations

* doc/guix.texi: Document the generation management operations

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-09-18 23:08:29 +02:00
Ludovic Courtès d0980ef418
doc: Mention the "repository name" for 'guix pack -f docker'.
This is a followup to 0074844366.

* doc/guix.texi (Invoking guix pack): Mention the repository name.
2019-09-18 23:08:29 +02:00
宋文武 3c4f5ad7f4
services: Add nftables-service-type.
* gnu/services/networking.scm (%default-nftables-ruleset): New variable.
(<nftables-configuration>): New record type.
(nftables-shepherd-service): New procedure.
(nftables-service-type): New service type.
* doc/guix.texi (Networking Services): Document it.
2019-09-18 19:04:59 +08:00
Ludovic Courtès 9ff87bb996
Merge branch 'master' into core-updates 2019-09-17 16:27:15 +02:00
Carlo Zancanaro ec36339dfd
services: certbot: Add --manual-public-ip-logging-ok for manual challenges
* gnu/services/certbot.scm (certbot-command): Add
  --manual-public-ip-logging-ok flag to the certbot command when doing a
  manual challenge.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-09-16 10:22:35 +02:00
Tobias Geerinckx-Rice b3f724b0a1
doc: Actually suggest ‘fc-cache -r’.
A follow-up commit to 0cd3e99d64.

* doc/guix.texi (Application Setup): Fix my own typo.
2019-09-11 18:05:38 +02:00
Joshua Branson 0cd3e99d64
doc: Run fc-cache verbosely and delete existing caches.
* doc/guix.texi (Application Setup): Suggest ‘fc-cache -rv’ instead
of ‘fc-cache -f’.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2019-09-11 17:50:04 +02:00
Martin Becze fd63ecbe05
import: crate: Allow imports of a specific version.
* guix/import/crate.scm (crate->guix-package): Add optional 'version'
argument and honor it.
* guix/scripts/import/crate.scm (guix-import-crate): Assume the first
argument is a spec and destructure it with
'package-name->name+version'.  Pass both to 'crate->guix-package'.
* doc/guix.texi (Invoking guix import): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2019-09-10 00:34:40 +02:00
Maxim Cournoyer 5658ae8a0a
services: ntp: Support different NTP server types and options.
* gnu/services/networking.scm (ntp-server-types): New enum.
(<ntp-server>): New record type.
(ntp-server->string): New procedure.
(%ntp-servers): Define in terms of <htp-server> records.  Use the first
entrypoint server as a pool instead of a list of static servers.  This is more
resilient since a new server of the pool can be interrogated on every
request.  Add the 'iburst' options.
(ntp-configuration-servers): Define a custom accessor that warns but honors
the now deprecated server format.
(<ntp-configuration>): Use it.
(%openntpd-servers): New variable,
(<openntpd-configuration>): Use it, as a pool ('servers' field) instead of a
regular server.
* tests/networking.scm: New file.
* Makefile.am (SCM_TESTS): Register it.
* doc/guix.texi: Update documentation.
2019-09-08 23:15:31 +09:00
Maxim Cournoyer ac73f504cf
doc: Add index to find 'ntpd'.
* doc/guix.texi (Networking Services): Add @cindex to find 'ntpd'
2019-09-08 23:15:30 +09:00
Maxim Cournoyer 08b4a10fa6
services: ntp: Allow large adjustment by default.
This is documented as best practice in `man ntpd', and is required to allow
the date to be set correctly when traveling (without having to manually update
the hardware clock in the BIOS/UEFI).

* gnu/services/networking.scm (<ntp-server>)[allow-large-adjustment?]: Set the
default value to #t.
* doc/guix.texi (Networking Services): Update documentation.
2019-09-08 23:15:29 +09:00
Matthew Kraai 861b9a365b
doc: Fix verb conjugation.
* doc/guix.texi (Invoking guix pull): Change "run" to "ran".

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2019-09-08 14:55:25 +02:00
Ludovic Courtès 2e3e5d2198
daemon: Invoke 'guix gc --list-busy' instead of 'list-runtime-roots'.
* nix/scripts/list-runtime-roots.in: Remove.
* guix/store/roots.scm (%proc-directory): New variable.
(proc-file-roots, proc-exe-roots, proc-cwd-roots)
(proc-fd-roots, proc-maps-roots, proc-environ-roots)
(referenced-files, canonicalize-store-item, busy-store-items): New
procedures, taken from 'list-runtime-roots.in'.
* nix/libstore/globals.hh (Settings)[guixProgram]: New field.
* nix/libstore/globals.cc (Settings::processEnvironment): Initialize
'guixProgram'.
* nix/libstore/gc.cc (addAdditionalRoots): Drop code related to
'NIX_ROOT_FINDER'.  Run "guix gc --list-busy".
* nix/local.mk (nodist_pkglibexec_SCRIPTS): Remove
'scripts/list-runtime-roots'.
* config-daemon.ac: Don't output nix/scripts/list-runtime-roots.
* build-aux/pre-inst-env.in: Don't set 'NIX_ROOT_FINDER'.
Set 'GUIX'.
* doc/guix.texi (Invoking guix gc): Document '--list-busy'.
* guix/scripts/gc.scm (show-help, %options): Add "--list-busy".
(guix-gc)[list-busy]: New procedure.
Handle the 'list-busy' action.
2019-09-08 11:49:24 +02:00
Ludovic Courtès 8ba31e8bd1
doc: Use @lisp instead of @example for Scheme snippets.
This is a followup to f8c143a713, which
allows syntax highlighting of @lisp snippets in the HTML output.

* doc/guix.texi, doc/contributing.texi: Use @lisp instead of @example
for all the Scheme snippets.
2019-09-07 18:42:08 +02:00
Mark H Weaver 65542a8852
Merge branch 'master' into core-updates 2019-09-06 20:46:00 -04:00
nixo a44a535ebe
build: Add julia-build-system.
* guix/build/julia-build-system.scm: New file.
* guix/build-system/julia.scm: New file.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document julia-build-system.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2019-09-04 22:17:38 +02:00
Ricardo Wurmus 7c6ebf28db
doc: guix deploy: Add missing record field to example.
Reported by GNUtoo on #guix.

* doc/guix.texi (Invoking guix deploy): Add missing "system" field to example.
2019-09-03 18:02:37 +02:00
Ludovic Courtès 55549c7b9b
lint: Add 'archival' checker.
* guix/lint.scm (check-archival): New procedure.
(%network-dependent-checkers): Add 'archival' checker.
* tests/lint.scm ("archival: missing content")
("archival: content available")
("archival: missing revision")
("archival: revision available")
("archival: rate limit reached"): New tests.
* doc/guix.texi (Invoking guix lint): Document it.
2019-09-02 15:25:01 +02:00
Ludovic Courtès d34e9114e6
doc: Explain that "guix import" and "guix refresh" may need GnuPG.
Fixes <https://bugs.gnu.org/36051>.
Reported by Jesse Gibbons <jgibbons2357@gmail.com>.

* doc/guix.texi (Invoking guix import, Invoking guix refresh): Mention
that GnuPG must be installed.
2019-09-02 15:25:00 +02:00
Maxim Cournoyer 1719f4f1e3
doc: Specify the files rotated by default by the rottlog service.
* doc/guix.texi (Log Rotation): Replace "a couple of other files" by
"/var/log/guix-daemon.log".
2019-09-01 18:47:03 +09:00
Maxim Cournoyer f91c843449
doc: Update the default list of files rotated by rottlog.
* doc/guix.texi (Log Rotation): Add "/var/log/debug" and "/var/log/maillog" to
the default value of %rotated-files.
2019-09-01 18:47:03 +09:00
Tobias Geerinckx-Rice 5a097cdd54
services: cups: Rename ‘retry-this-job’ to ‘retry-current-job’.
* gnu/services/cups.scm (error-policy, cups-configuration): Substitute
RETRY-CURRENT-JOB for the obsolete RETRY-THIS-JOB name of this policy.
* doc/guix.texi (Printing Services): Likewise.
2019-08-31 03:24:41 +02:00
Tobias Geerinckx-Rice 7e5e39a72f
doc: Update GIT-DOWNLOAD @example.
* doc/guix.texi (origin Reference): Use (HTTPS, GNU-hosted) ‘hello’
package repository instead of off-line ‘shadow’ one.
2019-08-30 23:10:19 +02:00
Tobias Geerinckx-Rice 3774efe36f
doc: Prefer https:// over git://.
* doc/guix.texi (Continuous Integration): Use https:// in fictitious URLs.
2019-08-30 23:10:19 +02:00
Tobias Geerinckx-Rice 70186c24ee
services: cups: Move SET-ENV to FILES-CONFIGURATION.
* gnu/services/cups.scm (cups-configuration): Move SET-ENV from here…
(files-configuration): …to here.
* doc/guix.texi (Printing Services): Adjust accordingly.
2019-08-30 03:41:42 +02:00
Tobias Geerinckx-Rice ee0de99454
services: cups: Add BrowseDNSSDSubTypes directive.
* gnu/services/cups.scm (comma-separated-string-list?)
(serialize-comma-separated-string-list): New variables.
(cups-configuration)[browse-dns-sd-sub-types]: New field.
* doc/guix.texi (Printing Services): Document it.
2019-08-30 03:41:42 +02:00
Mark H Weaver 0481289cbc
Merge branch 'master' into core-updates 2019-08-29 17:19:18 -04:00
Ricardo Wurmus f9a1f15efc
doc: Do not refer to Bioconductor SVN.
* doc/guix.texi (Invoking guix import): Do not mention the now defunct
Bioconductor SVN repository.
2019-08-29 11:38:12 +02:00
Ricardo Wurmus ad553ec4b1
import: cran: Add support for git repositories.
* guix/import/cran.scm (vcs-file?): New procedure.
(download): Support downloading from git.
(fetch-description): Add a clause for the 'git repository type.
(files-match-pattern?): New procedure.
(tarball-files-match-pattern?): Implement in terms of FILES-MATCH-PATTERN?.
(directory-needs-fortran?, directory-needs-zlib?,
directory-needs-pkg-config?): New procedures.
(needs-fortran?, needs-zlib?, needs-pkg-config?): Rename these procedures...
(tarball-needs-fortran?, tarball-needs-zlib?, tarball-needs-pkg-config?):
...to this, and use them.
(file-hash): New procedure.
(description->package): Handle the 'git repository type.
* guix/import/utils.scm (package->definition): Handle package expression
inside of a let.
* guix/scripts/import.scm (guix-import): Handle let expressions.
* doc/guix.texi (Invoking guix import): Document it.
2019-08-29 11:38:12 +02:00
Ricardo Wurmus 3e7a62e2e4
services: cuirass: Log web interface to separate file.
* gnu/services/cuirass.scm (<cuirass-configuration>): Add web-log-file field.
(cuirass-shepherd-service): Read it and use it.
* doc/guix.texi (Continuous Integration): Document it.
2019-08-29 08:06:54 +02:00
Efraim Flashner 3762e31b6c
build/cargo-build-system: Remove 'update-cargo-lock phase.
* guix/build/cargo-build-system.scm (update-cargo-lock): Remove
procedure.
(configure): Delete Cargo.lock file if it exists.
(%standard-phases): Remove 'update-cargo-lock.
* doc/guix.texi (Build System)[cargo-build-system]: Remove references to
the 'update-cargo-lock phase.
2019-08-28 09:41:59 +03:00
Tobias Geerinckx-Rice f9c1ebdb7d
services: cups: Complete SSL-OPTIONS.
…except for ‘AllowDH’, which makes no sense on GNU TLS systems.

* gnu/services/cups.scm (ssl-options?): Validate ‘DenyCBC’ and
‘DenyTLS1.0’.
* doc/guix.texi (Printing Services): Document them both.
2019-08-27 08:49:14 +02:00
Maxim Cournoyer 4183105de0
doc: Follow-up commit to 407ebeaa1.
Following some discussion with Ludovic (see:
https://lists.gnu.org/archive/html/guix-patches/2019-08/msg00506.html), it is
better advice to generally recommend the use of `program-file' for any usage
of modules, not just for those which define syntax.

* doc/guix.texi (Scheduled Job Execution): Drop the following text: "that
defines syntax (macros)".
2019-08-27 19:36:05 +09:00
Nicolas Goaziou 5aa4278319
doc: Fix typo.
* doc/guix.texi (Build Systems): Add missing question mark to
2019-08-26 22:50:16 +02:00
Maxim Cournoyer 1407ebeaa1
doc: Document the use of `program-file' for mcron jobs.
* doc/guix.texi (Scheduled Job Execution): Explain why using `program-file'
for an mcron job can be necessary.  Add an example.
2019-08-26 07:52:30 +09:00
Mark H Weaver 893c2df00d
Merge branch 'master' into core-updates 2019-08-22 15:53:27 -04:00
Jakob L. Kreuze 3967a946c6
doc: Add description of 'build-locally?'.
* doc/guix.texi (Invoking guix deploy): Add section describing the
'build-locally?' field of 'managed-host-environment-type'.
2019-08-15 07:43:17 -04:00
Jakob L. Kreuze 3033d59ac9
machine: Automatically authorize the coordinator's signing key.
* guix/ssh.scm (remote-authorize-signing-key): New variable.
* gnu/machine/ssh.scm (deploy-managed-host): Authorize coordinator's
signing key before any invocations of 'remote-eval'.
(deploy-managed-host): Display an error if a signing key does not exist.
* doc/guix.texi (Invoking guix deploy): Remove section describing manual
signing key authorization.
(Invoking guix deploy): Add section describing the 'authorize?' field.
2019-08-15 07:43:13 -04:00
Jakob L. Kreuze 5ea7537b9a
machine: Allow non-root users to deploy.
* doc/guix.texi (Invoking guix deploy): Add section describing
prerequisites for deploying as a non-root user.
* guix/remote.scm (remote-pipe-for-gexp): New optional 'become-command'
argument.
(%remote-eval): New optional 'become-command' argument.
(remote-eval): New 'become-command' keyword argument.
* guix/ssh.scm (remote-inferior): New optional 'become-command'
argument.
(inferior-remote-eval): New optional 'become-command' argument.
(remote-authorize-signing-key): New optional 'become-command' argument.
* gnu/machine/ssh.scm (machine-become-command): New variable.
(managed-host-remote-eval): Invoke 'remote-eval' with the
'#:become-command' keyword.
(deploy-managed-host): Invoke 'remote-authorize-signing-key' with the
'#:become-command' keyword.
2019-08-15 07:43:03 -04:00
Jakob L. Kreuze 2c8e04f136
remote: Build derivations appropriate for the remote's
* gnu/machine/ssh.scm (machine-ssh-configuration): Add 'system' field.
(managed-host-remote-eval): Pass 'system' field to 'remote-eval'.
(machine-check-building-for-appropriate-system): New variable.
(check-deployment-sanity): Add call to
'machine-check-building-for-appropriate-system'.
* doc/guix.texi (Invoking guix deploy): Describe new 'system' field.
* guix/ssh.scm (remote-system): New variable.
* guix/remote.scm (remote-eval): Use result of 'remote-system' when
lowering the G-Expression.
(remote-eval): Add 'system' keyword argument.
(trampoline): Return a <program-file> rather than a <scheme-file>.
2019-08-14 15:38:09 -04:00
Marius Bakke 462ad9f56b
Merge branch 'master' into core-updates 2019-08-13 20:42:06 +02:00
Jakob L. Kreuze d97ce20400
machine: Rename 'system' field.
* gnu/machine.scm (machine-system): Delete variable.
(machine-operating-system): New variable.
All callers changed.
* doc/guix.texi (Invoking guix deploy): Use the
'machine-operating-system' accessor rather than 'machine-system'.
2019-08-06 15:48:51 -04:00
Jakob L. Kreuze 5bc751925d
doc: Add note about signing keys.
* doc/guix.texi (Invoking guix deploy): Add note explaining that
deployment targets must authorize the coordinator machine's signing key.
2019-08-06 15:16:25 -04:00
Efraim Flashner ac6b78488f
build/cargo-build-system: Patch cargo checksums.
* guix/build/cargo-build-system.scm (generate-all-checksums): New
procedure.
(update-cargo-lock, patch-cargo-checksums): New phases.
(%standard-phases): Add 'update=cargo-lock after 'configure and
'patch-cargo-checksums after 'patch-generated-file-shebangs.
* doc/guix.texi (Build System)[cargo-build-system]: Mention how
Cargo.lock files are handled.
2019-08-04 11:53:27 +03:00
Marius Bakke 6a2e54236e
Merge branch 'master' into core-updates 2019-07-31 14:28:56 +02:00
Ludovic Courtès 2e8cabb8d6
gexp: 'program-file' honors the current system and cross-compilation target.
Fixes <https://bugs.gnu.org/36813>.
Reported by Jakob L. Kreuze <zerodaysfordays.sdf.org@sdf.org>.

* guix/gexp.scm (program-file-compiler): Pass #:system and #:target to
'gexp->script'.
(load-path-expression): Add #:system and #:target and honor them.
(gexp->script): Likewise.
* tests/gexp.scm ("program-file #:system"): New test.
* doc/guix.texi (G-Expressions): Adjust accordingly.
2019-07-26 23:50:12 +02:00
Ludovic Courtès 177fecb57c
git: <git-checkout> allows tags in its 'commit' field.
Fixes <https://bugs.gnu.org/36371>.
Reported by Tobias Geerinckx-Rice <me@tobias.gr>.

* guix/git.scm (git-checkout-compiler): Pass 'tag-or-commit' to
'latest-repository-commit*'.
* doc/guix.texi (Package Transformation Options): Update '--with-commit'
documentation accordingly.
* tests/guix-build-branch.sh: Add test.
2019-07-26 11:21:36 +02:00
Ludovic Courtès 81c3dc3224
maint: Switch to Guile-JSON 3.x.
Guile-JSON 3.x is incompatible with Guile-JSON 1.x, which we relied on
until now: it maps JSON dictionaries to alists (instead of hash tables),
and JSON arrays to vectors (instead of lists).  This commit is about
adjusting all the existing code to this new mapping.

* m4/guix.m4 (GUIX_CHECK_GUILE_JSON): New macro.
* configure.ac: Use it.
* doc/guix.texi (Requirements): Mention the Guile-JSON version.
* guix/git-download.scm (git-fetch)[guile-json]: Use GUILE-JSON-3.
* guix/import/cpan.scm (string->license): Expect vectors instead of
lists.
(module->dist-name): Use 'json-fetch' instead of 'json-fetch-alist'.
(cpan-fetch): Likewise.
* guix/import/crate.scm (crate-fetch): Likewise, and call 'vector->list'
for DEPS.
* guix/import/gem.scm (rubygems-fetch): Likewise.
* guix/import/json.scm (json-fetch-alist): Remove.
* guix/import/pypi.scm (pypi-fetch): Use 'json-fetch' instead of
'json-fetch-alist'.
(latest-source-release, latest-wheel-release): Call 'vector->list' on
RELEASES.
* guix/import/stackage.scm (stackage-lts-info-fetch): Use 'json-fetch'
instead of 'json-fetch-alist'.
(lts-package-version): Use 'vector->list'.
* guix/import/utils.scm (hash-table->alist): Remove.
(alist->package): Pass 'vector->list' on the inputs fields, and default
to the empty vector.
* guix/scripts/import/json.scm (guix-import-json): Remove call to
'hash-table->alist'.
* guix/swh.scm (define-json-reader): Expect pair? or null? instead of
hash-table?.
[extract-field]: Use 'assoc-ref' instead of 'hash-ref'.
(json->branches): Use 'map' instead of 'hash-map->list'.
(json->checksums): Likewise.
(json->directory-entries, origin-visits): Call 'vector->list' on the
result of 'json->scm'.
* tests/import-utils.scm ("alist->package with dependencies"): New test.
* gnu/installer.scm (build-compiled-file)[builder]: Use GUILE-JSON-3.
* gnu/installer.scm (installer-program)[installer-builder]: Likewise.
* gnu/installer/locale.scm (iso639->iso639-languages): Use 'assoc-ref'
instead of 'hash-ref', and pass vectors through 'vector->list'.
(iso3166->iso3166-territories): Likewise.
* gnu/system/vm.scm (system-docker-image)[build]: Use GUILE-JSON-3.
* guix/docker.scm (manifest, config): Adjust for Guile-JSON 3.
* guix/scripts/pack.scm (docker-image)[build]: Use GUILE-JSON-3.
* guix/import/github.scm (fetch-releases-or-tags): Update docstring.
(latest-released-version): Use 'assoc-ref' instead of 'hash-ref'.  Pass
the result of 'fetch-releases-or-tags' to 'vector->list'.
* guix/import/launchpad.scm (latest-released-version): Likewise.
2019-07-25 00:16:41 +02:00
Leo Famulari b9a178b6dc
doc: Warn about GPG warning.
* doc/guix.texi (Binary Installation, USB Stick and DVD Installation): Warn
users about the web-of-trust untrusted key warning from GPG.
2019-07-24 10:59:27 -04:00
Julien Lepiller c42db89ff9
doc: Add example for generating a secret key with knot DNS.
* doc/guix.texi (DNS Services): Add an example and more context to the
includes field of the knot-configuration record.
2019-07-23 21:17:04 +02:00
Marius Bakke ccad0e4d69
Merge branch 'master' into core-updates 2019-07-22 18:58:48 +02:00
Ludovic Courtès 5a90d56352
doc: Update 'guix import json' example.
This is a followup to d78010b81e.

* doc/guix.texi (Invoking guix import): Change 'guix import json'
example to refer to "gettext", not "gcc".
2019-07-22 11:53:39 +02:00
Marius Bakke 2ee70a5b11
Merge branch 'master' into core-updates 2019-07-19 01:15:59 +02:00
Ludovic Courtès 193d20f351
doc: Correctly document 'host' field of <cuirass-configuration>.
* doc/guix.texi (Continuous Integration): Fix doc of the 'host' field.
2019-07-18 00:44:23 +02:00
Ludovic Courtès 4569a7693e
doc: Remove note about grafts being "beta".
* doc/guix.texi (Security Updates): Remove pointless note about the
feature being "beta".
2019-07-18 00:44:23 +02:00
Ludovic Courtès 64de896a71
Merge branch 'master' into core-updates 2019-07-17 15:51:10 +02:00
Jelle Licht 09a1f92f61
build: Add node-build-system.
* guix/build/node-build-system.scm: New file.
* guix/build-system/node.scm: New file.
* guix/build/json.scm: New file.
* doc/guix.texi: Document it.
* Makefile.am: Added new files.

Co-Authored-By: Julien Lepiller <julien@lepiller.eu>
2019-07-14 12:20:48 +02:00
Jan Nieuwenhuizen 53f2164272
channels: Add optional directory to channel metadata.
* guix/channels.scm (<channel-metadata>): Add directory slot.  Update users.
(read-channel-metadata-from-source): New function.
(standard-module-derivation): Use it.
* doc/guix.texi (Package Modules in a Subdirectory): New subsection.
2019-07-14 00:58:09 +02:00
Tobias Geerinckx-Rice 2a059ab995
doc: Increase VM memory size.
* doc/guix.texi (Running Guix in a VM): Bump ‘-m‘ to 1 GiB to match its
@item below, and have a chance of being usable, too.
2019-07-13 05:26:01 +02:00
Tobias Geerinckx-Rice ffae5a7946
doc: Update gpg key fetching instructions.
This mirrors the steps performed by etc/guix-install.sh.

* doc/guix.texi (KEY-SERVER): Replace moribund SKS key servers with...
(OPENPGP-SIGNING-KEY-URL): ...the TLS PKI of the future.
(Binary Installation, USB Stick and DVD Installation): Update the
@example gpg command to download the key directly from Savannah.
2019-07-13 04:55:46 +02:00
Marius Bakke fb9a23a3f3
Merge branch 'master' into core-updates
Conflicts:
	gnu/local.mk
	gnu/packages/python-xyz.scm
	gnu/packages/xml.scm
	guix/gexp.scm
	po/guix/POTFILES.in
2019-07-12 01:03:53 +02:00
Carl Dong b6dc08393e
scripts: environment: Add --no-cwd.
* doc/guix.texi (Invoking guix environment): Add --no-cwd.
* guix/scripts/environment.scm (show-help, %options): Add --no-cwd.
(launch-environment/container): Add 'map-cwd?' param; only add mapping
for cwd if #t.  Only change to cwd within container if #t, otherwise
home.
(guix-environment): Error if --no-cwd without --container.  Provide
'(not no-cwd?)' to launch-environment/container as 'map-cwd?'.
* tests/guix-environment.sh: Add test for no-cwd.

Co-authored-by: Mike Gerwitz <mtg@gnu.org>
2019-07-08 10:33:20 -04:00
Jakob L. Kreuze 02a962c8e0
doc: Add section for 'guix deploy'.
* doc/guix.texi: Add section "Invoking guix deploy".
2019-07-06 02:10:04 -04:00
Marius Bakke 4fb9165515
Merge branch 'staging' into core-updates 2019-07-02 20:18:16 +02:00