Commit Graph

906 Commits

Author SHA1 Message Date
Christopher Baines b726096bc5
services: network-manager: Use record for configuration.
* gnu/services/network-manager.scm (<network-manager-configuration>): New
record type.
(network-manager-shpeherd-service): Change to use the
network-manager-configuration record, rather than a package.  Generate a
simple configuration file from the network-manager-configuration record.
(network-manager-service-type): Update extensions to take the
network-manager-configuration rather than a package.
(network-manager-service): Remove function, the network-manager-service-type
can be used instead, and this avoids keeping the function signature and value
coresponding to the service type in sync.
* doc/guix.texi (Networking Services): Remove documentation for the removed
network-manager-service procedure, and add documentation of the
network-manager-service-type variable and network-manager-configuration
record.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2017-01-20 21:45:56 +08:00
Christopher Baines 9c557a69ae
services: nginx: Add support for 'location' blocks.
* gnu/services/web.scm (<nginx-server-configuration>): Add field 'locations'.
(<nginx-location-configuration>): New record type.
(<nginx-named-location-configuration>): New record type.
(nginx-location-config): New function.
(default-nginx-server-config): Include locations.
* doc/guix.texi (Web Services): Document the new nginx-location-configuration
and nginx-named-location-configuration data types, as well as the changes to
the nginx-server-configuration.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-19 14:44:59 +01:00
Christopher Baines cb341293fa
services: nginx: Add support the 'upstream' module.
* gnu/services/web.scm (<nginx-upstream-configuration>): New record type.
(<nginx-configuration>): Add new field upstream-blocks.
(nginx-upstream): New function.
(default-nginx-config): Add upstream-list parameter.
(nginx-service): Add optional upstream list keyword argument.
* doc/guix.texi (Web Services): Document the new nginx-upstream-configuration
data type and changes to the nginx function.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-19 14:44:59 +01:00
Leo Famulari 8a9cffb202
doc: Show how to deploy any version of Guix.
* doc/guix.texi (Invoking guix pull): Give some examples of how to deploy
arbitrary Guix versions with the --url option.
2017-01-18 22:01:30 -05:00
Ludovic Courtès 6cd1059340
doc: Add '--manifest' example using 'specification->package+output'.
* doc/guix.texi (Invoking guix package): Add --manifest example using
'specification->package+output'.
2017-01-17 23:57:15 +01:00
Ludovic Courtès 6da5bb7b1b
guix build: Add '--repair'.
* guix/scripts/build.scm (show-help, %options): Add '--repair'.
* doc/guix.texi (Invoking guix gc): Mention 'guix build --repair'.
(Additional Build Options): Document it.
2017-01-15 22:47:25 +01:00
Julien Lepiller 2be1b4712d
gnu: Add openvpn service.
* gnu/services/vpn.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (VPN Services): New section.
2017-01-15 12:24:52 +01:00
Ludovic Courtès 153b62957c
challenge: Add '--verbose'.
* guix/scripts/challenge.scm (summarize-report): Add #:verbose?
parameter.
[report-hashes]: New procedure.  Use it.
Honor VERBOSE? in the 'match case.
(show-help, %options): Add '--verbose'.
(guix-challenge): Honor it.
2017-01-14 00:57:51 +01:00
Christopher Baines 67cadaca47
services: Add 'redis-service-type'.
* gnu/services/database.scm (<redis-configuration>): New record type.
(%redis-accounts, redis-service-type): New variables.
(default-redis.conf, redis-activation, redis-shepherd-service): New
procedures.
* doc/guix.texi (Database Services): Document the new redis service.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-12 16:49:47 +01:00
David Craven b1a505baf6
system: Add btrfs file system support.
* gnu/build/file-systems.scm (%btrfs-endianness, btrfs-superblock?,
  read-btrfs-superblock, btrfs-superblock-uuid,
  btrfs-superblock-volume-name, check-btrfs-file-system): New variables.
  (%paritition-label-readers, %partition-uuid-readers): Add btrfs
  readers.
* gnu/system/linux-initrd.scm (linux-modules): Add btrfs modules when a
  btrfs file-system is used.
* gnu/tests/install.scm (%btrfs-root-os %btrfs-root-os-source,
  %btrfs-root-installation-script, %test-btrfs-root-os): New system
  test.
* doc/guix.texi: Adjust accordingly.

Fixes <http://bugs.gnu.org/19280>.
2017-01-10 12:00:35 +01:00
Clément Lassieur 78cef99b98
gnu: Add Prosody service.
* gnu/services/messaging.scm: New file.
* gnu/services/configuration.scm: New exported procedures.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add gnu/services/messaging.scm.
* doc/guix.texi (Messaging Services): New section.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-08 23:39:36 +01:00
Ricardo Wurmus 03476a23ff
guix: Add Docker image export.
* guix/docker.scm: New file.
* Makefile.am (MODULES): Register it.
* guix/scripts/archive.scm (show-help, %options, guix-archive): Add
support for "--format".
* doc/guix.texi (Invoking guix archive): Document it.
2017-01-06 16:44:00 +01:00
Ludovic Courtès b96a0640a3
graph: Add '%reverse-package-node-type'.
* guix/scripts/graph.scm (%reverse-package-node-type): New variable.
(%node-types): Add it.
* tests/graph.scm ("reverse package DAG"): New test.
* doc/guix.texi (Invoking guix refresh): Add cross-reference to
"Invoking guix graph".
(Invoking guix graph): Document 'reverse-package'.
2017-01-04 16:18:53 +01:00
Ricardo Wurmus 9b4ec5730a
doc: Change wording for "--with-graft".
* doc/guix.texi (Package Transformation Options): Change wording for
"--with-graft" documentation.
2017-01-04 11:42:31 +01:00
Julien Lepiller d338237d8c
services: nginx: Make service extensible.
* gnu/services/web.scm (<nginx-configuration>)[server-blocks]: New
field.
(nginx-activation): When CONFIG-FILE is #f, use 'default-nginx-config'.
(nginx-shepherd-service): Likewise.
(nginx-service-type): Add 'compose' and 'extend' fields.
(nginx-service): Change default value of #:server-list to '(), and
default value of #:config-file to #f.
* doc/guix.texi (Web Services): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2017-01-03 14:30:44 +01:00
Julien Lepiller 3b9b12ef49
services: nginx: Rename "vhost" to "server".
* gnu/services/web.scm (<nginx-vhost-configuration>): Rename to...
(<nginx-server-configuration>): ... this.
* doc/guix.texi (Web Services): Adjust accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-03 14:30:44 +01:00
Ludovic Courtès 231eddc88a
services: cuirass: Remove 'cuirass-service' procedure.
* gnu/services/cuirass.scm (<cuirass-configuration>)[specifications]:
Remove default value.
(cuirass-service): Remove.
* doc/guix.texi (Continuous Integration): Adjust accordingly.
2017-01-01 23:30:31 +01:00
Ludovic Courtès 8de938d59a
services: cuirass: Allow for gexps in specifications.
* gnu/services/cuirass.scm (<cuirass-configuration>)[specifications]:
Change default value to #~'().
(cuirass-shepherd-service): Remove conditional for "--specifications".
Use 'scheme-file' instead of 'plain-file'.  Change file name to
"cuirass-specs.scm".
* doc/guix.texi (Continuous Integration): Change the example to use a
gexp where #:file refers to a file within Cuirass.  Adjust
documentation.
2017-01-01 23:30:30 +01:00
Ludovic Courtès f11c444d44
Add 'guix copy'.
* guix/scripts/copy.scm: New file.
* guix/scripts/archive.scm (options->derivations+files): Export.
* doc/guix.texi (Invoking guix copy): New node.
* Makefile.am (MODULES) [HAVE_GUILE_SSH]: Add guix/scripts/copy.scm.
* po/guix/POTFILES.in: Likewise.
2016-12-31 18:35:29 +01:00
Alex Kost deb6276dda
Remove Emacs interface.
* emacs/guix-about.el: Remove file.
* emacs/guix-backend.el: Likewise.
* emacs/guix-base.el: Likewise.
* emacs/guix-buffer.el: Likewise.
* emacs/guix-build-log.el: Likewise.
* emacs/guix-command.el: Likewise.
* emacs/guix-config.el.in: Likewise.
* emacs/guix-devel.el: Likewise.
* emacs/guix-entry.el: Likewise.
* emacs/guix-external.el: Likewise.
* emacs/guix-geiser.el: Likewise.
* emacs/guix-guile.el: Likewise.
* emacs/guix-help-vars.el: Likewise.
* emacs/guix-helper.scm.in: Likewise.
* emacs/guix-history.el: Likewise.
* emacs/guix-hydra-build.el: Likewise.
* emacs/guix-hydra-jobset.el: Likewise.
* emacs/guix-hydra.el: Likewise.
* emacs/guix-info.el: Likewise.
* emacs/guix-init.el: Likewise.
* emacs/guix-license.el: Likewise.
* emacs/guix-list.el: Likewise.
* emacs/guix-location.el: Likewise.
* emacs/guix-main.scm: Likewise.
* emacs/guix-messages.el: Likewise.
* emacs/guix-pcomplete.el: Likewise.
* emacs/guix-popup.el: Likewise.
* emacs/guix-prettify.el: Likewise.
* emacs/guix-profiles.el: Likewise.
* emacs/guix-read.el: Likewise.
* emacs/guix-ui-generation.el: Likewise.
* emacs/guix-ui-license.el: Likewise.
* emacs/guix-ui-location.el: Likewise.
* emacs/guix-ui-package.el: Likewise.
* emacs/guix-ui-system-generation.el: Likewise.
* emacs/guix-ui.el: Likewise.
* emacs/guix-utils.el: Likewise.
* emacs/local.mk: Likewise.
* doc/emacs.texi: Likewise.
* doc/guix.texi: Remove cross-references to Emacs nodes.
(Package Management): Mention 'emacs-guix' package.
* doc/contributing.texi (The Perfect Setup): Remove the reference.
* doc/htmlxref.cnf: Add 'emacs-guix' URL.
* Makefile.am: Remove Emacs stuff.
* configure.ac: Likewise.
* gnu/packages/package-management.scm (guix-0.12.0)[native-inputs]:
Remove "emacs".
[propagated-inputs]: Remove "geiser" and "emacs-magit-popup".

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-12-29 23:40:24 +03:00
Ludovic Courtès f943c317fb
environment: Add '--root' option.
* guix/scripts/environment.scm (show-help, %options): Add --root.
(register-gc-root): New procedure.
(guix-environment): Call 'register-gc-root' when OPTS has a 'gc-root'
option.
* doc/guix.texi (Invoking guix environment): Document it.
* tests/guix-environment.sh: Add tests.
2016-12-20 19:14:41 +01:00
Ricardo Wurmus cccbc63950
doc: Replace fingerprint of OpenPGP signing key.
* doc/guix.texi (OPENPGP-SIGNING-KEY-ID): Update to Ricardo's key for
the 0.12.0 release.
2016-12-20 12:29:13 +01:00
Ludovic Courtès 379b6ba5a9
services: cuirass: Add 'cuirass' field.
* gnu/services/cuirass.scm (<cuirass-configuration>)[cuirass]: New
field.
(cuirass-shepherd-service): Honor it.
* doc/guix.texi (Continuous Integration): Document it.
2016-12-20 10:27:08 +01:00
Ludovic Courtès dc0ef095b3
services: guix: Add 'log-file' configuration option.
* gnu/services/base.scm (<guix-configuration>)[log-file]: New field.
(guix-shepherd-service): Pass #:log-file to 'make-forkexec-constructor'.
* gnu/services/admin.scm (simple-rotation-config): Take a list of
files and join them with commas.
(%default-rotations): Add /var/log/guix-daemon.log.
* doc/guix.texi (Base Services): Document it.
2016-12-19 23:57:20 +01:00
Ludovic Courtès f78903f363
services: guix: Remove dependency on lsh.
* gnu/services/base.scm (<guix-configuration>)[lsh]: Remove.
(guix-shepherd-service): Remove lsh from 'PATH'.
* doc/guix.texi (Base Services): Adjust accordingly.
2016-12-19 23:57:19 +01:00
Ludovic Courtès 463995da0c
services: cuirass: Cache defaults to /var/cache/cuirass.
The previous default value depended on the 'HOME' environment variable,
which happened to be unset.  Thus, /.cache was being used.

* gnu/services/cuirass.scm (<cuirass-configuration>)[cache-directory]:
Change default value to "/var/cache/cuirass".
(cuirass-shepherd-service): Always pass "--cache-directory".
(cuirass-activation): New procedure.
(cuirass-service-type): Use it as an extension to
ACTIVATION-SERVICE-TYPE.
* doc/guix.texi (Continuous Integration): Adjust accordingly.
2016-12-19 23:57:19 +01:00
Ludovic Courtès b17e326f17
services: cuirass: Add 'log-file' option.
* gnu/services/cuirass.scm (<cuirass-configuration>)[log-file]: New
field.
(cuirass-shepherd-service): Pass it to 'make-forkexec-constructor'.
2016-12-19 23:57:19 +01:00
Ludovic Courtès 9b06f503f4
doc: Mention 'grub' field of 'grub-configuration'.
* doc/guix.texi (GRUB Configuration): Add 'grub' field.
2016-12-19 17:51:00 +01:00
Ludovic Courtès 7fcf2a0b94
doc: Make 'guix pull' more visible.
Suggested by Dave Love <fx@gnu.org>.
Fixes <http://bugs.gnu.org/25139>.

* doc/guix.texi (Installation): Mention 'guix pull'.
(Proceeding with the Installation): Mention updates with 'guix pull' and
'guix system reconfigure'.
(Invoking guix pull): Add "updating" to the concept index.
2016-12-19 17:51:00 +01:00
Ludovic Courtès b2ff76a010
doc: Mention 'swapon'.
Suggested by David Braun <Guix-box@snkmail.com>
at <https://lists.gnu.org/archive/html/guix-devel/2016-12/msg00744.html>.

* doc/guix.texi (Preparing for Installation): Add 'swapon'.
2016-12-19 17:51:00 +01:00
Ludovic Courtès 9ea36197be
doc: Mention the d3.js backend of 'guix graph'.
* doc/guix.texi (Invoking guix graph): Mention the d3.js backend.
2016-12-18 17:45:44 +01:00
Ludovic Courtès 1ec34dd7e6
doc: Document 'cargo-build-system'.
* doc/guix.texi (Build Systems): Add 'cargo-build-system'.
2016-12-18 17:45:44 +01:00
Ricardo Wurmus 64ce53eb5e
import cran: Add "recursive" option.
* guix/scripts/import/cran.scm: (%options): Add "recursive" option.
(guix-import-cran): Handle "recursive" option.
* doc/guix.texi (Invoking guix import): Document it.
2016-12-17 19:13:41 +01:00
Ludovic Courtès 5597b3ae08
doc: "Nar" now means "normalized archive".
* doc/guix.texi (Invoking guix archive): Mention "normalized archive"
and add index entries.
2016-12-16 14:45:56 +01:00
Christopher Baines e05b780a58
services: postgresql: Add locale to configuration
* gnu/services/databases.scm (<postgresql-configuration>): Add locale
  field.
  (postgresql-shepherd-service): Pass locale to initdb.
  (postgresql-service): Add locale default.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-12-15 16:55:02 +01:00
Christopher Baines 2d3d5cc5ea
services: postgresql: Add port to configuration
* gnu/services/databases.scm (<postgresql-configuration>): Add port
  field.
  (postgresql-shepherd-service): Pass port to postgres.
  (postgresql-service): Add port default.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-12-15 16:54:22 +01:00
Eric Bavier 200cdf81c6
doc: mention cpan updater.
* doc/guix.texi (Invoking guix refresh): Mention cpan updater.
2016-12-14 21:13:19 -06:00
Tobias Geerinckx-Rice ddf1cd519c
doc: Replace dead Google Code home page for cryptsetup.
* doc/guix.texi (Mapped Devices): Update cryptsetup home page.
2016-12-14 21:59:38 +01:00
Ricardo Wurmus 642339dc3f
graph: Add "list-backend" and "backend" options.
* guix/graph.scm (%graph-backends): New variable.
* guix/scripts/graph.scm (lookup-backend, list-backends): New
procedures.
(%options): Add options for "backend" and "list-backends".
(show-help): Add help texts for "backend" and "list-backend" options.
(%default-options): Add "backend" default.
(guix-graph): Pass backend argument to "export-graph".
* doc/guix.texi (Invoking guix graph): Document the new options.
2016-12-14 21:57:37 +01:00
David Craven 8ac5298786
import: Add updater for rust crates.
* guix/import/crate.scm (crate-package?, latest-release,
  %crate-updater): New variables.
* guix/scripts/refresh.scm (%updaters): Add crate updater.
* doc/guix.texi: Add crate updater to table.
2016-12-14 16:30:42 +01:00
David Craven 3e0c036584
import: Add importer for rust crates.
* guix/import/crate.scm: New file.
* guix/scripts/import/crate.scm: New file.
* guix/scripts/import.scm (importers): Add crate importer.
* tests/crate.scm: New file.
* doc/guix.texi: Add crate importer to table.
* Makefile.am (MODULES, SCM_TESTS): Add files.
2016-12-14 16:30:42 +01:00
Christopher Baines 4b41febf9c
services: mysql: Add port to configuration
* gnu/services/databases.scm (<mysql-configuration>): Add port field.
(mysql-configuration-file): Use the port field when creating the
configuration file.
* doc/guix.texi (Database Services): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-12-14 00:22:49 +01:00
Ludovic Courtès 27991c97e6
offload: Allow testing machines that match a regexp.
* guix/scripts/offload.scm (check-machine-availability): Add 'pred'
parameter and honor it.
(guix-offload): for the "test" sub-command, accept an extra 'regexp'
parameter.  Pass a second argument to 'check-machine-availability'.
2016-12-09 23:12:06 +01:00
Alex ter Weele 9747d189e0
doc: Correct example for 'wpa-supplicant-service-type'.
* doc/guix.texi (Networking Services): Change example to use
'wpa-supplicant-service-type'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-12-07 10:23:16 +01:00
Ludovic Courtès 1d48cf948c
offload: Make the compression methods configurable.
* guix/scripts/offload.scm (<build-machine>)[compression]
[compression-level]: New fields.
(open-ssh-session): Honor them.
* doc/guix.texi (Daemon Offload Setup): Document them.
2016-12-05 23:19:38 +01:00
Chris Marusich 067a2e2de9
guix system: If the new system generation already exists, overwrite it.
Fixes <http://bugs.gnu.org/25100>.

Before that, 'guix system reconfigure' would fail if the next generation
already existed.

* guix/scripts/system.scm (switch-to-system): Use 'switch-symlink'
instead of 'symlink'.
* doc/guix.texi (Using the Configuration System, Invoking guix system):
Document the behavior.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-12-05 23:19:37 +01:00
Ludovic Courtès aebaee95cc
offload: Add "test" sub-command.
* guix/scripts/offload.scm (assert-node-repl, assert-node-has-guix)
(nonce, assert-node-can-import, assert-node-can-export)
(check-machine-availability): New procedures.
(%random-state): New variable.
(guix-offload): Add case for "test".
* doc/guix.texi (Daemon Offload Setup): Document it.  Remove obsolete
bit about remote invocation of 'guix build'.
2016-12-05 18:18:10 +01:00
John Darrington 8b4990300c
doc: Use @file to mark file names.
* doc/guix.texi: Use @file where appropriate.
2016-12-03 18:11:27 +01:00
John Darrington 8e3f813f22
gnu: Add Kerberos client service.
* doc/guix.texi (Kerberos Services)[Krb5 Service]: New subsubheading.
* gnu/services/kerberos.scm (krb5-service-type): New variable.
* gnu/services/configuration.scm (configuration-field-serializer,
  configuration-field-getter): Export variables.
2016-12-03 18:00:32 +01:00
Ludovic Courtès 58806e6fe7
doc: Remove obsolete bit about networking in VMs.
* doc/guix.texi (Running GuixSD in a VM): Remove "the boot will fail"
wording since that is no longer true since commit
6129dd8b59.
2016-12-03 12:05:32 +01:00