summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-01-18 01:27:09 +0100
committerLudovic Courtès <ludo@gnu.org>2013-01-18 01:29:24 +0100
commita1ba8475a610fd491be4e512e599515f36d8b109 (patch)
tree0c31c3717cac8cc4b77c9a3f5ceb9b51eae51d57 /doc
parent59a43334a98babd6c776648967e48d7c44723639 (diff)
doc: Add a "GNU Distribution" node.v0.1
* doc/guix.texi (Introduction): Add cross-reference to "GNU Distribution". (Features): Mention reproducibility. (Invoking guix-package): Add cross-reference to "GNU Distribution". (GNU Distribution): New node.
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi55
1 files changed, 51 insertions, 4 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 3b1c72460df..28bdfb2152a 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -80,6 +80,7 @@ Documentation License.''
80* Package Management:: Package installation, upgrade, etc. 80* Package Management:: Package installation, upgrade, etc.
81* Programming Interface:: Using Guix in Scheme. 81* Programming Interface:: Using Guix in Scheme.
82* Utilities:: Package management commands. 82* Utilities:: Package management commands.
83* GNU Distribution:: Software for your friendly GNU system.
83 84
84* Acknowledgments:: Thanks! 85* Acknowledgments:: Thanks!
85* GNU Free Documentation License:: The license of this manual. 86* GNU Free Documentation License:: The license of this manual.
@@ -131,6 +132,10 @@ Guix has a command-line interface allowing users to build, install,
131upgrade, and remove packages, as well as a Scheme programming interface. 132upgrade, and remove packages, as well as a Scheme programming interface.
132The remainder of this manual describes them. 133The remainder of this manual describes them.
133 134
135Last but not least, Guix is used to build a distribution of the GNU
136system, with many GNU and non-GNU free software packages. @xref{GNU
137Distribution}.
138
134@c ********************************************************************* 139@c *********************************************************************
135@node Installation 140@node Installation
136@chapter Installation 141@chapter Installation
@@ -427,7 +432,7 @@ Each @file{/nix/store} package directory name contains a hash of all the
427inputs that were used to build that package---compiler, libraries, build 432inputs that were used to build that package---compiler, libraries, build
428scripts, etc. This direct correspondence allows users to make sure a 433scripts, etc. This direct correspondence allows users to make sure a
429given package installation matches the current state of their 434given package installation matches the current state of their
430distribution. 435distribution, and helps maximize @dfn{reproducibility}.
431 436
432@c FIXME: Remove footnote when it's implemented. 437@c FIXME: Remove footnote when it's implemented.
433This foundation allows Guix to support @dfn{transparent binary/source 438This foundation allows Guix to support @dfn{transparent binary/source
@@ -538,9 +543,9 @@ the store.
538 543
539@item --list-available[=@var{regexp}] 544@item --list-available[=@var{regexp}]
540@itemx -A [@var{regexp}] 545@itemx -A [@var{regexp}]
541List packages currently available in the software distribution. When 546List packages currently available in the software distribution
542@var{regexp} is specified, list only installed packages whose name 547(@pxref{GNU Distribution}). When @var{regexp} is specified, list only
543matches @var{regexp}. 548installed packages whose name matches @var{regexp}.
544 549
545For each package, print the following items separated by tabs: its name, 550For each package, print the following items separated by tabs: its name,
546its version string, the parts of the package (@code{out} for the main 551its version string, the parts of the package (@code{out} for the main
@@ -1058,6 +1063,48 @@ the @code{package-derivation} procedure of the @code{(guix packages)}
1058module, and to the @code{build-derivations} procedure of the @code{(guix 1063module, and to the @code{build-derivations} procedure of the @code{(guix
1059store)} module. 1064store)} module.
1060 1065
1066@c *********************************************************************
1067@node GNU Distribution
1068@chapter GNU Distribution
1069
1070Guix comes with a distribution of free software@footnote{The term
1071``free'' here refers to the
1072@url{http://www.gnu.org/philosophy/free-sw.html,freedom provided to
1073users of that software}.} that form the basis of the GNU system. This
1074includes core GNU packages such as GNU libc, GCC, and Binutils, as well
1075as many GNU and non-GNU applications. The complete list of available
1076packages can be seen by running @command{guix-package} (@pxref{Invoking
1077guix-package}):
1078
1079@example
1080guix-package --list-available
1081@end example
1082
1083The package definitions of the distribution may are provided by Guile
1084modules in the @code{(gnu packages ...)} name space---for instance, the
1085@code{(gnu packages emacs)} module exports a variable named
1086@code{emacs}, which is bound to a @code{<package>} object
1087(@pxref{Defining Packages}). The @code{(gnu packages)} module provides
1088facilities for searching for packages.
1089
1090The distribution is fully @dfn{bootstrapped} and @dfn{self-contained}:
1091each package is built based solely on other packages in the
1092distribution. The root of this dependency graph is a small set of
1093@dfn{bootstrap binaries}, provided by the @code{(gnu packages
1094bootstrap)} module. These are statically-linked binaries of the core
1095tools without which building anything at all would be impossible.
1096
1097
1098Our goal is to build a practical 100% free software distribution of
1099Linux-based and other variants of GNU, with a focus on the promotion and
1100tight integration of GNU components, and an emphasis on programs and
1101tools that help users exert that freedom.
1102
1103Building this distribution is a cooperative effort, and you are invited
1104to join! Please get in touch with us on @email{bug-guix@@gnu.org}. We
1105welcome ideas, bug reports, patches, and anything that may be helpful to
1106the project.
1107
1061 1108
1062@c ********************************************************************* 1109@c *********************************************************************
1063@node Acknowledgments 1110@node Acknowledgments