Commit Graph

895 Commits

Author SHA1 Message Date
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 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
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
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 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
David Craven b58cbf9ac5
services: Add rngd-service.
* gnu/services/base.scm (<rngd-configuration>): New record type.
(rngd-service-type): New variable.
(rngd-service): New procedure.
* doc/guix.texi (Base Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-07-05 11:10:01 +02:00
Ludovic Courtès c8695f325d
services: avahi: Add #:debug? parameter.
* gnu/services/avahi.scm (<avahi-configuration>)[debug?]: New field.
(avahi-shepherd-service): Honor it.
(avahi-service): Add #:debug? and honor it.
* doc/guix.texi (Networking Services): Adjust accordingly.
2016-06-27 21:41:38 +02:00
Ludovic Courtès b6683f1507
doc: Fix typo for 'static-networking-service'.
* doc/guix.texi (Networking Services): Change #:name-services to
  #:name-servers.
2016-06-27 21:41:38 +02:00
Ludovic Courtès 01497dfe6c
Merge branch 'master' into core-updates 2016-06-27 09:30:01 +02:00
Ludovic Courtès 8ac6282c4b
doc: Augment mcron example.
Suggested by Danny Milosavljevic.

* doc/guix.texi (Scheduled Job Execution): Add unprivileged job example,
and show the use of thunks as job actions and gexps.
2016-06-26 15:29:32 +02:00
Ludovic Courtès eca69fc0d6
doc: Clarify /dev/kvm setup.
Reported by myglc2 <myglc2@gmail.com>.

* doc/guix.texi (Build Environment Setup): Mention the "kvm" group.
(Invoking guix system): Use "@quotation Note" for the note about KVM;
make it clear that KVM is optional.
2016-06-26 15:29:32 +02:00
Ludovic Courtès 0a2f2848d5
doc: Document 'make check-system'.
* doc/guix.texi (Running the Test Suite): Document 'make check-system'.
2016-06-22 22:56:06 +02:00
Ludovic Courtès c311089b0b
services: Add 'mcron-service'.
* gnu/services/mcron.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/tests/base.scm (%mcron-os, %test-mcron): New variables.
(run-mcron-test): New procedure.
* doc/guix.texi (Scheduled Job Execution): New node.
2016-06-22 22:56:06 +02:00
宋文武 922e21f436
gnu: services: Add bluetooth-service.
* gnu/services/desktop.scm (bluetooth-shepherd-service)
(bluetooth-service): New Prodecures.
(bluetooth-service-type): New variable.
* doc/guix.text (Desktop Services): Document it.
2016-06-18 09:53:14 +08:00
Ludovic Courtès a1b484654a
services: dicod: Add 'interfaces' configuration field.
This makes 'dicod' listen on 'localhost' by default, whereas it was
previously listening on all the interfaces, which is not a good default
security-wise.

* gnu/services/dict.scm (<dicod-configuration>)[interfaces]: New field.
(dicod-configuration-file)[database->text]: New procedure, with code
formerly in 'dicod-configuration->text'.
[dicod-configuration->text]: Rename to...
[configuration->text]: ... this.  Honor 'interfaces'.
* doc/guix.texi (Various Services): Document 'interfaces'.
2016-06-17 11:14:18 +02:00
Ludovic Courtès 762e54b7b4
doc: Recommend against marketing phrases in descriptions.
* doc/guix.texi (Synopses and Descriptions): Add note about marketing
phrases.
2016-06-16 23:50:44 +02:00
宋文武 6575183b2c
gnu: services: Add mysql-service.
* gnu/services/database.scm (<mysql-configuration>): New record type.
(%mysql-accounts, mysql-service-type): New variables.
(mysql-configuration-file, %mysql-activation, mysql-shepherd-services)
(mysql-services): New procedures.
* doc/guix.texi (Database Services): Document it.
2016-06-16 21:26:50 +08:00
Ludovic Courtès 0687fc9cd9
gexp: Add #:select? parameter to 'local-file'.
* guix/gexp.scm (<local-file>)[select?]: New field.
(true): New procedure.
(%local-file): Add #:select? and honor it.
(local-file): Likewise.
* tests/gexp.scm ("local-file, #:select?"): New test.
* doc/guix.texi (G-Expressions): Adjust accordingly.
2016-06-16 09:34:32 +02:00
Ludovic Courtès b789974954
doc: Fix typos.
Reported by ozzloy on #guix.

* doc/guix.texi (package Reference): Add missing space.
(G-Expressions, Invoking guix build):
(Common Build Options): Fix typos.
2016-06-16 09:34:32 +02:00
Ludovic Courtès 1ec32f4a9d
store: Add #:select? parameter to 'add-to-store'.
* guix/store.scm (write-arg): Remove 'file' case.
(true): New procedure.
(add-to-store): Add #:select? parameter and honor it.  Use hand-coded
stub instead of 'operation'.
(interned-file): Add #:select? parameter and honor it.
* doc/guix.texi (The Store Monad): Adjust 'interned-file' documentation
accordingly.
2016-06-15 15:26:30 +02:00
Ludovic Courtès da675305dd
packages: The 'source' can be any lowerable object.
* guix/packages.scm (expand-input): Use 'struct?' instead of 'origin?'
when matching SOURCE.
(package-source-derivation): Use 'lower-object' instead of
'origin->derivation'.
* tests/packages.scm ("package-source-derivation, local-file"): New
test.
* doc/guix.texi (package Reference): Update 'source' documentation
accordingly.
2016-06-15 15:26:30 +02:00
Cyril Roelandt 266785d21e import: pypi: read requirements from wheels.
* doc/guix.tex (Invoking guix import): Mention that the pypi importer
works better with "unzip".
* guix/import/pypi.scm (latest-wheel-release,
wheel-url->extracted-directory): New procedures.
* tests/pypi.scm (("pypi->guix-package, wheels"): New test.
2016-06-14 22:03:22 +02:00
Ludovic Courtès 52530805b3
doc: Fix default value of #:recursive? for 'local-file'.
* doc/guix.texi (G-Expressions): The #:recursive? parameter of
'local-file' defaults to #f.
2016-06-12 23:54:00 +02:00
Ludovic Courtès e4c7a5f7c8
publish: Add '--ttl'.
* guix/scripts/publish.scm (show-help, %options): Add --ttl.
(render-narinfo): Add #:ttl and honor it.
(make-request-handler): Add #:narinfo-ttl and honor it.
(run-publish-server): Likewise.
(guix-publish): Honor --ttl, pass it to 'run-publish-server'.
2016-06-09 23:34:56 +02:00
Ludovic Courtès ae76830857
doc: Add missing quotes in wpa_supplicant example.
Reported by Kete Foy <kete@ninthfloor.org>.

* doc/guix.texi (Preparing for Installation): Add quotes in
wpa_supplicant example.
2016-06-08 19:07:58 +02:00
宋文武 c3d38b2b9d
gnu: services: Add dicod-service.
* gnu/services/dict.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Various Services): Document it.
2016-06-05 13:48:15 +08:00
Ludovic Courtès 1713c37f83
doc: Mention the 'ip' command.
Suggested by Alex Kost <alezost@gmail.com>.

* doc/guix.texi (Preparing for Installation): Mention 'ip'.
2016-06-05 00:05:38 +02:00
Ludovic Courtès 0e69cf67cb
doc: Explain that packages can be installed in the installation system.
* doc/guix.texi (Preparing for Installation): Add paragraph about
package installation in the installation system.
2016-06-03 10:26:42 +02:00
Hartmut Goebel 99c866a0bb
doc: Update specification for Python packages
* doc/guix.texi (Python Packages): Add rule for packages with upstream
  name starting with "py".

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-06-01 23:02:04 +02:00
Ludovic Courtès d23ef788b3
doc: Clarify non-interference when installed on a foreign distro.
Suggested by Hartmut Goebel <h.goebel@crazy-compilers.com>.

* doc/guix.texi (Installation): Add paragraph explaining that files live
in two directories.
2016-06-01 22:56:33 +02:00
Ludovic Courtès b2e13aa287
doc: Suggest pgp.mit.edu.
* doc/guix.texi (Binary Installation): Use pgp.mit.edu instead of
keys.gnupg.net, which seems to be dead.
2016-06-01 22:25:57 +02:00
Eelco Dolstra b4528110c6
daemon: rounds: Keep the differing output if -K is given.
Regardless of -K, we now also print which output differs.
2016-05-31 14:25:28 +02:00
Eelco Dolstra 7f3b2510d6
daemon: check: Keep the differing output if -K is given.
This makes it easier to investigate the non-determinism, e.g.

  $ nix-build pkgs/stdenv/linux -A stage1.pkgs.zlib --check -K
  error: derivation ‘/nix/store/l54i8wlw22656i4pk05c52ngv9rpl39q-zlib-1.2.8.drv’ may not be deterministic: output ‘/nix/store/11a27shh6n2ivi4a7s964i65ql80cf27-zlib-1.2.8’ differs from ‘/nix/store/11a27shh6n2ivi4a7s964i65ql80cf27-zlib-1.2.8-check’

  $ diffoscope /nix/store/11a27shh6n2ivi4a7s964i65ql80cf27-zlib-1.2.8 /nix/store/11a27shh6n2ivi4a7s964i65ql80cf27-zlib-1.2.8-check
  ...
  ├── lib/libz.a
  │   ├── metadata
  │   │ @@ -1,15 +1,15 @@
  │   │ -rw-r--r-- 30001/30000   3096 Jan 12 15:20 2016 adler32.o
  ...
  │   │ +rw-r--r-- 30001/30000   3096 Jan 12 15:28 2016 adler32.o
  ...

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-05-31 14:25:28 +02:00
Leo Famulari a535e12226
services: Add urandom-seed-service.
Fixes <http://bugs.gnu.org/23605>.

* gnu/services/base.scm (urandom-seed-service): New procedure.
(%random-seed-file, urandom-seed-service-type): New variables.
(%urandom-seed-shepherd-service): New procedure.
(%base-services): Call 'urandom-seed-service'.
* doc/guix.texi (Base Services): Document it.
2016-05-28 19:59:31 -04:00
Mathieu Lirzin 70458ed510
doc: Fix typo.
* doc/guix.texi (Derivations): Add 's' to "contain".
2016-05-26 14:23:53 +02:00
Ludovic Courtès db761534df
size: Accept several arguments.
* guix/scripts/size.scm (display-profile): Display WHOLE at then end.
(guix-size): Accept several FILES.
* doc/guix.texi (Invoking guix size): Add example with several items.
2016-05-24 23:05:31 +02:00
Ludovic Courtès a773c3142d
graph: Allow store file names for 'derivation' and 'references' graphs.
* guix/scripts/graph.scm (%derivation-node-type)[convert]: Add
'derivation-path?' and catch-all clauses.
(%reference-node-type)[convert]: Add 'store-path?' and catch-all
clauses.
(assert-package, nodes-from-package): New procedures.
(%package-node-type, %bag-node-type,%bag-with-origins-node-type)
(%bag-emerged-node-type): Add 'convert' field
(guix-graph): Rename 'packages' to 'items' and
allow 'store-path?' arguments.
* guix/graph.scm (<node-type>)[convert]: Adjust comment.
* doc/guix.texi (Invoking guix graph): Document it.
2016-05-21 01:35:14 +02:00
Ludovic Courtès 99effc8faa
lint: Honor 'cpe-name' and 'cpe-version' package properties.
* guix/scripts/lint.scm (package-name->cpe-name): Remove.
(package-vulnerabilities): Honor 'cpe-name' and 'cpe-version'
properties.
* gnu/packages/grub.scm (grub)[properties]: New field.
* gnu/packages/gnuzilla.scm (icecat)[properties]: Add 'cpe-name' and
'cpe-version'.
* doc/guix.texi (Invoking guix lint): Mention 'cpe-name'.
2016-05-17 18:15:53 +02:00
Ludovic Courtès 1aaf116d31
doc: Fix typo.
* doc/guix.texi (Base Services): "gpm-service", not "gmp-service-type".
2016-05-11 11:08:49 +02:00
Ludovic Courtès b8785cb944
doc: Suggest long OpenPGP key ID.
* doc/guix.texi (Binary Installation): Use long OpenPGP key ID.
2016-05-08 23:49:44 +02:00
Efraim Flashner 76192896e9
services: Add connman-service.
* gnu/services/networking.scm (connman-service): New procedure.
(connman-service-type, %connman-activation): New variables.
(connman-shepherd-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
2016-05-05 23:07:09 +03:00
Ludovic Courtès a17417a812
challenge: Use exit code 2 when discrepancies are found.
Suggested by John Darrington <john@darrington.wattle.id.au>.

* guix/scripts/challenge.scm (guix-challenge): Exit with 2 when MISSING
is not empty.
* doc/guix.texi (Invoking guix challenge): Document it.
2016-04-27 23:35:39 +02:00
Ludovic Courtès 0054e47036
guix gc: Add '--free-space'.
* guix/scripts/gc.scm (show-help, %options): Add '--free-space'.
(guix-gc)[ensure-free-space]: New procedure.
Handle '--free-space'.
2016-04-25 23:27:09 +02:00
Mathieu Lirzin 03d0e2d2b9 build: Move 'Makefile' fragments to subdirectories.
This follows a convention used by some other GNU packages like Autoconf,
Bison, Coreutils, and Gnulib.

* doc.am: Rename to ...
* doc/local.mk: ... this.
* emacs.am: Rename to ...
* emacs/local.mk: ... this.
* gnu-system.am: Rename to ...
* gnu/local.mk: ... this.
* daemon.am: Rename to ...
* nix/local.mk: ... this.
* Makefile.am: Adapt to them.
* doc/guix.texi (Porting to a New Platform): Adapt documentation.
* guix/config.scm.in (%state-directory, %config-directory): Adapt comments.
* emacs/guix-config.el.in (guix-config-state-directory): Likewise.
2016-04-21 18:47:50 +02:00
Ludovic Courtès b3129f2b76 doc: Add "X.509 Certificates" section under "Application Setup".
Reported by Roel Janssen <roel@gnu.org>.

* doc/guix.texi (Application Setup)[X.509 Certificates]: New section.
(X.509 Certificates): Add an example of certificates in the profile.
2016-04-20 18:54:39 +02:00
Hartmut Goebel e1c963bf0d doc: Add specification for Java packages
* doc/guix.texi (Java Packages): New subsection.
2016-04-19 16:55:03 +02:00
Ludovic Courtès 31b6cdf8d1 doc: Mention 'mkswap' during installation.
Reported by Thierry Micoud <thierrymicoud@gmail.com>.

* doc/guix.texi (Preparing for Installation): Mention 'mkswap'.
2016-04-19 12:40:11 +02:00
Alex Kost b5e3cbbb24 doc: emacs: Add "Package Source Locations" section.
* doc/emacs.texi (Emacs Commands): Move description of 'guix-edit'
command to...
(Emacs Package Locations): ... here.  Document 'guix-find-location'.
New node.
* doc/guix.texi (Top): Add it.
2016-04-18 10:09:02 +03:00
Ludovic Courtès ffba7d498d mapped-devices: LUKS partitions can be designated by their UUID.
* gnu/system/mapped-devices.scm (device-mapping-service-type): Add
'modules' and 'imported-modules' fields to 'shepherd-service'.
(open-luks-device): Use 'find-partition-by-luks-uuid' to lookup the
partition when SOURCE is a bytevector.
* gnu/system/linux-initrd.scm (base-initrd): Augment 'use-modules'
form.
* doc/guix.texi (Mapped Devices): Give example with a UUID.
2016-04-18 01:24:06 +02:00
Alex Kost b3d05f4870 services: 'console-keymap-service' takes multiple files.
* gnu/services/base.scm (console-keymap-service-type): Type procedure
takes a list of files instead of a single file.
(console-keymap-service): Take 'files' as rest arguments.
* doc/guix.texi (Base Services): Improve documentation of
'console-keymap-service'.
2016-04-17 10:33:08 +03:00
Ludovic Courtès e9dffec126 doc: Update 'skeletons' field documentation.
* doc/guix.texi (operating-system Reference): Update documentation of
'skeletons' as a followup to e79467f63a.
2016-04-17 01:23:52 +02:00
Ludovic Courtès d5e5924835 doc: Use new PACKAGE@VERSION syntax in example.
* doc/guix.texi (Using the Configuration System): Use PACKAGE@VERSION
syntax.
2016-04-17 01:23:52 +02:00
Ludovic Courtès e0b3f97ecc doc: Fix typos.
* doc/guix.texi (Hardware Considerations): Fix typos.
2016-04-16 00:52:19 +02:00
Ludovic Courtès bf15321a60 doc: Remove mention of GNU release freshness checks.
* doc/guix.texi (Invoking guix package): Remove paragraph about
automatic check for latest GNU releases, which was removed in
6caa4dfa37.
2016-04-16 00:52:19 +02:00
Mathieu Lirzin e66d1f59ab doc: Add a reference to 'Invoking guix archive'.
* doc/guix.texi (Common Build Options): Add a reference to 'Invoking
guix archive'.
2016-04-15 00:59:07 +02:00
Ludovic Courtès a70a50048b doc: Update reproducible-builds.org URL.
* doc/guix.texi (Invoking guix challenge): Update reproducible-builds
URL.
2016-04-06 23:23:56 +02:00
Ludovic Courtès ddbc7f7d81 doc: Use more https URLs.
* doc/guix.texi (Invoking guix challenge): Use https instead of http.
2016-04-06 23:22:49 +02:00
Ludovic Courtès 7cffaeb604 challenge: Really exit with non-zero upon hash mismatch.
Reported by John Darrington.

* guix/scripts/challenge.scm (guix-challenge): Add an explicit 'exit'
call when ISSUES is empty.
* scripts/guix.in: Add comment about 'exit'.
* doc/guix.texi (Invoking guix challenge): Mention the behavior and exit
code.
2016-04-06 23:21:26 +02:00
Ludovic Courtès 7b9a66e519 doc: Update use of old "PACKAGE-VERSION" syntax.
* doc/guix.texi (Invoking guix edit): Use the @ syntax for versions.
2016-04-06 23:16:02 +02:00
Mathieu Lirzin a9edb211e7 build: Add a Guile custom test driver using SRFI-64.
Before that '.log' files for scheme tests were fragmented and not
included in test-suite.log.  This unifies the semantics of SRFI-64 API
with Automake test suite.

* build-aux/test-driver.scm: New file.
* Makefile.am (SCM_LOG_DRIVER, AM_SCM_LOG_DRIVER_FLAGS): New variables.
(SCM_LOG_COMPILER, AM_SCM_LOG_FLAGS): Delete variables.
(AM_TESTS_ENVIRONMENT): Set GUILE_AUTO_COMPILE to 0.
* test-env.in: Silence guix-daemon.
* doc/guix.texi (Running the Test Suite): Describe how to display the
detailed results.  Bug reports require only 'test-suite.log' file.
* tests/base32.scm, tests/build-utils.scm, tests/builders.scm,
tests/challenge.scm, tests/cpan.scm, tests/cpio.scm, tests/cran.scm,
tests/cve.scm, tests/derivations.scm, tests/elpa.scm,
tests/file-systems.scm, tests/gem.scm, tests/gexp.scm,
tests/gnu-maintenance.scm, tests/grafts.scm, tests/graph.scm,
tests/gremlin.scm, tests/hackage.scm, tests/hash.scm,
tests/import-utils.scm, tests/lint.scm, tests/monads.scm, tests/nar.scm,
tests/packages.scm, tests/pk-crypto.scm, tests/pki.scm,
tests/profiles.scm, tests/publish.scm, tests/pypi.scm,
tests/records.scm, tests/scripts-build.scm, tests/scripts.scm,
tests/services.scm, tests/sets.scm, tests/size.scm, tests/snix.scm,
tests/store.scm, tests/substitute.scm, tests/syscalls.scm,
tests/system.scm, tests/ui.scm, tests/union.scm, tests/upstream.scm,
tests/utils.scm: Don't exit at the end of test groups.
* tests/containers.scm: Likewise.  Use 'test-skip' instead of exiting
with error code 77.
2016-04-03 14:19:09 +02:00
Eric Bavier 42efe27a30 import: Add Hackage updater.
* guix/import/hackage.scm (guix-package->hackage-name, hackage-package?)
  (latest-release): New procedures.
  (%hackage-updater): New variable.
* guix/scripts/refresh.scm (%updaters): Add it.
* doc/guix.texi (Invoking guix refresh): Mention it.
2016-03-30 23:19:24 -05:00
Roel Janssen 4827b36d1f doc: Small fixes for typos and missing words.
* doc/guix.texi (The Store Monad): Add a dot at the end of a sentence.
  (The Store Monad): Add "are" to make a complete sentence.
  (G-Expressions): Fix typo.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-03-30 23:39:47 +02:00
Chris Marusich 8a46205b41 doc: Clarify how to use the '#:python' parameter.
* doc/guix.texi (Build Systems): Clearly distinguish between the package that
provides the Python interpreter for the build and the package that is to be
built.  Also, mention why one might want to use a specific Python version.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-03-30 23:39:47 +02:00
Ludovic Courtès e2f41133e9 doc: We have even more than 3,000 packages.
Suggested by Chris Marusich <cmmarusich@gmail.com>.

* doc/guix.texi (Limitations): Increase package count.
2016-03-28 22:25:42 +02:00
Ludovic Courtès efa77c6c92 doc: Explain why the config file should be stored on the target.
Suggested by Chris Marusich <cmmarusich@gmail.com>.

* doc/guix.texi (Proceeding with the Installation): Explain why the
config file should be on the target file system.
2016-03-28 22:25:42 +02:00
Ludovic Courtès 15650ac2a0 doc: Suggest 'dhclient -v'.
Suggested by Chris Marusich <cmmarusich@gmail.com>.

* doc/guix.texi (Preparing for Installation): Add "-v" for dhclient.
2016-03-28 22:25:42 +02:00
Ludovic Courtès 9c18cf9bca doc: Suggest running "info info" during system installation.
Based on a suggestion by Chris Marusich <cmmarusich@gmail.com>.

* doc/guix.texi (System Installation): Suggest running "info info".
2016-03-28 22:25:42 +02:00
Ludovic Courtès b397c0d58a doc: Clarify 'cow-store'.
Suggested by Chris Marusich <cmmarusich@gmail.com>.

* doc/guix.texi (Proceeding with the Installation): Clarify what
'cow-store' is about.
2016-03-28 22:25:42 +02:00
Ludovic Courtès ff925d37e0 doc: Make it clear that networking is needed for GuixSD installation.
Suggested by Jan Nieuwenhuizen <janneke@gnu.org>.

* doc/guix.texi (Preparing for Installation): Make it clear that
networking is required.
2016-03-28 22:25:42 +02:00
Ludovic Courtès 09866b3962 doc: Augment documentation about security updates.
* doc/guix.texi (Security Updates): Add paragraph on the big picture of
security updates.  Cross-reference 'guix lint'.
(Invoking guix lint): Add CVE URLs.
2016-03-28 22:25:42 +02:00
Mark H Weaver 641d05188d doc: Fix typo: "wpa_supplication" --> "wpa_supplicant".
* doc/guix.texi (Preparing for Installation): Fix typo.
2016-03-26 13:15:11 -04:00
David Thompson a01ad63893 environment: container: Create dummy home directory and /etc/passwd.
* guix/scripts/environment.scm (launch-environment/container): Change
$HOME to the current user's home directory instead of
/homeless-shelter.  Create a dummy /etc/passwd with a single entry for
the current user.
* doc/guix.texi ("invoking guix environment"): Add a note about the
dummy home directory and /etc/passwd.
2016-03-26 09:38:27 -04:00
Ludovic Courtès bf9eacd2af doc: Mention 'guix challenge' in "Features".
* doc/guix.texi (Features): Mention trust and 'guix challenge'.
2016-03-25 23:54:12 +01:00
Ludovic Courtès 6f77360681 doc: Rephrase introduction to give a better overview.
Suggested by myglc2 <myglc2@gmail.com>.

* doc/guix.texi (Introduction): Rephrase to mention features and use
cases first, and foundations last.
(Features): Mention "GuixSD".
(Utilities): Change intro: not all the tools are for packagers.
2016-03-25 23:54:12 +01:00
Ludovic Courtès 622b2304ce doc: We now need 1 GiB for the installation USB image.
* doc/guix.texi (Building the Installation Image): Change image size to 1G.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Likewise.
2016-03-24 23:31:56 +01:00
Ludovic Courtès de341e7c3f doc: Update reference to the Info reader's manual.
* doc/guix.texi (System Installation): Refer to 'info-stnd' instead of
'info'.
(Preparing for Installation): Likewise.
2016-03-24 23:00:11 +01:00
Ludovic Courtès d038b674cf doc: Add "lightweight desktop" OS config example.
* gnu/system/examples/desktop.tmpl (packages): Remove XFCE and
RATPOISON.
(services): Add 'gnome-desktop-service' and 'xfce-desktop-service'.
* gnu/system/examples/lightweight-desktop.tmpl: New file.
* Makefile.am (EXAMPLES): Add it.
* doc.am (OS_CONFIG_EXAMPLES_TEXI): Add
doc/os-config-lightweight-desktop.texi.
* gnu/system/install.scm (/etc/configuration-files)[directory]: Add
lightweight-desktop.tmpl.
2016-03-23 00:23:12 +01:00
Ludovic Courtès 3f4ecf3229 gexp: Add #:disallowed-references.
* guix/gexp.scm (gexp->derivation): Add #:disallowed-references and
honor it.
* tests/gexp.scm ("gexp->derivation #:disallowed-references, allowed")
("gexp->derivation #:disallowed-references"): New tests.
* doc/guix.texi (G-Expressions): Adjust accordingly.
2016-03-20 22:46:14 +01:00
Ludovic Courtès 35b5ca7869 derivations: Add #:disallowed-references.
* guix/derivations.scm (derivation): Add #:disallowed-references.
[user+system-env-vars]: Honor it.
(build-expression->derivation): Likewise.
* tests/derivations.scm ("derivation #:disallowed-references, ok")
("derivation #:disallowed-references, not ok"): New tests.
* doc/guix.texi (Derivations): Adjust accordingly.
2016-03-20 22:45:35 +01:00
Ludovic Courtès ef5f5c8659 build: Protect against misconfiguration of localstatedir.
Suggested by Jookia <166291@gmail.com>.

* m4/guix.m4 (GUIX_CURRENT_LOCALSTATEDIR, GUIX_CHECK_LOCALSTATEDIR): New
macros.
* config-daemon.ac: Use 'GUIX_CHECK_LOCALSTATEDIR'.
* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Add --localstatedir.
* doc/guix.texi (Requirements): Mention --localstatedir.
(The Store): Mention LOCALSTATEDIR as such.
2016-03-19 15:07:46 +01:00
Ludovic Courtès b53daad064 doc: Add missing comma after @xref.
Reported by Alex Kost <alezost@gmail.com>.

* doc/guix.texi (Service Reference): Add comma after @xref.
2016-03-17 09:49:05 +01:00
Ludovic Courtès 5fe01c2d9b doc: GNOME is now available.
* doc/guix.texi (Limitations): Rephrase item about GNOME and KDE.
2016-03-17 09:49:05 +01:00
Ludovic Courtès 71e2065a38 substitute: Honor client-provided empty URL list.
Before that, 'guix build --substitute-urls=""' would lead to using the
daemon's own URL list instead of the empty list.  The 'or*' hack, which
is to blame, had become unnecessary since commit
fb4bf72be3.

Reported by Mark H Weaver <mhw@netris.org>.

* guix/scripts/substitute.scm (or*): Remove.
(%cache-urls): Use 'or' instead of 'or*'.
* tests/store.scm ("substitute query, alternating URLs"): Add test with
empty URL list.
* doc/guix.texi (Common Build Options): Mention the empty string.
2016-03-16 18:34:53 +01:00
Ludovic Courtès df061d079b build: Default to "https://mirror.hydra.gnu.org/" for substitutes.
* config-daemon.ac: Check for (gnutls) and define 'GUIX_SUBSTITUTE_URLS'.
* nix/nix-daemon/guix-daemon.cc (main): Use GUIX_SUBSTITUTE_URLS.
* guix/store.scm (%default-substitute-urls): Use 'https' when (gnutls)
is available.
* doc/guix.texi (Binary Installation): Mention mirrors
(Invoking guix-daemon): Mention mirror.hydra.gnu.org.
(Substitutes): Mention mirrors.
(Invoking guix archive): Show https URLs.
2016-03-16 11:27:37 +01:00
Andy Wingo 7a2413e46d gnu: services: Add GNOME and XFCE desktop services.
* gnu/services/desktop.scm (package-direct-input-selector): New
  function.
  (<gnome-desktop-configuration>, gnome-desktop-service-type)
  (<xfce-desktop-configuration>, xfce-desktop-service-type): New
  variables.
  (gnome-desktop-service, xfce-desktop-service): New public variables.

* doc/guix.texi (Desktop Services): Document new variables.
2016-03-15 21:03:27 +01:00
Chris Marusich 4d343a141b doc: Clarify and consolidate modify-services documentation.
* doc/guix.texi ("Using the Configuration System"): Move the example...
("Service Reference"): ...to here, and clarify more.
* gnu/services.scm (modify-services): Update docstring to mention the
return type.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-03-15 15:54:02 +01:00
Ludovic Courtès e3009f6000 doc: Add "Hardware Considerations" node.
Suggested by Nils Gillmann <niasterisk@grrlz.net>.

* doc/guix.texi (Hardware Considerations): New node.
(operating-system Reference): Mention it.
2016-03-15 10:34:29 +01:00
Andreas Enge 6e6a04016d doc: Fix incorrect use of @xref.
This is a follow-up to commit 1068f26b79.
Reported by Alex Kost <alezost@gmail.com>.

* doc/guix.texi (Building the Installation Image): Replace @xref by @ref.
2016-03-14 20:54:28 +01:00
Ricardo Wurmus 5f7a1a4def build: Add Ant build system.
* guix/build-system/ant.scm: New file.
* guix/build/ant-build-system: New file.
* Makefile.am (MODULES): Add new files.
* doc/guix.texi (Build Systems): Document ant-build-system.
2016-03-14 12:36:49 +01:00
Jan Nieuwenhuizen baacf042fd doc: Suggest `guix.scm' for upstream maintainers.
* doc/guix.texi (Invoking guix package): Suggest `guix.scm'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-03-11 16:33:50 +01:00
Ludovic Courtès 9b7bd1b160 substitute: Add HTTPS support.
Fixes <http://bugs.gnu.org/22937>.
Reported by Chris Marusich <cmmarusich@gmail.com>.

* guix/scripts/substitute.scm (fetch): Add 'https' alongside 'http'.
Use 'open-connection-for-uri' instead of 'open-socket-for-uri'.  Call
'setvbuf' only when PORT matches 'file-port?'.
(http-multiple-get): Likewise.  Change 'base-url' parameter to
'base-uri'.
(fetch-narinfos)[do-fetch]: Add 'https' case alongside 'http'.  Pass URI
instead of URL to 'http-multiple-get'.
* doc/guix.texi (Requirements): Move GnuTLS one level higher and mention
HTTPS substitutes.
(Substitutes): Mention HTTPS and recommend it.  Explain why servers
are not authenticated.  Add "On Trusting Binaries" subsection.
2016-03-10 13:55:30 +01:00
Ludovic Courtès 1ddee42472 doc: Add note on store immutability.
* doc/guix.texi (The Store): Mention "store items" and the database
location.  Add note on the store's immutability.
2016-03-09 14:49:28 +01:00
Ludovic Courtès 5284339d9d guix build: Add '--quiet'.
Fixes <http://bugs.gnu.org/19772>.
Reported by Andrei Osipov <andrspv@gmail.com>.

* guix/scripts/build.scm (show-help, %options): Add --quiet.
(guix-build): Parameterize 'current-build-output-port' accordingly.
* doc/guix.texi (Invoking guix build): Use it in example.
(Additional Build Options): Document it.
2016-03-08 22:00:17 +01:00
Ludovic Courtès 59a4dd509b doc: Explain how to check whether security updates are used.
Based on
<https://lists.gnu.org/archive/html/guix-devel/2016-03/msg00009.html>.

* doc/guix.texi (Security Updates): Explain how to check whether we're
using a grafted version.
2016-03-05 22:53:40 +01:00
Andreas Enge 1068f26b79 doc: Typos and small stylistic changes.
* guix.texi: Correct typos and make minor changes.
2016-03-05 16:27:35 +01:00
Ludovic Courtès 44abcb2868 doc: Mention syslogd configuration.
* gnu/services/base.scm (syslog-service): Add xref to Inetutils in the
docstring.
(%default-syslog.conf): Export.
* doc/guix.texi (Base Services): Update accordingly.
2016-03-04 11:48:52 +01:00
Ludovic Courtès abd678565e doc: Improve Info categories.
* doc/guix.texi: Change main category to "System administration".  Fix
syntax of subnodes.  Add entries for 'guix pull' and 'guix gc'.  Add
"Emacs" category.
2016-03-03 23:54:36 +01:00
Mathieu Lirzin 1b846da8c3 utils: Use '@' for separating package names and version numbers.
This provides the ability to use numbers in package names.

Fixes <http://bugs.gnu.org/19219>.

* guix/utils.scm (package-name->name+version): New procedure.
* gnu/packages.scm (%find-package): Add a FALLBACK? keyword argument.
Use the previous method when no package is found.
(specification->package+output, specification->package): Adapt
documentation to new syntax.
* doc/guix.texi (Invoking guix package, Invoking guix import): Likewise.
* guix/ui.scm (package-specification->name+version+output): Likewise.
* guix/scripts/import/hackage.scm (show-help): Likewise.
* tests/guix-build.sh: Adapt to new syntax.
* tests/guix-lint.sh: Likewise.
* tests/guix-package.sh: Likewise.
* tests/ui.scm ("package-specification->name+version+output"): Likewise.
* tests/utils.scm ("package-name->name+version"): Likewise.
* NEWS: Mention new syntax.
2016-03-02 21:41:41 +01:00
Ludovic Courtès 7573d30ff8 guix build: Move '--no-grafts' to the common build options.
* guix/scripts/build.scm (%options): Move --no-grafts to...
(%standard-build-options): ... here.
(show-help, show-build-options-help): Adjust accordingly.
* guix/scripts/archive.scm (%default-options): Add 'graft?'.
(guix-archive): Parametrize '%graft?'.
* guix/scripts/environment.scm (%default-options): Add 'graft?'.
(guix-environment): Parametrize '%graft?'.
* guix/scripts/package.scm (%default-options): Add 'graft?'.
(guix-package): Parametrize '%graft?'.
* guix/scripts/system.scm (%default-options): Add 'graft?'.
(guix-system): Parametrize 'graft?'.
* doc/guix.texi (Additional Build Options): Move --no-grafts to...
(Common Build Options): ... here.
2016-03-02 14:47:07 +01:00