summaryrefslogtreecommitdiff
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
* offload: Allow build machines to specify a port number.Ludovic Courtès2014-03-131-0/+3
| | | | | * guix/scripts/offload.scm (<build-machine>): Add 'port' field. (remote-pipe, send-files): Use lsh's '-p' option when invoking it.
* guix build: Add '--with-source'.Ludovic Courtès2014-03-121-0/+28
| | | | | | | | | | * guix/scripts/build.scm (package-with-source): New procedure. (show-help): Add '--with-source'. (%options): Likewise. (options->derivations): Call 'options/with-source' and 'options/resolve-packages'. (options/resolve-packages, options/with-source): New procedures. * doc/guix.texi (Invoking guix build): Document '--with-source'.
* doc: Update packaging guidelines.Pierre-Antoine Rault2014-03-101-4/+13
| | | | | | | | | * HACKING (Submitting Patches): Mention 'git send-mail'. * doc/guix.texi (Packaging Guidelines): More details on how to prepare a package module. (Contributing): Add reference to #guix channel on Freenode. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* guix build: Add '--timeout' to the common build options.Ludovic Courtès2014-03-091-0/+7
| | | | | | | | | * guix/scripts/build.scm (show-build-options-help): Document '--timeout'. (set-build-options-from-command-line): Pass #:timeout to 'set-build-options'. (%standard-build-options): Add '--timeout'. * doc/guix.texi (Invoking guix build): Document it.
* Change the default store file name to /gnu/store.Ludovic Courtès2014-03-091-23/+23
| | | | | | | | * configure.ac: Change the default 'storedir' to /gnu/store. Print $storedir. * doc/guix.texi: Replace "/nix/store" by "/gnu/store", except where describing Nix compatibility. * Makefile.am: Likewise.
* doc: Explain what's special about the (gnu packages ...) name space.Ludovic Courtès2014-03-081-13/+37
| | | | | | | | | | * doc/guix.texi (Invoking guix package): Explain where packages are searched for and link to "Package Modules". (Defining Packages) <example>: Use 'define-module' clause instead of 'use-modules'. Explain why and link to "Package Modules". (Invoking guix build): Explain where packages aer searched for and link to "Package Modules". (Package Modules): Explain that (gnu packages ...) is scanned.
* doc: Factorize documentation of common build options.Ludovic Courtès2014-03-031-41/+40
| | | | | | | | | | * doc/guix.texi (Invoking guix package): Remove documentation for --dry-run, --fallback, --no-substitutes, and --max-silent-time. Add a cross-ref to "Invoking guix build". (Invoking guix archive): Add "common build options" as the cross-ref topic for "Invoking guix build". (Invoking guix build): Move common build options separately. Add a paragraph to explain.
* derivations: Remove unused 'derivation' parameter.Ludovic Courtès2014-02-211-2/+2
| | | | | * guix/derivations.scm (derivation): Remove unused #:hash-mode parameter. * doc/guix.texi (Derivations): Adjust accordingly.
* doc: More on what's special about the archive format.Ludovic Courtès2014-02-211-5/+13
| | | | | * doc/guix.texi (Invoking guix archive): Expound on what sets the Nar format apart.
* derivations: Add support for recursive fixed-output derivations.Ludovic Courtès2014-02-211-3/+6
| | | | | | | | | | | | | | | | | | | | | * guix/derivations.scm (<derivation-output>): Add 'recursive?' field. Adjust 'make-derivation-output' callers. (%read-derivation) <fixed-output>: When HASH-ALGO starts with 'r:', set the 'recursive?' field and drop 'r:' from the hash algo name. (write-derivation)[write-output]: Write the algo as 'r:HASH-ALGO' when the RECURSIVE? field is set. (derivation-hash) <fixed-output>: Prepend "r:" when RECURSIVE? is set. (fixed-output-path): New procedure. (derivation): Add #:recursive? parameter. Use 'fixed-output-path' to compute the output file name of a fixed output derivation. (build-expression->derivation): Add #:recursive? parameter. Pass it to 'derivation'. * tests/derivations.scm ("fixed-output derivation, recursive", "build-expression->derivation produces recursive fixed-output", "build-expression->derivation uses recursive fixed-output"): New tests. * doc/guix.texi (Derivations): Document #:recursive? for 'derivation'. Add #:recursive? for 'build-expression->derivation'.
* guix hash: Add '--recursive'.Ludovic Courtès2014-02-211-0/+13
| | | | | | | | | | | | * guix/scripts/hash.scm (show-help): Add --recursive. (%options): Likewise. (guix-hash)[file-hash]: New procedure. Honor --recursive. Use it. * guix/nar.scm (write-file): Add missing field to the &nar-error condition raised upon unsupported file type; change its message to be more descriptive. * tests/guix-hash.sh: Add tests with -r. * doc/guix.texi (Invoking guix hash): Document --recursive.
* gnu: Define '%base-services'.Ludovic Courtès2014-02-191-3/+4
| | | | | | | | * gnu/services/base.scm (%base-services): New variable. * gnu/system.scm (<operating-system>)[services]: Change the default value to %BASE-SERVICES. * doc/guix.texi (Using the Configuration System): Change '%standard-services' to '%base-services'.
* gnu: Introduce the (gnu services ...) modules.Ludovic Courtès2014-02-191-4/+4
| | | | | | | | | | | * gnu/system/dmd.scm: Remove file. Move contents to... * gnu/services.scm, gnu/services/base.scm, gnu/services/dmd.scm, gnu/services/networking.scm, gnu/services/xorg.scm: ... here. New files. * gnu/system.scm, gnu/system/vm.scm: Adjust accordingly. * guix/scripts/system.scm (%user-module): Likewise. * doc/guix.texi (Using the Configuration System): Likewise. (Defining Services): Likewise.
* Add 'guix system'.Ludovic Courtès2014-02-181-8/+35
| | | | | | | | | * guix/scripts/system.scm: New file. * Makefile.am (MODULES): Add it. * po/POTFILES.in: Likewise. * doc/guix.texi (Using the Configuration System): Link to "Invoking guix system". (Invoking guix system): New node.
* daemon: Add '--gc-keep-outputs' and '--gc-keep-derivations'.Ludovic Courtès2014-02-061-0/+24
| | | | | | | | | | | * nix/nix-daemon/guix-daemon.cc (GUIX_OPT_GC_KEEP_OUTPUTS, GUIX_OPT_GC_KEEP_DERIVATIONS): New macros. (options): Add 'gc-keep-outputs' and 'gc-keep-derivations'. (string_to_bool): New function. (parse_opt): Honor GUIX_OPT_GC_KEEP_DERIVATIONS and GUIX_OPT_GC_KEEP_OUTPUTS. * doc/guix.texi (Invoking guix-daemon): Document --gc-keep-outputs and --gc-keep-derivations.
* monads: Add 'text-file*'.Ludovic Courtès2014-02-031-12/+36
| | | | | | | | * guix/monads.scm (text-file*): New procedure. * tests/monads.scm ("text-file*"): New test. * doc/guix.texi (The Store Monad): Change example since the previous one would erroneously fail to retain a reference to Coreutils. Document 'text-file*'.
* derivations: Add #:local-build? parameter for derivations.Ludovic Courtès2014-01-251-3/+13
| | | | | | | | * guix/derivations.scm (derivation): Add #:local-build? parameter and honor it. (build-expression->derivation): Likewise. * doc/guix.texi (Derivations): Update documentation of these procedures.
* doc: More about offloading.Ludovic Courtès2014-01-251-11/+27
| | | | | | | * doc/guix.texi (Daemon Offload Setup): Start with "When desired". Say more on what can go in 'machines.scm', and mention Guile-Avahi. (Invoking guix-daemon): Document '--no-build-hook'. (Invoking guix build): Add xref to "Daemon Offload Setup".
* Add 'guix offload' as a daemon build hook.Ludovic Courtès2014-01-241-9/+113
| | | | | | | | | | | | | | | | | | | | | | | | * nix/nix-daemon/guix-daemon.cc (GUIX_OPT_NO_BUILD_HOOK): New macro. (options): Add '--no-build-hook'. (parse_opt): Handle it. (main)[HAVE_DAEMON_OFFLOAD_HOOK]: Set 'useBuildHook' by default. Set $NIX_BUILD_HOOK to our offload hook unless otherwise specified. [!HAVE_DAEMON_OFFLOAD_HOOK]: Clear 'useBuildHook'. * pre-inst-env.in: Set and export NIX_BUILD_HOOK. * nix/scripts/offload.in, guix/scripts/offload.scm: New files. * guix/ui.scm (show-guix-help)[internal?]: Add "offload". * config-daemon.ac: Call 'GUIX_CHECK_UNBUFFERED_CBIP'. Instantiate 'nix/scripts/offload'. Set 'BUILD_DAEMON_OFFLOAD' conditional, and optionally define 'HAVE_DEAMON_OFFLOAD_HOOK' cpp macro. * daemon.am (nodist_pkglibexec_SCRIPTS)[BUILD_DAEMON_OFFLOAD]: Add it. * Makefile.am (MODULES)[BUILD_DAEMON_OFFLOAD]: Add 'guix/scripts/offload.scm'. (EXTRA_DIST)[!BUILD_DAEMON_OFFLOAD]: Likewise. * m4/guix.m4 (GUIX_CHECK_UNBUFFERED_CBIP): New macro. * doc/guix.texi (Setting Up the Daemon): Move most of the body to... (Build Environment Setup): ... this. New subsection. (Daemon Offload Setup): New subsection.
* doc: List what's in the chroot.Ludovic Courtès2014-01-181-7/+26
| | | | * doc/guix.texi (Setting Up the Daemon): List what's in the chroot.
* Update 'nix-upstream' sub-module; adjust build system, doc, and substituter.Ludovic Courtès2014-01-181-15/+1
| | | | | | | | | | | | | * nix-upstream: Update sub-module. * daemon.am (libutil_a_SOURCES): Add affinity.cc. (libutil_headers): Add affinity.hh. (libexec_PROGRAMS, nix_setuid_helper_SOURCES, nix_setuid_helper_CPPFLAGS, nix_setuid_helper_LDADD): Remove. * doc/guix.texi (Setting Up the Daemon): Remove paragraph about 'nix-setuid-helper'. * guix/scripts/substitute-binary.scm (guix-substitute-binary): Exit 0 when %CACHE-URL has an HTTP scheme and looking up its host fails. Always print a newline to stdout when starting.
* doc: Distinguish between (gnu packages ...) and "GNU packages".Ludovic Courtès2014-01-171-1/+6
| | | | | * doc/guix.texi (Package Modules): Add a footnote stating that (gnu packages ...) has nothing to do with "GNU packages."
* doc: Fix another reference to (gnu packages admin).Ludovic Courtès2014-01-141-1/+1
| | | | | * doc/guix.texi (Using the Configuration System): Change module name to (gnu packages admin).
* archive: Add '--missing'.Ludovic Courtès2014-01-061-0/+11
| | | | | | | | * guix/scripts/archive.scm (show-help, %options): Add '--missing'. (guix-archive)[lines]: New procedure. Use it to honor '--missing'. * tests/guix-archive.sh: Add tests. * doc/guix.texi (Invoking guix archive): Document '--missing'.
* guix build: Add '--no-build-hook'.Ludovic Courtès2014-01-051-1/+7
| | | | | | | * guix/scripts/build.scm (%default-options): Add 'build-hook?' pair. (show-help, %options): Add --no-build-hook. (guix-build): Pass the 'build-hook?' value to 'set-build-options'. * doc/guix.texi (Invoking guix build): Document '--no-build-hook'.
* archive: Add '--authorize'.Ludovic Courtès2013-12-301-2/+18
| | | | | | | | | * guix/scripts/archive.scm (authorize-key): New procedure. (guix-archive): Call it when OPTS contains 'authorize-key'. * tests/guix-archive.sh: Add test with invalid public key. * guix/pki.scm: Export '%acl-file'. * doc/guix.texi (Invoking guix archive): Make it clear that '--import' works only with authorized keys. Document '--authorize'.
* archive: Add '--generate-key'.Ludovic Courtès2013-12-301-0/+22
| | | | | | | | | | | | * guix/pk-crypto.scm (error-source, error-string): New procedures. * guix/pki.scm (%private-key-file): New variable. * guix/scripts/archive.scm (show-help): Document '--generate-key'. (%options): Add "generate-key". (generate-key-pair): New procedure. (guix-archive): Call 'generate-key' when OPTS contains a 'generate-key' pair. * doc/guix.texi (Setting Up the Daemon): Suggest generating a key pair. (Invoking guix archive): Document '--generate-key'.
* doc: Invoke 'useradd' with '--system'.Ludovic Courtès2013-12-301-1/+2
| | | | | | | | Reported by Kete <kete@ninthfloor.org>. Fixes <http://bugs.gnu.org/16289>. * doc/guix.texi (Setting Up the Daemon): Add '--system' to the 'useradd' command line. Suggested by Kete <kete@ninthfloor.org>.
* Add 'guix archive'.Ludovic Courtès2013-12-221-1/+58
| | | | | | | | | * guix/scripts/archive.scm, tests/guix-archive.sh: New files. * Makefile.am (MODULES): Add 'archive.scm'. (SH_TESTS): Add 'guix-archive.sh'. * doc/guix.texi (Invoking guix archive): New section. * guix/scripts/build.scm: Export 'derivation-from-expression'. * guix/scripts/package.scm: Export 'specification->package+output'.
* guix package: allow multiple arguments after -i, -r, and -u.Mark H Weaver2013-12-141-12/+20
| | | | | | | | | | | | | | | | * guix/scripts/package.scm (%options): Adapt option processors to accept and return a second seed value: 'arg-handler', which handles bare arguments (if not false). The install, remove, and upgrade option processors return an arg-handler that repeat the same operation. All other option processors return #f as the arg-handler. Make the arguments to install and remove optional. The upgrade option processor deletes (upgrade . #f) from the alist before adding a new entry. (guix-package): Procedures passed to 'args-fold*' accept the new seed value 'arg-handler'. The 'operand-proc' uses 'arg-handler' (if not false). * doc/guix.texi (Invoking guix package): Update docs. * tests/guix-package.sh: Add test.
* doc: Slightly improve the "System Configuration" node.Ludovic Courtès2013-12-111-14/+17
| | | | | | | * doc/guix.texi (System Configuration): Add paragraph on upgrades and rollback, moved from "Using the Configuration System". (Using the Configuration System): Change variable name to 'komputilo'. Add xref to "Package Modules".
* doc: First stab at documenting whole-system configuration.Ludovic Courtès2013-12-101-1/+181
| | | | | | | * doc/guix.texi (Features): Add xref to "Using the Configuration System". (System Configuration, Using the Configuration System, Defining Services): New nodes.
* derivations: Use more keyword parameters for 'build-expression->derivation'.Ludovic Courtès2013-12-041-5/+10
| | | | | | | | | | | | | | | | | * guix/derivations.scm (build-expression->derivation): Turn 'system' and 'inputs' into keyword parameters. Adjust callers accordingly. * gnu/system/linux.scm, gnu/system/vm.scm, guix/build-system/cmake.scm, guix/build-system/gnu.scm, guix/build-system/perl.scm, guix/build-system/python.scm, guix/build-system/trivial.scm, guix/download.scm, guix/packages.scm, guix/profiles.scm, guix/scripts/pull.scm, tests/derivations.scm, tests/guix-build.sh, tests/monads.scm, tests/store.scm, tests/union.scm: Adjust users of 'build-expression->derivation' and 'derivation-expression' accordingly. * doc/guix.texi (Derivations): Adjust 'build-expression->derivation' documentation accordingly. (The Store Monad): Likewise for 'derivation-expression'.
* doc: List the supported platforms.Ludovic Courtès2013-11-231-1/+21
| | | | * doc/guix.texi (GNU Distribution): List the supported platforms.
* doc: Link to package-list.html.Ludovic Courtès2013-11-191-2/+3
| | | | * doc/guix.texi (GNU Distribution): Add link to package-list.html.
* guix build: '-e' can be passed a monadic thunk.Ludovic Courtès2013-11-181-1/+5
| | | | | | | | | | | | * guix/ui.scm (read/eval): New procedure. (read/eval-package-expression): Use it. * guix/scripts/build.scm (derivations-from-package-expressions): Rename to... (derivation-from-expression): ... this. Accept procedures, under the assumption that they are monadic thunk. (show-help): Adjust accordingly. (guix-build): Ditto. * tests/guix-build.sh: Add test. * doc/guix.texi (Invoking guix build): Augment description of '-e'.
* doc: Mention Linux containers; emphasize reproducible builds.Ludovic Courtès2013-11-181-3/+16
| | | | | | | * doc/guix.texi (Introduction): Use "containers" instead of "chroots". (Invoking guix-daemon): Add @cindex entries. Mention the Linux container features. (Features): Add sentence on build reproducibility.
* guix build: Add '--log-file'.Ludovic Courtès2013-11-121-0/+16
| | | | | | | | * guix/scripts/build.scm (show-help): Add '--log-file'. (%options): Likewise. (guix-build): Set %FILE-PORT-NAME-CANONICALIZATION. Honor '--log-file'. * tests/guix-build.sh: Add '--log-file' tests. * doc/guix.texi (Invoking guix build): Document '--log-file'.
* packages: Add a 'snippet' field to <origin>.Ludovic Courtès2013-11-071-0/+17
| | | | | | | | | | | | | | | | | * guix/packages.scm (<origin>): Add 'snippet', 'modules', and 'imported-modules' fields. (patch-and-repack): Make 'inputs' a keyword parameter. Add 'snippet', 'modules', and 'imported-modules' parameters. Accept SOURCE as a raw file name. Insert SNIPPET in BUILDER. Pass IMPORTED-MODULES to 'build-expression->derivation'. (package-source-derivation): Pass the extra arguments to 'patch-and-repack'. * tests/packages.scm ("package-source-derivation, snippet"): New test. * doc/guix.texi (Defining Packages): Mention the 'patches' and 'snippet' fields. (Invoking guix build): Tell that --source has patches and snippets applied. (Software Freedom): Mention packages that contain non-free code.
* doc: Document current security issue with substitutes.Ludovic Courtès2013-11-071-2/+10
| | | | | | Suggested by Mark H. Weaver <mhw@netris.org>. * doc/guix.texi (Features): Add note about unauthenticated binaries.
* doc: Improve documentation of '--no-substitutes'.Ludovic Courtès2013-11-071-2/+15
| | | | | | | | | | | Suggested by Mark H. Weaver <mhw@netris.org>. * doc/guix.texi (Invoking guix package): Spell out the --no-substitutes documentation. (Invoking guix build): Use the more complete --no-substitutes documentation. (Invoking guix-daemon): Explain the interaction with what clients ask for.
* doc: Document the syntax of the '--remove' argument.Ludovic Courtès2013-11-021-0/+5
| | | | | * doc/guix.texi (Invoking guix package): Document the syntax of '--remove' patterns.
* doc: Augment the "Porting" section.Ludovic Courtès2013-10-291-0/+7
| | | | | | | Reported by Andreas Enge <andreas@enge.fr>. * doc/guix.texi (Porting): Document needed changes to (gnu packages bootstrap) and (gnu packages linux).
* doc: Improve the copyright notice.Nikita Karetnikov2013-10-171-39/+14
|
* doc: Document "guix pull --url".Ludovic Courtès2013-10-131-0/+6
| | | | * doc/guix.texi (Invoking guix pull): Add --url.
* Add (guix monads).Ludovic Courtès2013-10-031-3/+146
| | | | | | | | | * guix/monads.scm: New file. * tests/monads.scm: New file. * Makefile.am (MODULES): Add guix/monads.scm. (SCM_TESTS): Add tests/monads.scm. * doc/guix.texi (The Store Monad): New node. (The Store): Reference it.
* doc: Fix typos.Nikita Karetnikov2013-09-271-4/+4
| | | | * doc/guix.texi: Fix typos.
* doc: Link from "guix gc" to '--delete-generations'.Ludovic Courtès2013-09-271-0/+9
| | | | | | * doc/guix.texi (Invoking guix package): Mention that deleting generations prevents roll-back. (Invoking guix gc): Link to '--delete-generations'.
* guix package: '--delete-generations' deletes generations older than specified.Ludovic Courtès2013-09-271-6/+12
| | | | | | | | | | * guix/scripts/package.scm (matching-generations): Add 'duration-relation' keyword parameter. (guix-package)[process-action](delete-generations): Pass #:duration-relation >. * tests/guix-package.sh: Add test. * doc/guix.texi (Invoking guix package): Clarify the meaning of durations for '--list-durations' and '--delete-durations'.
* guix package: Add '--delete-generations'.Nikita Karetnikov2013-09-261-0/+10
| | | | | | | | | | | | * guix/scripts/package.scm (switch-to-previous-generation): New function. (roll-back): Use the new function instead of 'switch-link'. (show-help): Add '--delete-generations'. (%options): Likewise. (guix-package)[process-actions]: Add 'current-generation-number', 'display-and-delete', and 'delete-generation'. Add support for '--delete-generations', and reindent the code. * tests/guix-package.sh: Test '--delete-generations'. * doc/guix.texi (Invoking guix-package): Document '--delete-generations'.