Commit Graph

292 Commits

Author SHA1 Message Date
Eric Bavier d45dc6da5c import: Add CPAN importer.
* guix/import/cpan.scm, guix/scripts/import/cpan.scm, tests/cpan.scm:
  New files.
* Makefile.am (MODULE)[HAVE_GUILE_JSON]: Add them.
* guix/scripts/import.scm (importers): Add cpan.
* doc/guix.texi (Requirements): Mention `guix import cpan` as a user
  of guile-json.
  (Invoking guix import): Document new `guix import cpan` command.
2015-01-09 10:38:26 -06:00
Ludovic Courtès 4379c35b73 doc: guix-daemon now automatically creates '…/profiles/per-user'.
Fixes <http://bugs.gnu.org/19315>.
Reported by rekado <rekado@elephly.net>.

* doc/guix.texi (Invoking guix package): Adjust text to new guix-daemon
  behavior introduced in commit 15ddeff.
2015-01-04 23:42:51 +01:00
Ludovic Courtès 6454b33345 services: Make 'nscd-service' configurable; cache hosts/services by default.
Before that, as it was given an empty configuration file, nscd would
actually have all its caches disabled.

* gnu/services/base.scm (<nscd-configuration>, <nscd-cache>): New record
  types.
  (%nscd-default-caches, %nscd-default-configuration): New variables.
  (nscd.conf-file): New procedure.
  (nscd-service): Add 'config' parameter.  Use 'nscd.conf-file', and
  pass its result as the '-f' parameter of nscd.
* doc/guix.texi (Base Services): Update 'nscd-service' documentation
  accordingly.  Document 'nscd-configuration', 'nscd-cache',
  '%nscd-default-configuration', and '%nscd-default-caches'.
2014-12-14 16:29:24 +01:00
Ludovic Courtès 659a92fc7b doc: Explain how to set the ownership and permissions of /gnu/store.
Fixes <http://bugs.gnu.org/19316>.
Reported by rekado <rekado@elephly.net>.

* doc/guix.texi (Build Environment Setup): Show commands to set the
  ownership and permissions of /gnu/store.
2014-12-09 11:30:26 +01:00
Ludovic Courtès d8b94dbd76 doc: Give example uses of 'deco'.
Suggested by Sleep_Walker on #guix.

* doc/guix.texi (Services): Add 'deco' examples.
2014-12-07 22:55:06 +01:00
nebuli 847391fe62 guix: scripts: Parse $GUIX_BUILD_OPTIONS separately.
Appending to "raw" args broke optional parameters in 'guix package -I'
and 'guix package -A', and possibly other places.  Therefore, switch to
parsing each set of options on its own and append resulting alists
together afterwards.

* guix/scripts/archive.scm (parse-options-from): Rename from
  (parse-options) and add explicit argument.  New form of (parse-options)
  using its old algorithm via -from function.
* guix/scripts/build.scm: Ditto.
* guix/scripts/environment.scm: Ditto.
* guix/scripts/package.scm: Ditto.
* guix/scripts/system.scm: Ditto.
* tests/guix-package.sh: Add test.
* doc/guix.texi (Invoking guix build): Make it clear that the options
  are parsed independently.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2014-12-06 16:03:49 +01:00
Ludovic Courtès bc73aa439f doc: Adjust misleading 'user-account' example.
Reported by Sleep_Walker on #guix.

* doc/guix.texi (Using the Configuration System): Remove numeric UID and
  GID from example.
2014-12-02 16:51:43 +01:00
Ludovic Courtès 73aa8ddb75 build-system/glib-or-gtk: Allow specific outputs to be excluded from wrapping.
* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Add
  #:glib-or-gtk-wrap-excluded-outputs parameter and honor it.
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Add
  #:glib-or-gtk-wrap-excluded-outputs parameter and pass it in BUILDER.
* doc/guix.texi (Build Systems): Mention it.
2014-12-01 22:41:04 +01:00
nebuli 16eb115ef4 guix: scripts: Add GUIX_BUILD_OPTIONS environment handling.
* doc/guix.texi (Invoking guix build): Mention 'GUIX_BUILD_OPTIONS'.
* guix/scripts/archive.scm: (append args (environment-build-options)).
* guix/scripts/build.scm: Ditto.
* guix/scripts/environment.scm: Ditto.
* guix/scripts/package.scm: Ditto.
* guix/scripts/system.scm: Ditto.
* guix/ui.scm (environment-build-options): New function.
* guix/utils.scm (arguments-from-environment-variable): New function.
* tests/guix-build.sh: Add tests.
* test-env.in: Unset GUIX_BUILD_OPTIONS.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2014-11-30 18:54:07 +01:00
Ludovic Courtès 6efc160efe daemon: Default to '--cores=0'.
Suggested by Deck Pickard <deck.r.pickard@gmail.com>.

* nix/nix-daemon/guix-daemon.cc (main): Set 'settings.buildCores' to 0.
* doc/guix.texi (Invoking guix-daemon): Adjust accordingly.
2014-11-30 18:54:07 +01:00
Ludovic Courtès 5f86a66efd doc: Explain that 'file-system' must refer to mapped devices by file name.
* doc/guix.texi (File Systems): Clarify what to do when mapped devices
  are used.
2014-11-30 18:54:07 +01:00
Ludovic Courtès 9cb426b8bf Revert "system: Add a 'needed-for-boot?' field to 'mapped-device'."
This reverts commit 3b09332adf, which
turned out to be a bad idea because we need to have dependency
information between the device-mapping service and the file-system
service that uses it.
2014-11-30 18:54:07 +01:00
Ludovic Courtès 1c0c417d2d doc: Improve porting instructions.
* doc/guix.texi (Porting): Move 'glibc-dynamic-linker' paragraph above.
  Clarify what is meant by updating (gnu packages bootstrap).  Mention
  'gnu-system.am'.
2014-11-29 22:34:58 +01:00
Ludovic Courtès 3b09332adf system: Add a 'needed-for-boot?' field to 'mapped-device'.
* gnu/system/file-systems.scm (<mapped-device>)[needed-for-boot?]: New
  field.
* gnu/system.scm (operating-system-user-mapped-devices,
  operating-system-boot-mapped-devices): Use it instead of trying to
  guess.  Guessing doesn't work when one refers to a partition using its
  label, for instance.
* doc/guix.texi (Mapped Devices): Document 'needed-for-boot?'.
2014-11-29 14:40:26 +01:00
Ludovic Courtès 1f6f57df7c doc: Update stale references in "Bootstrapping".
* doc/guix.texi (Bootstrapping): Final definitions are in (gnu packages
  commencement).
  Change gnu-build-system xref to "Build Systems".
2014-11-28 00:10:27 +01:00
Ludovic Courtès 598e19dca1 system: Build system-wide locale definitions.
* gnu/system/locale.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/system.scm (<operating-system>)[locale]: Change the default to
  "en_US.utf8".
  (operating-system-locale-directory): New procecure.
  (operating-system-derivation): Use it.
* doc/guix.texi (Using the Configuration System): Change example locale
  to "fr_FR.utf8".
  (operating-system Reference): Add xref to "Locales".  Document
  'locale-definitions'.
  (Locales): New section.
* po/guix/POTFILES.in: Add gnu/system.scm.
2014-11-27 08:55:46 +01:00
Ludovic Courtès f6526eb330 guix build: Add '--max-jobs' option.
Suggested by Deck Pickard <deck.r.pickard@gmail.com>.

* guix/scripts/build.scm (show-build-options-help): Document
  --max-jobs.
  (set-build-options-from-command-line): Pass #:max-build-jobs.
  (%standard-build-options): Add --max-jobs.
* doc/guix.texi (Invoking guix-daemon): Document the meaning of
  '--max-jobs 0'.
  (Invoking guix build): Document --max-jobs, with a reference to
  "Invoking guix-daemon'.
2014-11-25 22:37:44 +01:00
Taylan Ulrich Bayırlı/Kammer 1b366ee4f6 doc: Fix syntax errors.
* doc/guix.texi (Package Naming):
  (Fonts): Remove space between '@foo' and '{'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-25 22:37:44 +01:00
Ludovic Courtès aaa3eaa97e doc: Add detailed node listing.
* doc/guix.texi (Top): Add @detailmenu.
2014-11-24 21:52:39 +01:00
Ludovic Courtès 20dd519cdb doc: Add xrefs to the lsh manual.
Suggested by Adam Pribyl <pribyl@lowlevel.cz>.

* gnu/services/ssh.scm (lsh-service): Update docstring with xrefs to
  the lsh manual.  Fix typos.
* doc/guix.texi (Networking Services): Synchronize.
2014-11-24 21:52:39 +01:00
Alex Kost fa1e31b8a5 doc: Fix typos.
* doc/guix.texi (Base Services): Fix 'lsh-service' name.
  (Networking Services): Fix (gnu services networking) module name.
2014-11-24 01:55:00 +03:00
Ludovic Courtès b419c7f5fb install: Add Cryptsetup to the image.
Reported by Nikita Karetnikov.

* gnu/system/install.scm (installation-os)[packages]: Add CRYPTSETUP.
* doc/guix.texi (System Installation): Mention it.
2014-11-23 21:56:31 +01:00
Ludovic Courtès 5d1f117784 doc: Fix erroneous cross-manual references.
* doc/guix.texi (User Accounts): Fix cross-references to libc and guile.
2014-11-23 21:48:47 +01:00
Andreas Enge 7fec52b78b doc: Add a section on naming conventions for font packages.
* doc/guix.texi (Fonts): New section.
  (Package naming): Reference the new section.
2014-11-23 21:37:51 +01:00
Ludovic Courtès f4391bec00 doc: Fix typos regarding 'lsh-service'.
Reported by Adam Pribyl <pribyl@lowlevel.cz>.

* doc/guix.texi (Using the Configuration System): Use #:root-login?, not
  #:allow-root-login?, in example.
  (Networking Services): Fix module name for ssh.
2014-11-21 22:52:17 +01:00
Ludovic Courtès 0276f697b3 guix system: Add '--share' and '--expose' options for 'vm'.
* guix/scripts/system.scm (system-derivation-for-action): Add #:mappings
  parameter.  Pass it to 'system-qemu-image/shared-store-script'.
  (perform-action): Likewise.
  (show-help): Document --share and --expose.
  (specification->file-system-mapping): New procedure.
  (%options): Add --share and --expose.
  (guix-system): Pass #:mapping to 'perform-action'.
* doc/guix.texi (Invoking guix system): Document it.
2014-11-21 00:02:26 +01:00
Ludovic Courtès 081145cf6e doc: Fix misuses of @ref.
* doc/guix.texi (Invoking guix-daemon, Features, Invoking guix download,
  Invoking guix refresh, GNU Distribution, Package Modules, Packaging
  Guidelines, Package Naming): Replace misuses of @ref with @xref or
  @pxref.
2014-11-17 18:58:39 +01:00
Ludovic Courtès bf2479c710 doc: Suggest using 'guix pull' before 'guix system reconfigure'.
* doc/guix.texi (Invoking guix system): Suggest running 'guix pull'
  before the first use of 'guix system reconfigure'.
2014-11-17 18:58:38 +01:00
Ludovic Courtès 2bc53ba922 doc: Document --key-download option of 'guix refresh'.
* doc/guix.texi (Invoking guix refresh): Document --key-download.
2014-11-16 23:28:55 +01:00
Ludovic Courtès 2f7d2d9185 doc: Document "guix import".
* doc/guix.texi (Requirements): Add xref to "Invoking guix import".
  (Defining Packages): Likewise.  Remove footnote about Nixpkgs
  imports.
  (Invoking guix import): New section.
2014-11-16 23:21:23 +01:00
Ludovic Courtès 2b1cee21ae doc: Fix Hydra URL.
Reported by John Darrington <john@darrington.wattle.id.au>.

* doc/guix.texi (Packaging Guidelines): Fix hydra.gnu.org URL.
2014-11-15 19:05:52 +01:00
Ludovic Courtès eb59595ccd doc: Clarify use of the 'password' field for user accounts.
Suggested by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.

* doc/guix.texi (Using the Configuration System): Remove 'password'
  field in the example.
  (User Accounts): Clarify use of the 'password' field, with links to
  the libc and Guile manuals.
2014-11-14 14:17:56 +01:00
Ludovic Courtès 4c7ac9aa7f doc: Improve acknowledgments.
* doc/guix.texi (Acknowledgments): Expound a bit.
* THANKS: Mention artwork; thank Felipe & Nikita.
2014-11-13 23:30:03 +01:00
Ludovic Courtès 0ecc3bf309 gnu: xorg: Add SLiM theme based on work by Felipe López.
* gnu/services/xorg.scm (%artwork-repository, %default-slim-theme,
  %default-slim-theme-name): New variables.
  (slim-service): Add #:theme and #:theme-name parameters.
  [slim.cfg]: Honor #:theme-name.
  Honor #:theme by setting the "SLIM_THEMESDIR" environment variable.
* doc/guix.texi (X Window): Adjust 'slim-service' documentation
  accordingly.  Document '%default-slim-theme' and
  '%default-slim-theme-name'.
2014-11-12 14:22:54 +01:00
Ludovic Courtès f34c56be3a activation: Set the firmware search path.
* gnu/build/activation.scm (activate-firmware): New procedure.
* gnu/system.scm (<operating-system>)[firmware]: New field.
  (directory-union): New procedure.
  (%base-firmware): New variable.
  (operating-system-activation-script): Use 'directory-union', and call
  'activate-firmware'.
* doc/guix.texi (operating-system Reference): Document 'firmware'.
2014-11-11 22:42:39 +01:00
Ludovic Courtès f5fd4fd237 doc: Mention 'guix environment' in "Features"; add index entries.
* doc/guix.texi (Features): Add paragraph about 'guix environment'.
  (Build Systems): Add @cindex.
  (Invoking guix environment): Ditto.
2014-11-10 15:11:35 +01:00
Ludovic Courtès 88faf93315 doc: Add "GRUB Configuration".
* doc/guix.texi (operating-system Reference): Add xref to "GRUB
  Configuration".
  (GRUB Configuration): New node.
2014-11-10 15:00:35 +01:00
Ludovic Courtès 843858b8a7 doc: Avoid @indentedblock, which is not supported by Texinfo 4.
Reported by Mark H Weaver.

* doc/guix.texi (Security Updates): Use @quotation instead of
  @indentedblock; the latter is not supported by Texinfo 4.
2014-11-10 15:00:35 +01:00
Ludovic Courtès 4684f301d5 gexp: Add #:module-path parameter to 'gexp->derivation'.
* guix/gexp.scm (gexp->derivation): Add #:module-path parameter, and
  pass it to 'imported-modules' and 'compiled-modules'.
* doc/guix.texi (G-Expressions): Adjust accordingly.
2014-11-09 22:33:45 +01:00
Ludovic Courtès 810568b35f vm: The 'run-vm' scripts now passes its arguments to QEMU.
* gnu/system/vm.scm (system-qemu-image/shared-store-script): Add "$@" at
  the end of the script.
  (common-qemu-options): Remove trailing newline.
* doc/guix.texi (Invoking guix system): Document it.
2014-11-08 15:10:42 +01:00
Ludovic Courtès 6aa260af12 vm: Fix 'vm --full-boot' to produce a sufficient disk image.
* gnu/system/vm.scm (system-qemu-image/shared-store): Add
  #:disk-image-size and #:full-boot? parameters and honor them.  Pass
  '#:copy-inputs? full-boot?', and change #:inputs argument.
* guix/scripts/system.scm (system-derivation-for-action): Pass
  #:disk-image-size to 'system-qemu-image/shared-store'.
* doc/guix.texi (Invoking guix system): Mention use of '--image-size' in
  conjunction with '--full-boot'.
2014-11-08 15:10:42 +01:00
Ludovic Courtès ab11f0bed4 vm: Support 'guix system vm --full-boot'.
* gnu/system/vm.scm (system-qemu-image/shared-store-script): Add
  #:full-boot? parameter and honor it.
* guix/scripts/system.scm (system-derivation-for-action): Likewise.
  (perform-action): Likewise.
  (show-help): Document '--full-boot'.
  (%options): Add '--full-boot'.
  (guix-system): Add #:full-boot? argument in call to 'perform-action'.
* doc/guix.texi (Invoking guix system): Document it.
2014-11-08 01:05:35 +01:00
Ludovic Courtès c1941588dd doc: Emphasize the availability of two user interfaces.
* doc/guix.texi (Package Management): Add a word about the two user
  interfaces.
2014-11-08 01:05:35 +01:00
Alex Kost 9a130e19fc emacs: Add 'guix-prettify'.
* emacs/guix-prettify.el: New file.
* emacs.am (ELFILES): Add it.
* doc/emacs.texi (Emacs Prettify): New node.
* doc/guix.texi (Features): Mention it.
2014-11-07 14:58:15 +03:00
Ludovic Courtès d2e59637e3 services: xorg: Allow users to specify a list of resolutions.
* gnu/services/xorg.scm (xorg-start-command): Add #:resolutions
  parameter and 'screen-section' procedure.  Use it.
* doc/guix.texi (X Window): Adjust accordingly.
2014-11-07 00:00:08 +01:00
Ludovic Courtès f703413e41 services: xorg: Allow users to specify the drivers to use.
* gnu/services/xorg.scm (xorg-start-command): Add #:drivers parameter.
  Add 'device-section' procedure, and use it in 'xserver.conf'.
* doc/guix.texi (X Window): Document it.
2014-11-07 00:00:08 +01:00
Ludovic Courtès 63854bcbb1 services: Add NTP service.
* gnu/services/networking.scm (ntp-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
2014-11-05 11:25:39 +01:00
Ludovic Courtès 05962f2958 packages: Implement grafts.
Thanks to Mark H. Weaver <mhw@netris.org> for insightful discussions
and suggestions.

* guix/packages.scm (<package>)[graft]: New field.
  (patch-and-repack): Invoke 'package-derivation' with #:graft? #f.
  (package-source-derivation): Likewise.  Do not use (%guile-for-build)
  in call to 'patch-and-repack', and we could end up using a grafted
  Guile.
  (expand-input): Likewise, also for 'package-cross-derivation' call.
  (package->bag): Add #:graft? parameter.  Honor it.  Use 'strip-append'
  instead of 'package-full-name'.
  (input-graft, input-cross-graft, bag-grafts, package-grafts): New
  procedures.
  (package-derivation, package-cross-derivation): Add #:graft? parameter
  and honor it.
* gnu/packages/bootstrap.scm (package-with-bootstrap-guile): Add
  recursive call on 'graft'.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
  package-with-extra-configure-variable, static-package): Likewise.
  (gnu-build): Use the ungrafted Guile to avoid full rebuilds.
  (gnu-cross-build): Likewise.
* guix/build-system/cmake.scm (cmake-build): Likewise.
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise.
* guix/build-system/perl.scm (perl-build): Likewise.
* guix/build-system/python.scm (python-build): Likewise.
* guix/build-system/ruby.scm (ruby-build): Likewise.
* guix/build-system/trivial.scm (guile-for-build): Likewise.
* tests/packages.scm ("package-derivation, direct graft",
  "package-cross-derivation, direct graft", "package-grafts,
  indirect grafts", "package-grafts, indirect grafts, cross",
  "package-grafts, indirect grafts, propagated inputs",
  "package-derivation, indirect grafts"): New tests.
  ("bag->derivation", "bag->derivation, cross-compilation"): Wrap in
  'parameterize'.
* doc/guix.texi (Security Updates): New node.
  (Invoking guix build): Document --no-graft.
2014-11-02 21:22:12 +01:00
Ian Denhardt 8a96bd4bb0 doc: Add a note about optional GnuTLS dependency.
* README (Requirements): add a note about 'guix download''s GnuTLS dependency.
* doc/guix.texi (Requirements): Likewise.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2014-10-27 13:53:46 +01:00
Ludovic Courtès 537c8bb3fc doc: Add cross-reference to the gnutls-guile manual.
* doc/guix.texi (Invoking guix download): Add cross-reference to the
  gnutls-guile manual.
2014-10-27 13:53:46 +01:00