Commit Graph

1154 Commits

Author SHA1 Message Date
宋文武 c32d02fe7e
services: Add openvswitch-service-type.
* gnu/services/networking.scm (<openvswitch-configuration>): New record type.
(openvswitch-activation, openvswitch-shepherd-service): New procedures.
(openvswitch-service-type): New variable.
* doc/guix.texi (Networking Services): Document it.
2017-02-12 14:48:34 +08:00
Danny Milosavljevic 65e862d1a2
gnu: Add dub-build-system.
* guix/build-system/dub.scm: New file.
* guix/build/dub-build-system.scm: New file.
* Makefile.am (MODULES): Add them.
* doc/guix.texi: Add section for dub-build-system.
2017-02-10 16:21:50 +01:00
Federico Beffa bc5844d149
import: Add stackage importer and updater.
* guix/import/stackage.scm: New file.
* guix/scripts/import/stackage.scm: New file.
* Makefile.am (MODULES): Add new files.
* guix/scripts/import.scm (importers): Add "stackage".
* guix/scripts/refresh.scm (%updaters): Add %stackage-updater.
* doc/guix.texi (Invoking 'guix import'): Document the importer.
  (Invoking 'guix refresh'): Add stackage to option --type valid values.
* guix/import/hackage.scm (guix-package->hackage-name, hackage-fetch,
  hackage-source-url, hackage-cabal-url, hackage-package?): Export them.
2017-02-09 19:36:08 +01:00
Ludovic Courtès 387e175492
services: Add 'special-files-service-type'.
* gnu/build/activation.scm (activate-/bin/sh): Remove.
(activate-special-files): New procedure.
* gnu/services.scm (activation-script): Remove call to
'activate-/bin/sh'.
(special-files-service-type): New variable.
(extra-special-file): New procedure.
* gnu/services/base.scm (%base-services): Add SPECIAL-FILES-SERVICE-TYPE
instance.
* gnu/tests/base.scm (run-basic-test)[special-files]: New variables.
["special files"]: New test.
2017-02-08 16:17:05 +01:00
Mathieu Othacehe eb122280a0
services: cuirass: Add load-path to cuirass configuration
* gnu/services/cuirass.scm (<cuirass-configuration>): Add load-path field.
(cuirass-shepherd-service): Honor it.
* doc/guix.texi (Continuous Integration): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-02-02 09:04:40 +01:00
Chris Marusich a4ca4362a2
doc: Discuss encrypted swap space.
* doc/guix.texi (Preparing for Installation): Provide an example of how to
  set up (encrypted) swap space using a swap file.
  (operating-system Reference)[swap-devices]: Clarify that swap files are
  supported, too.
  (Mapped Devices): Explain how to use a mapped device with a swap file to
  encrypt swap space.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-02-01 23:53:35 +01:00
Chris Marusich 5e2017ed88
doc: Clarify that 'guix pull' can't be easily rolled back.
* doc/guix.texi (Invoking guix pull): Clarify that 'guix pull' can't be
  easily rolled back.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-02-01 23:53:35 +01:00
Ludovic Courtès 8de3e4b35f
services: Make 'static-networking' extensible.
This allows users to statically define several interfaces.

* gnu/services/networking.scm (<static-networking>)[provision]
[name-servers]: Add default values.
(static-networking-shepherd-service)
(static-networking-etc-files)
(static-networking-shepherd-services): New procedures.
(static-networking-service-type): Change to extend both
SHEPHERD-ROOT-SERVICE-TYPE and ETC-SERVICE-TYPE.
(static-networking-service): Remove default value of #:provision.
Implement using 'simple-service'.
* gnu/services/base.scm (%base-services): Replace
'static-networking-service' call with 'service' form.
* doc/guix.texi (Networking Services): Update documentation.
2017-02-01 23:53:35 +01:00
Julien Lepiller 88ba7852d3
doc: Fix typo.
* doc/guix.texi (ocaml-build-system): Replace ocaml with OCaml.
2017-01-29 10:13:29 +01:00
Julien Lepiller 3184f14ad4
doc: Document ocaml-build-system.
* doc/guix.texi (Build Systems) [ocaml-build-system]: New definition.
2017-01-29 10:11:48 +01:00
Alex Kost e1a65ae57a
doc: Fix typos.
Fixes a regression introduced in commit
f31f1acac2.

Reported-by roptat on #guix.

* doc/guix.texi (Invoking guix build): Use "@@" instead of "@".
2017-01-28 13:03:45 +03:00
Alex Kost f31f1acac2
doc: Fix typos.
* doc/guix.texi: Use "@" for package specifications.
2017-01-28 12:40:58 +03:00
Leo Famulari a0885414f9
doc: Clarify "Installing GuixSD in a VM".
* doc/guix.texi (Installing GuixSD in a VM): Mention decompressing the
installation image.
2017-01-28 03:11:37 -05:00
Leo Famulari d36b8457d0
doc: Fix networking instructions in "Installing GuixSD in a VM".
This is a followup to commit c8b543741f.

* doc/guix.texi (Installing GuixSD in a VM): Fix typo.
2017-01-28 03:00:30 -05:00
Ludovic Courtès 4a780bdf1c
doc: Add missing Upstart command for the binary installation.
Fixes <http://bugs.gnu.org/25551>.
Reported by Jason Self <jason@bluehome.net>.

* doc/guix.texi (Binary Installation): Add 'initctl
reload-configuration' command for Upstart.
2017-01-28 00:38:20 +01:00
Ludovic Courtès de322a5d1d
doc: Add 'cups-configuration' example with 'hplip'.
* doc/guix.texi (Printing Services): Add example with 'hplip'.
2017-01-28 00:38:20 +01:00
宋文武 d918d79f60
doc: Mention the need of a BIOS boot partition when using GPT.
* doc/guix.text (Preparing for Installation)[Disk Partitioning]:
Mention the need of a BIOS boot partition when using GPT with the defualt
GRUB.
2017-01-23 20:25:18 +08:00
Maxim Cournoyer fa445d6499
doc: Fix a typo in guix.texi.
* doc/guix.texi (Invoking guix environment): s/the use/use the/

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-23 11:01:18 +01:00
Mathieu Othacehe 11b7717deb
services: cuirass: Add port to cuirass configuration
* gnu/services/cuirass.scm (<cuirass-configuration>): Add port field.
(cuirass-shepherd-service): Honor it.
* doc/guix.texi (Continuous Integration): Document it.

Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
2017-01-22 23:51:56 +01:00
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
Ludovic Courtès 557d9c8d7a
etc: Support indentation of whole files.
* etc/indent-package.el.in: Rename to...
* etc/indent-code.el.in: ... this.  Add case for a single argument.
* doc/contributing.texi (Formatting Code): Adjust accordingly.
* configure.ac: Likewise.
2017-01-13 18:49:31 +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
Ludovic Courtès 409c573322
build: Remove reference to 'doc/emacs.texi'.
This is a followup to deb6276dda.

* doc/local.mk (EXTRA_DIST): Remove 'emacs.texi'.
2017-01-12 14:59:36 +01:00
Ludovic Courtès 7bb2b10cd0
etc: Add 'indent-package.el' script.
* configure.ac: Check for 'emacs', substitute 'EMACS', and emit
'etc/indent-package.el'.
* etc/indent-package.el.in: New file.
* doc/contributing.texi (Formatting Code): Mention
'etc/indent-package.el'.
(Submitting Patches): Likewise, and link to the above node.

Co-authored-by: Alex Kost <alezost@gmail.com>
2017-01-12 14:56:52 +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 aaee461b9d
doc: Update dot graphs.
* doc/images/bootstrap-packages.dot,
doc/images/coreutils-bag-graph.dot, doc/images/coreutils-graph.dot,
doc/images/shepherd-graph.dot: Regenerate.
2016-12-17 14:46:42 +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
Maxim Cournoyer 089f385a21
doc: Fix typo in Submitting Patches section.
* doc/contributing.texi (Submitting Patches): Fix "could could" typo.

Signed-off-by: Leo Famulari <leo@famulari.name>
2016-12-14 14:57:50 -05: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
Ludovic Courtès 3676f89255
refresh: '--list-updaters' shows updater coverage.
* guix/scripts/refresh.scm (list-updaters-and-exit): Compute the
coverage ratio of each updater and print it.  Print the coverage ratio
for all the updaters.
* doc/guix.texi (Invoking guix refresh): Document it.
2016-11-30 17:35:21 +01:00
Ludovic Courtès 2fd370e816
gnu-maintenance: Add kernel.org updater.
* guix/gnu-maintenance.scm (latest-kernel.org-release): New procedure.
(%kernel.org-updater): New variable.
* guix/scripts/refresh.scm (%updaters): Add it.
2016-11-30 17:35:21 +01:00
Mathieu Lirzin a7cf4eb6d9
services: Add 'cuirass-service'.
* gnu/services/cuirass.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Continuous integration): New node.
2016-11-29 23:13:11 +01:00
Hartmut Goebel 3bf4280659
Merge branch 'master' into python-build-system 2016-11-29 18:47:16 +01:00
Ludovic Courtès e9c72306fd
refresh: Warn about packages that lack an updater.
* guix/upstream.scm (package-update-path): Rename to...
(package-latest-release): ... this.  Remove 'version>?' check.
(package-latest-release*): New procedure.
(package-update): Use it.
* guix/scripts/refresh.scm (lookup-updater): Rename to...
(lookup-updater-by-name): ... this.
(warn-no-updater): New procedure.
(update-package): Add #:warn? parameter and honor it.
(check-for-package-update): New procedure.
(guix-refresh)[warn?]: New variable.
Replace inline code when UPDATE? is false with a call to
'check-for-package-update'.
Pass WARN? to 'check-for-package-update' and 'update-package'.
* doc/guix.texi (Invoking guix refresh): Document it.  Fix a couple of
typos.
2016-11-29 16:12:31 +01:00
Ludovic Courtès 9a5187b687
doc: Document NSS incompatibility issues on foreign distros.
* doc/guix.texi (Application Setup)[Name Service Switch]: New
subsection.
2016-11-28 22:58:18 +01:00
宋文武 c940b8e682
doc: mysql-configuration: Fix typo.
* doc/guix.texi (Database Services): Fix typo of 'mysql-configuration'.
2016-11-26 12:50:11 +08:00
宋文武 f88371e866
services: Add opensmtpd service.
* gnu/services/mail.scm (<opensmtpd-configuration>): New record type.
(%default-opensmtpd-config-file, %opensmtpd-accounts): New variables.
(opensmtpd-shepherd-service, opensmtpd-activation): New procedures.
(opensmtpd-service-type): New variable.
* doc/guix.texi (Mail Services): Document it.
2016-11-26 12:50:11 +08:00
Ludovic Courtès cf283dd92e
offload: Rewrite to make direct RPCs to the remote daemon.
* guix/scripts/offload.scm (<build-machine>)[daemon-socket]: New field.
(connect-to-remote-daemon): New procedure.
(%gc-root-file, register-gc-root, remove-gc-roots, offload): Remove.
(transfer-and-offload): Rewrite using 'connect-to-remote-daemon' and
RPCs over SSH.
(store-import-channel, store-export-channel): New procedures.
(send-files, retrieve-files): Rewrite using these.
2016-11-25 23:44:20 +01:00
Ludovic Courtès 21531add32
offload: Use Guile-SSH instead of GNU lsh.
* guix/scripts/offload.scm (<build-machine>)[ssh-options]: Remove.
[host-key, host-key-type]: New fields.
(%lsh-command, %lshg-command, user-lsh-private-key): Remove.
(user-openssh-private-key, private-key-from-file*): New procedures.
(host-key->type+key, open-ssh-session): New procedures.
(remote-pipe): Remove 'mode' parameter.  Rewrite in terms of
'open-ssh-session' etc.  Update users.
(send-files)[missing-files]: Rewrite using the bidirectional channel
port.
Remove call to 'call-with-compressed-output-port'.
(retrieve-files): Remove call to 'call-with-decompressed-port'.
(machine-load): Remove exit status logic.
* doc/guix.texi (Requirements): Mention Guile-SSH.
(Daemon Offload Setup): Document 'host-key' and 'private-key'.  Show the
default value on each @item line.
* m4/guix.m4 (GUIX_CHECK_GUILE_SSH): New macro.
* config-daemon.ac: Use 'GUIX_CHECK_GUILE_SSH'.  Set
'HAVE_DAEMON_OFFLOAD_HOOK' as a function of that.
2016-11-25 23:44:20 +01:00
Leo Famulari de32aa74b4
Merge branch 'master' into python-build-system 2016-11-25 11:20:21 -05:00
Ludovic Courtès df31e36a40
doc: Fix typos in "Kerberos Services".
* doc/guix.texi (Kerberos Services): Fix typos.
2016-11-24 23:21:20 +01:00
Ludovic Courtès 13fb1bd94e
doc: Document encrypted root partitions.
This is a followup to f7f292d359.

* doc/guix.texi (Preparing for Installation): Give commands for
encrypted root installation.
(Proceeding with the Installation): Add item about mapped devices.
(File Systems): Mention that 'dependencies' can list <mapped-device>
objects.
* gnu/system/examples/desktop.tmpl (mapped-devices): New field.
(file-systems): Add 'dependencies' field.
2016-11-24 23:20:41 +01:00
Ludovic Courtès cbf1024e99
doc: Document 'wpa-supplicant-service-type'.
Reported by Chris Marusich <cmmarusich@gmail.com>.

* doc/guix.texi (Networking Services): Remove 'wpa-supplicant-service'
procedure, which doesn't exist, and document
'wpa-supplicant-service-type'.
2016-11-24 21:53:57 +01:00
Hartmut Goebel 332d7903f5
Add system start-up files for "guix publish".
* .gitignore: add etc/guix-publish.conf and /etc/guix-publish.service.
* etc/guix-publish.conf.in: New file.
* etc/guix-publish.service.in: New file.
* nix/local.mk (etc/guix-%.service, etc/guix-%.conf): Generalized former
  build-rules for by using patterns.
  (nodist_systemdservice_DATA): Add etc/guix-publish.service, update
  comment.
  (nodist_upstartjob_DATA): Add etc/guix-publish.conf, update comment.
* doc/guix.texi (Invoking guix publish): Add description for enabling
  "guix publish" on host distros using the new files.
2016-11-24 09:23:11 +01:00
Hartmut Goebel b7230de54b
doc: Symlink daemon start-up files.
This patch ensures that always the current profile's daemon will be used.

The .service file contains the path to the guix-daemon within the store. Thus
when copying the file, it will point to the very version of guix-daemon used
at the time of copying – even after system upgrade or when this version has
been garbage collected from the store.

* doc/guix.texi (Binary Installation): Change example code for installing
  the systemd and Upstart files to use symbolic links instead of copying
  the files.
2016-11-24 09:20:26 +01:00
Eric Bavier 52db41aff8
gnu: system: Add openfwwf-firmware to %base-firmware.
* gnu/system.scm (%base-firmware): Add openfwwf-firmware.
* doc/guix.texi (Hardware Considerations): Mention b43-open support.
(operating-system Reference)[firmware]: Likewise.
2016-11-22 09:38:36 -06:00
ng0 e01e2c6c52
gnu: services: Add git-service.
* gnu/services/version-control.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Misellaneous Services)[Version Control]: New section.

Co-authored-by: 宋文武 <iyzsong@member.fsf.org>
2016-11-21 20:37:43 +08:00
Ludovic Courtès fac46e3f5e
lint: Add 'mirror-url' checker.
* guix/scripts/lint.scm (origin-uris): New procedure.
(check-source): Use it.
(check-mirror-url): New procedure.
(%checkers): Add 'mirror-url' checker.
* tests/lint.scm ("mirror-url")
("mirror-url: one suggestion"): New tests.
* doc/guix.texi (Invoking guix lint): Document it.
2016-11-19 18:44:53 +01:00
Ludovic Courtès 1f9803c2a4
services: static-networking: Add netmask.
Reported by Mathieu Lirzin and Andreas Enge.

* gnu/services/networking.scm (<static-networking>)[netmask]: New
field.
(static-networking-service-type): Honor it.
* gnu/services/networking.scm (static-networking-service): Add #:netmask
and honor it.
* doc/guix.texi (Networking Services): Adjust accordingly.
2016-11-17 23:21:48 +01:00
Ludovic Courtès 1bcc87bb68
guix download: Add '-o' option.
* guix/scripts/download.scm (download-to-file, download-to-store*): New
procedures.
(%default-options): Add 'download-proc'.
(show-help): Adjust description and document '-o'.
(%options): Add '-o'.
(guix-download): Remove 'store' variable.  Add 'fetch' and define 'path'
to as its result.
* tests/guix-download.sh: Add test.
2016-11-16 18:00:41 +01:00
Hartmut Goebel 891a843d51
guix: Add lint-checker for packages which should be no inputs at all.
Also refactor some common code into a new function.

Examples for these pacakges are python(2)-setuptools and python(2)-pip, which
are installed together with python itself.

* guix/scripts/lint.scm (warn-if-package-has-input): New procedure.
  (check-inputs-should-be-native package): Use it; rename and clean-up
  variables. (check-inputs-should-not-be-an-input-at-all): New procedure.
  (%checkers) Add it.
* doc/guix.texi (Python Modules): Document it.
* tests/lint.scm: ("inputs: python-setuptools should not be an input at all
  (input)", "inputs: python-setuptools should not be an input at all
  (native-input)" "inputs: python-setuptools should not be an input at all
  (propagated-input)"): Add tests.
2016-11-15 17:37:49 +01:00
Hartmut Goebel 5f7565d190
guix: python-build-system: Add option "#:use-setuptools?" (default true).
* guix/build-system/python.scm (python-build): New keyword argument
  "#:use-setuptools?", defaulting to #t.
* guix/build/python-build-system.scm (call-setup-py): New positional
  parameter "use-setuptools?". If false, do not use the shim-wrapper
  for addin setuptools. (build, check): accept keyword-
  parameter, and pass to call-setuppy. (install): same; if
  "use-setuptools?" is false, do not use options "--root" and
  "--single-version-externally-managed" for setup.py.
* doc/guix.texi (Build Systems): Document it.
2016-11-15 17:37:44 +01:00
Hartmut Goebel aaf75c890b
gnu: ensure pip and setuptools are installed even for Python 2.
* gnu/packages/python.scm (python-2.7): Add "--with-ensurepip=install" to
  configure-flags.
* doc/guix.texi (Python Modules): Document it.
2016-11-15 17:37:40 +01:00
Tomáš Čech 2cccbc2af2
services: Add wpa-supplicant-service.
* gnu/services/networking.scm (wpa-supplicant-service): New procedure.
(wpa-supplicant-service-type): New variable.
* doc/guix.texi (Networking Services): Document it.
2016-11-15 00:19:17 +01:00
Ludovic Courtès 2cab1dd58b
Merge branch 'core-updates' 2016-11-13 00:34:16 +01:00
John Darrington e32171eeeb
doc: Added some index entries.
* doc/guix.texi: Added various @cindex tags to assist readers.
2016-11-12 06:52:34 +01:00
Ludovic Courtès 624144e0e7
doc: Mention elpa.gnu.org package signatures.
* doc/guix.texi (Invoking guix import): Document elpa.gnu.org
signatures.
2016-11-09 21:24:43 +01:00
John Darrington 859e367d07
gnu: Add pam-krb5 service.
* doc/guix.texi (Kerberos Services): New node.
* gnu/services/kerberos.scm: New file.
* gnu/local.mk: Add it.
2016-11-08 21:35:26 +01:00
Ludovic Courtès 64b8695cd8
guix download: Add '--no-check-certificate' option.
* guix/download.scm (download-to-store): Add #:verify-certificate?
parameter and honor it.
* guix/scripts/download.scm (%default-options): Add
'verify-certificate?' key.
(show-help, %options): Add '--no-check-certificate'.
(guix-download): Pass #:verify-certificate to 'download-to-store'.
* doc/guix.texi (Invoking guix download): Document it.
2016-11-07 23:39:01 +01:00
Ludovic Courtès bc3c41ce36
download: Verify TLS certificates unless asked not to.
Fixes <http://bugs.gnu.org/24466>.
Reported by Leo Famulari <leo@famulari.name>.

* guix/build/download.scm (%x509-certificate-directory): New variable.
(make-credendials-with-ca-trust-files, peer-certificate)
(assert-valid-server-certificate, print-tls-certificate-error): New
procedures.  Add 'print-tls-certificate-error' as an exception printer
for 'tls-certificate-error'.
(tls-wrap): Add #:verify-certificate? parameter and honor it.
(open-connection-for-uri): Likewise.
(http-fetch): Likewise.
(url-fetch): Likewise.
* guix/download.scm (url-fetch)[builder]: Pass #:verify-certificate? #f.
* guix/scripts/lint.scm (probe-uri): Add case for 'tls-certificate-error'.
(validate-uri): Likewise.
* doc/guix.texi (Invoking guix download): Mention 'SSL_CERT_DIR'.
2016-11-07 23:39:01 +01:00
Mark H Weaver 71e21fb26d
Merge branch 'master' into core-updates 2016-11-07 00:33:16 -05:00
Chris Marusich 8074b33077
system: Add 'guix system' actions: switch-generation and roll-back.
* guix/scripts/system.scm (roll-back-system, switch-to-system-generation): new
actions.
(reinstall-grub): New procedure, used by switch-to-system-generation.
(show-help, process-command, guix-system): Honor the new actions.
* doc/guix.texi (Invoking guix system) <switch-generation, roll-back>: Add the
new actions.
<reconfigure>: In the footnote, mention that the new actions also only work on
GuixSD.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-11-06 18:08:53 +01:00
Ludovic Courtès 0dfebdaa9d
doc: State that the 'patches' field is unconditional.
* doc/guix.texi (origin Reference): State that 'patches' is
unconditional.
2016-11-03 11:27:38 +01:00
Leo Famulari b3cc0dce08
Merge branch 'master' into core-updates 2016-11-02 20:03:35 -04:00
Ludovic Courtès 4af2fafd97
doc: Fix typo.
Fixes <http://bugs.gnu.org/24851>.
Reported by saffronsnail@hushmail.com.

* doc/guix.texi (Initial RAM Disk): Move parenthesis to after "of
QEMU".
2016-11-01 22:23:49 +01:00
Leo Famulari 205f0107bb
Merge branch 'master' into core-updates 2016-10-30 19:19:21 -04:00
Chris Marusich 1ef8b72a7f
system: Record store file system info in each generation.
* gnu/system.scm (<boot-parameters>)[store-device, store-mount-point]:
New fields.
(read-boot-parameters): Initialize them.
(operating-system-grub.cfg): Likewise.  Remove STORE-FS argument from
call to 'grub-configuration-file'.
(operating-system-parameters-file): Add 'store' element in
'boot-parameters'.
* gnu/system/grub.scm (strip-mount-point): Replace 'store-fs' parameter
by 'mount-point'; adjust accordingly.  Adjust callers.
(<menu-entry>)[device, device-mount-point]: New fields.
(eye-candy): Replace 'root-fs' parameter by 'store-device'; add
'store-mount-point'.  Use keyword arguments for 'system' and 'port'.
(grub-root-search): Remove 'root-fs' by 'device' and adjust
accordingly.
(grub-configuration-file): Remove 'store-fs' parameter.  Adjust
accordingly.
* guix/scripts/system.scm (previous-grub-entries): Initialize 'device'
and 'device-mount-point' fields from PARAMS.
* doc/guix.texi (GRUB Configuration): Document 'device' and
'device-mount-point'.  Explain that 'linux' can be prefixed by a GRUB
device name.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-10-30 22:59:46 +01:00
Leo Famulari 062c7e43ed
Merge branch 'master' into core-updates 2016-10-29 21:44:44 -04:00
David Craven 3ddc50db76
doc: Add information related to network connectivity with qemu.
* doc/guix.text: Add it.
2016-10-30 01:03:09 +02:00
Ludovic Courtès 343dc11702
guix hash: Interpret '-' as standard input.
* guix/scripts/hash.scm (guix-hash)[file-hash]: Special-case "-".
* tests/guix-hash.sh: Add test.
* doc/guix.texi (Invoking guix hash): Document it.
2016-10-28 22:30:17 +02:00
Leo Famulari 02c73adcdf
Merge branch 'master' into core-updates 2016-10-26 19:00:06 -04:00
Julien Lepiller 8c00b83818
services: nginx: Virtual hosts are first-class configuration items.
* gnu/services/web.scm (<nginx-vhost-configuration>): New record type.
(config-domain-strings): New procedure.
(config-index-strings): New procedure.
(default-nginx-vhost-config): New procedure.
(default-nginx-config): Add vhost support and temporary directories
(nginx-activation): Create temporary directories
(nginx-service): Add vhost-list key.
* doc/guix.texi (Web Services): Document 'nginx-vhost-configuration'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-10-24 22:50:40 +02:00
Mark H Weaver ca0635b4ba
Merge branch 'master' into core-updates 2016-10-23 14:16:39 -04:00
宋文武 6f52b82d42
doc: emacs: Clarify 'guix-use-substituse' and 'guix-dry-run'.
Reported by apteryx on #guix.

* doc/emacs.texi (Emacs Build Options): Mention the variable value when describe
the effects of 'guix-use-substitute' and 'guix-dry-run'.
2016-10-23 13:02:32 +08:00
Ludovic Courtès dc0322b511
services: ntpd: Add 'allow-large-adjustment?' knob.
Suggested by Leo Famulari.

* gnu/services/networking.scm (<ntp-configuration>)[allow-large-adjustment?]:
New field.
(ntp-shepherd-service): Honor it.
(ntp-service): Add #:allow-large-adjustment? and honor it.
* doc/guix.texi (Networking Services): Document it.
2016-10-20 15:43:59 +02:00
Mark H Weaver d2478b4cdd
Merge branch 'master' into core-updates 2016-10-19 10:54:36 -04:00
Ludovic Courtès 645b9df858
guix build: Add '--with-graft'.
* guix/scripts/build.scm (transform-package-inputs/graft): New procedure.
(%transformations): Add 'with-graft'.
(%transformation-options): Likewise.
(show-transformation-options-help): Document it.
* tests/scripts-build.scm ("options->transformation, with-graft"): New
test.
* doc/guix.texi (Package Transformation Options): Document it.
2016-10-17 23:59:02 +02:00
Mark H Weaver dcaf70897a
Merge branch 'master' into core-updates 2016-10-17 16:47:12 -04:00
Ludovic Courtès 7f8fec0fa4
graph: Add '%referrer-node-type'.
* guix/scripts/graph.scm (ensure-store-items): New procedure.
(%reference-node-type)[convert]: Use it.
(non-derivation-referrers): New procedure.
(%referrer-node-type): New variable.
(%node-types): Add it.
* tests/graph.scm ("referrer DAG"): New test.
* doc/guix.texi (Invoking guix graph): Document it.
2016-10-15 23:46:39 +02:00
Mark H Weaver 061d7f3bd2
Merge branch 'master' into core-updates 2016-10-13 05:53:07 -04:00
Andy Wingo f2ec23d18e
gnu: Add CUPS service.
* gnu/services/cups.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add gnu/services/cups.scm.
* doc/guix.texi (Printing Services): New section.
2016-10-13 11:37:25 +02:00
Hartmut Goebel e940a2713d
doc: Add guide on how to specify dependencies for Python packages.
* doc/guix.texi (Python Modules): New sub-subsection "Specifying
Dependencies".

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-10-12 23:35:43 +02:00
John Darrington eb419bc9fe
gnu: Add NFS related services.
* gnu/services/nfs.scm (pipefs-service-type): New variable,
(gss-service-type): New variable, (idmap-service-type) New variable.

* doc/guix.texi (Network File System): New node.
2016-10-12 19:26:10 +02:00
Andy Patterson a1b30f99a8
build-system: Add asdf-build-system.
* guix/build-system/asdf.scm: New file.
* guix/build/asdf-build-system.scm: New file.
* guix/build/lisp-utils.scm: New file.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document 'asdf-build-system'.

Signed-off-by: 宋文武 <iyzsong@gmail.com>
2016-10-08 21:20:35 +08:00
Ricardo Wurmus c8ebb4c472
doc: Remove GHC from examples for propagation.
* doc/guix.texi (package Reference): Remove GHC from the list of
languages for which library run-time dependencies must be propagated.
2016-10-08 00:03:29 +02:00
Ludovic Courtès 57bdd79e48
grafts: Allow the replacement to have a different name.
* guix/build/graft.scm (replace-store-references): REPLACEMENT is now
the full string, not just the hash.
(rewrite-directory)[hash-mapping](valid-suffix?): Remove.
(hash+suffix): Rename to...
(hash+rest): ... this.  Change to return the whole string as the second
element of the list.  Adjust 'match-lambda' expression accordingly;
check whether the string length of the origin and replacement match.
* tests/grafts.scm ("graft-derivation, grafted item uses a different
name"): New test.
* doc/guix.texi (Security Updates): Update sentence on the name/version
restriction.
2016-10-03 23:16:48 +02:00
Ludovic Courtès d8f3128119
services: openssh-service-type: Expose 'openssh-configuration'.
* gnu/services/ssh.scm (<openssh-configuration>): Add default values.
[pubkey-authentication?]: Rename to...
[public-key-authentication?]: ... this.
(openssh-service): Remove.
* doc/guix.texi (Networking Services): Adjust accordingly.
2016-10-03 00:38:28 +02:00
Jan Nieuwenhuizen 92c03a8715
services: Add rottlog.
* gnu/services/admin.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Log Rotation): New node.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-10-03 00:38:28 +02:00
Julien Lepiller 86d8f6d3ef
services: Add 'openssh-service'.
* gnu/packages/ssh.scm (openssh)[arguments]: Set sysconfdir to /etc/ssh.
* gnu/services/ssh.scm (<openssh-configuration>): New record type.
(%openssh-accounts): New variable.
(openssh-activation, openssh-config-file, openssh-shepherd-service)
(openssh-service): New procedures.
(openssh-service-type): New variable.
* doc/guix.texi (Networking Services): Document 'openssh-services'.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-09-29 23:11:48 +02:00
Leo Famulari 5564c011d9
doc: Give the full key fingerprint instead of the long key ID.
* doc/guix.texi (OPENPGP-SIGNING-KEY-ID): Use fingerprint instead of
long key ID.
2016-09-28 23:57:14 -04:00
Andy Wingo 66329c23a1
gnu: New default Dovecot service postmaster_address
* gnu/services/mail.scm (dovecot-configuration): Change default for
  postmaster-address, as dovecot is now requiring a non-empty value and
  will fail to start up otherwise.
* doc/guix.texi (Mail Services): Update.
2016-09-27 14:45:07 +02:00
Ludovic Courtès 71654dfdda
services: Add 'simple-service'.
* gnu/services.scm (simple-service): New procedure.
* doc/guix.texi (Service Reference): Document it.
2016-09-19 23:11:19 +09:00
John Darrington 8f65585b14
doc: "filesystem" -> "file system"
* doc/guix.texi: "filesystem" -> "file system"
* gnu/packages/admin.scm: "filesystem" -> "file system"
* gnu/packages/cdrom.scm: "filesystem" -> "file system"
* gnu/packages/compression.scm: "filesystem" -> "file system"
* gnu/packages/disk.scm: "filesystem" -> "file system"
* gnu/packages/gnome.scm: "filesystem" -> "file system"
* gnu/packages/irc.scm: "filesystem" -> "file system"
* gnu/packages/linux.scm: "filesystem" -> "file system"
* gnu/packages/mail.scm: "filesystem" -> "file system"
* gnu/packages/mpd.scm: "filesystem" -> "file system"
* gnu/packages/ocaml.scm: "filesystem" -> "file system"
* gnu/packages/perl.scm: "filesystem" -> "file system"
* gnu/packages/python.scm: "filesystem" -> "file system"
* gnu/packages/search.scm: "filesystem" -> "file system"
* gnu/packages/tls.scm: "filesystem" -> "file system"
* gnu/services/mail.scm: "filesystem" -> "file system"
2016-09-16 18:16:13 +02:00
Ludovic Courtès 4a3b6aa5dd
doc: #:target takes a GNU triplet, not a system type.
* doc/guix.texi (G-Expressions): In cross-compilation example, pass a
GNU triplet to #:target.
2016-09-14 16:36:27 +02:00
John Darrington dbc6d370fa
doc: "Various Services" -> "Miscellaneous Services"
* doc/guix.texi (Services): "Various" -> "Miscellaneous"
2016-09-14 06:37:28 +02:00
David Craven 46ec2707a4
services: Add kmscon service.
* gnu/services/base.scm (<kmscon-configuration>, kmscon-service-type):
  New variables.
* doc/guix.texi (@deffn kmscon-service-type, @deftp
  kmscon-configuration): Add documentation.
2016-09-11 16:29:45 +02:00
David Craven 317d3b474a
services: Add login-service.
* gnu/services/base.scm (%default-motd, <login-configuration>,
  login-pam-service, login-serivce-type, login-service): New variables.
  (<mingetty-configuration>, mingetty-shepherd-service,
  mingetty-serivce-type): Remove motd. Remove allow-empty-passwords?.
  Remove mingetty-pam-service.
  (%base-services): Add login-service. Remove motd.
2016-09-11 16:29:45 +02:00
Ludovic Courtès 44d5f54e31
system: grub: Allow arbitrary kernel file names in 'menu-entry'.
Fixes <http://bugs.gnu.org/20067>.
Reported by Tomáš Čech <sleep_walker@suse.cz>.

* gnu/system.scm (system-linux-image-file-name)
(operating-system-kernel-file): New procedures.
(operating-system-grub.cfg): Use 'operating-system-kernel-file' for the
'kernel' field of 'menu-entry'.
(operating-system-parameters-file): Likewise for the 'kernel' entry.
(read-boot-parameters): Adjust 'kernel' field so that it contains the
absolute file name of the image.
* gnu/system/grub.scm (grub-configuration-file)[linux-image-name]:
Remove.
[entry->gexp]: Assume LINUX is the absolute file name of the kernel
image.
* doc/guix.texi (GRUB Configuration): Add an example, and adjust
'kernel' field documentation accordingly.
2016-09-09 23:54:43 +02:00
Ludovic Courtès a9e5e92f94
gexp: Add 'file-append'.
* guix/gexp.scm (<file-append>): New record type.
(file-append): New procedure.
(file-append-compiler): New gexp compiler.
* tests/gexp.scm ("file-append", "file-append, output")
("file-append, nested", "gexp->file + file-append"): New tests.
* doc/guix.texi (G-Expressions): Use it in 'nscd' and 'list-files'
examples.  Document 'file-append'.
2016-09-09 23:54:43 +02:00
Ludovic Courtès 29e53b95f7
doc: Update package count.
* doc/guix.texi (Limitations): Update package count.
2016-09-07 23:46:01 +02:00
John Darrington d6a07ee675
gnu: Add rpc-daemon service
* gnu/services/nfs.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
2016-09-07 20:26:11 +02:00
Jan Nieuwenhuizen 392a4e1223
guix hash: Add --exclude-vcs option.
* guix/scripts/hash.scm (show-help): Add help text for --exclude-vcs option.
(%options): Add --exclude-vcs option.
(guix-hash): Handle exclude-vcs option.
* doc/guix.texi ("Invoking guix hash"): Update doc.
* tests/guix-hash.sh: Add test.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-09-07 12:00:35 +02:00
David Craven 935644c01a
services: Add sddm service.
* gnu/services/sddm.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (@deftp, @deffn): Add documentation.
2016-09-06 17:48:59 +02:00
David Craven ec2e2f6ce2
services: syslog: Use syslog-configuration.
* gnu/services/base.scm (<syslog-configuration>): New variable.
  (syslog-service-type): Use <syslog-configuration>.
  (syslog-service): Use <syslog-configuration>.
* gnu/tests/base.scm (%avahi-os): Use <syslog-configuration>.
* doc/guix.texi (syslog-configuration-type): Add @deftp.
  (syslog-service): Update @deffn.
2016-09-06 17:48:59 +02:00
Ludovic Courtès 7ca87354db
Add (guix modules).
* guix/modules.scm, tests/modules.scm: New files.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* doc/guix.texi (G-Expressions): Add an example of
'source-module-closure'.
2016-09-05 00:06:47 +02:00
Alex Kost 5741e3e552
doc: Fix typos.
* doc/guix.texi: Fix typo.
* doc/emacs.texi: Fix multiple typos.
2016-09-02 20:54:21 +03:00
Ludovic Courtès 2a75b0b63d
packages: Add 'package-input-rewriting'.
* guix/packages.scm (package-input-rewriting): New procedure.
* tests/packages.scm ("package-input-rewriting"): New test.
* doc/guix.texi (Defining Packages): Document it.
(Package Transformation Options): Add cross-reference.
2016-09-01 23:07:54 +02:00
Ludovic Courtès 1bc4d0c266
doc: Fix 'ntp-service' typo.
Reported by Vincent Legoll <vincent.legoll@gmail.com>.

* doc/guix.texi (Networking Services): Change #:name-service to
  #:servers in 'ntp-service' documentation.
2016-08-31 15:44:19 +02:00
Ludovic Courtès ea206df45f
doc: Update '--show' example to use '@' syntax.
* doc/guix.texi (Invoking guix package): Use '@' syntax in --show
example.
2016-08-30 10:20:02 +02:00
Ludovic Courtès eb56ee027b
system: Add 'create-home-directory?' field to <user-account>.
* gnu/system/shadow.scm (<user-account>)[create-home-directory?]: New
field.
(user-account->gexp): Serialize it.
* gnu/build/activation.scm (activate-users+groups)[activate-user]:
Update 'match-lambda' pattern accordingly.  Pass #:create-home? to
'ensure-user'.
(add-user, modify-user, ensure-user): Add #:create-home? parameter and
honor it.
* doc/guix.texi (User Accounts): Document it.
2016-08-28 15:11:18 +02:00
Ludovic Courtès 5b58c28b7e
services: guix: Add 'authorized-keys' configuration knob.
* gnu/services/base.scm (hydra-key-authorization): Add 'key' parameter
and honor it.
(%default-authorized-guix-keys): New variable.
(<guix-configuration>)[authorized-keys]: New field.
(guix-shepherd-service): Adjust 'match' clause accordingly.
(guix-activation): Adjust call to 'hydra-key-authorization'.
* doc/guix.texi (Base Services): Document 'authorized-keys'.
2016-08-19 09:11:00 +02:00
Alex Kost 7414de0a84
doc: Fix typos.
* doc/guix.texi: Fix multiple typos.
2016-08-18 11:02:34 +03:00
David Craven 00f4690568
services: Add spice vdagent service.
* gnu/services/spice.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Various Services): New subheading.
2016-08-05 21:48:43 +02:00
David Craven 8ff4dcbec4
doc: Make 'Lirc Service' a subsubheading of 'Various Services'.
* doc/guix.texi (Various Services)[Lirc Service]: New subsubheading.
  [lirc] New cindex.
2016-08-05 21:48:43 +02:00
Mark H Weaver 536fc5f8cd
Merge branch 'core-updates' 2016-08-04 08:17:05 -04:00
Mark H Weaver 0832787e5c
Revert "Merge branch 'core-updates'"
This reverts commit 455859a50f.
2016-08-04 08:16:38 -04:00
Ludovic Courtès 80d944b79a
doc: Fix typos.
* doc/guix.texi (Application Setup): Use @xref, not @pxref, when
starting a sentence.
(Scheduled Job Execution): Remove extra indent in example; fix typos.
2016-08-03 16:00:20 +02:00
Ludovic Courtès 1eb43cc30b
doc: Update Texinfo HTML cross-reference file..
* doc/htmlxref.cnf: Add entries for 'find' and 'mcron'.
2016-08-03 16:00:09 +02:00
Ludovic Courtès e8b652d46b
doc: Clarify distinction between "service" and "Shepherd service".
* doc/guix.texi (Services): Distinguish "service" and "Shepherd
service".  Add xref to "Shepherd Services".
2016-08-02 23:43:29 +02:00
Ludovic Courtès 201fff9ea1
doc: Fix typo.
* doc/guix.texi (Locales): Add missing 'of'.
2016-08-02 23:43:29 +02:00
Vincent Legoll c8b543741f
doc: Add "Installing GuixSD in a VM" node.
* doc/guix.texi (Installing GuixSD in a VM): New node.
(USB Stick Installation): Refer to it.
(System Installation): Mention "GuixSD".

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-08-02 14:26:32 +02:00
David Craven 9c97afe858
gnu-maintenance: Add KDE updater.
* guix/gnu-maintenance.scm (kde-package?, latest-kde-release): New private
  functions.
  (%kde-updater): New public variable.
* guix/scripts/refresh.scm (list-updaters): Add %kde-updater.
* doc/guix.texi (Invoking guix refresh): Mention the new updater.
2016-08-02 13:28:21 +02:00
Ludovic Courtès 455859a50f
Merge branch 'core-updates' 2016-08-01 23:30:52 +02:00
Ludovic Courtès a8cb87abe9
install: Add nvi to the image.
* gnu/system/install.scm (installation-os)[packages]: Add NVI.
* doc/guix.texi (Proceeding with the Installation): Mention it.
2016-08-01 23:08:48 +02:00
Mark H Weaver 622c22ccb4
Merge branch 'master' into core-updates 2016-07-28 14:13:26 -04:00
Ludovic Courtès d222522edf
doc: Discourage software bundling.
Fixes <http://bugs.gnu.org/24008>.
Suggested by ng0 <ng0@we.make.ritual.n0.is>.

* doc/contributing.texi (Submitting Patches): Add item about bundling.
2016-07-28 15:41:00 +02:00
ng0 3a78fab83d
doc: Send changes in your patch which are related.
* doc/contributing.texi (Submitting Patches): New @item:
This gives information about sending related changes and examples on
what we view as related changes.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-07-28 15:38:14 +02:00
Ludovic Courtès 189b1543cb
doc: Mention separate branch for packages with many dependents.
Suggested by ng0 <ng0@we.make.ritual.n0.is>.

* doc/contributing.texi (Submitting Patches): Add note on packages with
more than 100 dependents.
2016-07-28 15:24:37 +02:00
Andreas Enge e309c75610
Merge remote-tracking branch 'origin/master' into core-updates 2016-07-28 11:08:55 +02:00
Ludovic Courtès 201855221f
environment: Set 'GUIX_ENVIRONMENT' to the profile.
* guix/scripts/environment.scm (create-environment): Set
'GUIX_ENVIRONMENT' to PROFILE.
* tests/guix-environment.sh: Test it.
* doc/guix.texi (Invoking guix environment): Document it.
2016-07-26 17:59:25 +02:00
Ludovic Courtès debc6360e1
doc: Explain authentication in "System Installation".
Suggested by Vincent Legoll <vincent.legoll@gmail.com>.

* doc/guix.texi (OPENPGP-SIGNING-KEY-ID): New constant.
(Binary Installation): Use it.
(USB Stick Installation): Copy and adjust the authentication bit from
"Binary Installation".
2016-07-26 15:07:29 +02:00
ng0 6e42660b12
doc: Better illustration use of package revision numbers.
* doc/guix.texi (Version Numbers): Add the
revision to the example of the git package used in 7.6.3.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-07-26 14:55:47 +02:00
Andreas Enge 97c8aef15d
system: Add mapped devices for RAID.
* gnu/system/mapped-devices.scm (raid-device-mapping, open-raid-device,
close-raid-device): New variables.
* doc/guix.texi (Mapped Devices): Add documentation for RAID devices,
reorganize documentation for LUKS devices.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-07-25 22:22:21 +02:00
Andreas Enge 14656f4495
Merge remote-tracking branch 'origin/master' into core-updates 2016-07-25 21:58:36 +02:00
myglc2 424a323e92
doc: Explain when guix edit is read-only.
* doc/guix.texi (Invoking guix edit): Explain when you can and can't
  edit the recipe.

Signed-off-by: Alex Kost <alezost@gmail.com>
2016-07-25 17:18:53 +03:00
Alex Kost 1a3e6b15ba
doc: Describe how to make X server find TrueType fonts.
* doc/guix.texi (Application Setup): Document how to add TrueType fonts
installed in a Guix profile to the X server font path.
2016-07-25 17:18:52 +03:00
ng0 0f53b886e2
doc: Point out preference of message format.
* doc/contributing.texi (Submitting Patches): Includes a note on
preference of plain text messages with either inline or MIME attachments
and advise contributers to pay attention if their email client breaks the
patches.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-07-24 19:54:15 +02:00
Ludovic Courtès dfcdd9c25d
doc: Explain that contributors can use a pseudonym.
Suggested by ng0 <ng0@we.make.ritual.n0.is>.

* doc/contributing.texi (Contributing): Explain that using a legal name
is not required.
2016-07-24 19:54:15 +02:00
Leo Famulari d227260d2f
Merge branch 'master' into core-updates
Resolved conflicts:
* gnu/packages/scheme.scm: Conflict in import of (guix licenses). On master,
"#:hide (openssl)" was used. On core-updates, "#:select (some licenses)" was
used. The latter won the conflict.
* gnu/packages/version-control.scm (git)[arguments]: Whitespace conflict
in 'install-shell-completion.
2016-07-22 18:58:31 -04:00
Ludovic Courtès 3c2d03a2b9
doc: Add note on gender-neutral wording.
Suggested by ng0 <ng0@we.make.ritual.n0.is>.

* doc/contributing.texi (Submitting Patches): Add @item regarding
gender-neutral wording.
2016-07-22 15:26:49 +02:00
Ludovic Courtès 654c0d97c9
doc: Mention quoting and keywords.
Suggested by Vincent Legoll <vincent.legoll@gmail.com>.

* doc/guix.texi (Defining Packages): Remove quasiquote in 'arguments'
example.  Mention quoting and keywords, with references to Guile's
manual.
2016-07-22 14:40:54 +02:00
Ludovic Courtès ff6638d112
publish: Handle '/file' URLs, for content-addressed files.
* guix/scripts/publish.scm (render-content-addressed-file): New procedure.
(http-write): Add 'application/octet-stream' case.
(make-request-handler): Add /file/NAME/sha256/HASH URLs.
* tests/publish.scm ("/file/NAME/sha256/HASH")
("/file/NAME/sha256/INVALID-NIX-BASE32-STRING")
("/file/NAME/sha256/INVALID-HASH"): New tests.
* doc/guix.texi (Invoking guix publish): Mention the /file URLs.
2016-07-20 16:54:31 +02:00
Ludovic Courtès 7575655212
Merge branch 'master' into core-updates 2016-07-20 11:42:17 +02:00
Ricardo Wurmus 909147e43f
services: Add pam-limits-service.
* gnu/system/pam.scm (<pam-limits-entry>): New record type.
(pam-limits-entry, pam-limits-entry->string): New procedures.
* gnu/services/base.scm (pam-limits-service-type): New variable.
(pam-limits-service): New procedure.
* doc/guix.texi (Base Services): Document it.
2016-07-19 23:50:03 +02:00
Ludovic Courtès 4591c02ea9
doc: Mention zlib as an optional dependency.
* doc/guix.texi (Requirements): Mention zlib.
(Invoking guix publish): Fix typo.
2016-07-19 23:03:30 +02:00
Ludovic Courtès 4a1fc562ae
publish: Add '--compression'.
* guix/scripts/publish.scm (show-help, %options): Add '--compression'.
(<compression>): New record type.
(%no-compression, %default-gzip-compression): New variables.
(%default-options): Add 'compression' key.
(narinfo-string): Add #:compression parameter and honor it.
(render-narinfo): Likewise.
(render-nar): Likewise.
<top level>: Add call to 'declare-header!'.
(swallow-zlib-error): New macro.
(nar-response-port): New procedure.
(http-write): Add call to 'force-output'.  Use 'nar-response-port'
instead of 'response-port'.  Use 'swallow-zlib-error'.
(make-request-handler): Add #:compression parameter and honor it.  Add
"nar/gzip" URL handler.
(run-publish-server): Add #:compression parameter and honor it.
(guix-publish): Honor --compression.
* tests/publish.scm (http-get-port, wait-until-ready): New procedures.
<top level>: Run main server with "-C0".  Call 'wait-until-ready'.
("/nar/gzip/*", "/*.narinfo with compression"): New tests.
* doc/guix.texi (Invoking guix publish): Document it.
2016-07-19 00:07:12 +02:00
David Craven 71b0601a97
services: Add 'dropbear-service'.
* gnu/services/ssh.scm (<dropbear-configuration>): New record type.
(dropbear-activation, dropbear-shepherd-service, dropbear-service): New
procedures.
(dropbear-service-type): New variable.
* doc/guix.texi (Networking Services): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-07-15 17:57:28 +02:00
Ludovic Courtès db97a03a89
doc: Explain 'guix hash -r' for Git checkouts.
* doc/guix.texi (origin Reference): Add xref to "guix download" and
"guix hash".
(Invoking guix hash): Provide an example to compute the hash of a Git
checkout.

Co-authored-by: Troy Sankey <sankeytms@gmail.com>
2016-07-13 23:51:17 +02:00
Ludovic Courtès 1929fdba80
packages: <origin> no longer has an 'imported-modules' field.
* guix/packages.scm (<origin>)[imported-modules]: Remove.
(patch-and-repack): Remove #:imported-modules.  Use
'with-imported-modules'.  Remove #:modules argument to
'gexp->derivation'.
(origin->derivation): Adjust accordingly.
* doc/guix.texi (origin Reference): Adjust accordingly.
2016-07-12 22:47:08 +02:00
Ludovic Courtès 9c14a487bb
gexp: 'program-file' and 'gexp->script' no longer have #:modules.
* guix/gexp.scm (<program-file>)[modules]: Remove.
(program-file): Remove #:modules and adjust accordingly.
(program-file-compiler): Likewise.
(gexp->script): Likewise.
2016-07-12 22:47:08 +02:00
Ludovic Courtès a769bffb65
gexp: 'computed-file' no longer has a #:modules parameter.
* guix/gexp.scm (<computed-file>)[modules]: Remove.
(computed-file): Remove #:modules.
(computed-file-compiler): Likewise.
* doc/guix.texi (G-Expressions): Adjust accordingly.
2016-07-12 22:47:08 +02:00
Ludovic Courtès a91c3fc727
services: <shepherd-service> no longer has an 'imported-modules' field.
* gnu/services/shepherd.scm (<shepherd-service>)[imported-modules]:
Remove.
(%default-imported-modules): Make private.
(shepherd-service-file): Use 'with-imported-modules'.
(shepherd-configuration-file): Remove 'modules' and the calls to
'imported-modules' and 'compiled-modules'.  Use
'with-imported-modules' instead.
* doc/guix.texi (Shepherd Services): Adjust accordingly.
* gnu/services/base.scm (file-system-shepherd-service): Use
'with-imported-modules'.  Remove 'imported-modules' field.
* gnu/system/mapped-devices.scm (device-mapping-service-type): Remove
'imported-modules'.
(open-luks-device): Use 'with-imported-modules'.
* gnu/tests.scm (marionette-shepherd-service): Remove 'imported-modules'
field and use 'with-imported-modules'.
2016-07-12 22:47:08 +02:00
Ludovic Courtès 2b4185792d
gexp: 'gexp->file' emits code to set '%load-path'.
* guix/gexp.scm (gexp->file): Add #:set-load-path? parameter and honor it.
* gnu/system.scm (operating-system-parameters-file): Pass
  #:set-load-path? #f.
* doc/guix.texi (G-Expressions): Adjust accordingly.
2016-07-12 22:47:08 +02:00
Ludovic Courtès 4ee96a7912
gnu: Switch to 'with-imported-modules'.
* gnu/services.scm (directory-union): Use 'with-imported-modules'
instead of the '#:modules' argument of 'computed-file'.
* gnu/services/base.scm (udev-rules-union): Likewise.
* gnu/services/dbus.scm (system-service-directory): Likewise.
* gnu/services/desktop.scm (wrapped-dbus-service):
(polkit-directory): Likewise.
* gnu/services/networking.scm (tor-configuration->torrc): Likewise.
* gnu/services/xorg.scm (xorg-configuration-directory): Likewise.
* gnu/system/install.scm (self-contained-tarball): Likewise.
* gnu/system/linux-container.scm (container-script): Likewise.
* gnu/system/linux-initrd.scm (expression->initrd): Likewise, and
remove #:modules parameter.
(flat-linux-module-directory): Use 'with-imported-modules'.
(base-initrd): Likewise.
* gnu/system/locale.scm (locale-directory): Likewise.
* gnu/system/shadow.scm (default-skeletons): Likewise.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
* gnu/tests/base.scm (run-basic-test): Likewise.
* gnu/tests/install.scm (run-install): Likewise.
* doc/guix.texi (Initial RAM Disk): Update 'expression->initrd'
documentation.
2016-07-12 22:47:08 +02:00
Ludovic Courtès 0bb9929eaa
gexp: Add 'with-imported-modules' macro.
* guix/gexp.scm (<gexp>)[modules]: New field.
(gexp-modules): New procedure.
(gexp->derivation): Use it and append the result to %MODULES.
Update docstring to mark #:modules as deprecated.
(current-imported-modules, with-imported-modules): New macros.
(gexp): Pass CURRENT-IMPORTED-MODULES as second argument to 'gexp'.
(gexp->script): Use and honor 'gexp-modules'; define '%modules'.
* tests/gexp.scm ("gexp->derivation & with-imported-modules")
("gexp->derivation & nested with-imported-modules")
("gexp-modules & ungexp", "gexp-modules & ungexp-splicing"):
New tests.
("program-file"): Use 'with-imported-modules'.  Remove #:modules
argument to 'program-file'.
* doc/guix.texi (G-Expressions): Document 'with-imported-modules'.
Mark #:modules of 'gexp->derivation' as deprecated.
* emacs/guix-devel.el: Add syntax for 'with-imported-modules'.
(guix-devel-keywords): Add it.
* .dir-locals.el: Likewise.
2016-07-12 22:47:08 +02:00