doc: Improve wording and fix typos in "Introduction" and "Requirements".

* doc/guix.texi (Introduction, Requirements): Rephrase and fix typos.
This commit is contained in:
Nikita Karetnikov 2013-05-26 23:01:46 +00:00
parent 9c782445fb
commit 4bfc4ea349

View file

@ -96,8 +96,8 @@ Documentation License.''
GNU Guix@footnote{``Guix'' is pronounced like ``geeks'', or ``ɡiːks'' GNU Guix@footnote{``Guix'' is pronounced like ``geeks'', or ``ɡiːks''
using the international phonetic alphabet (IPA).} is a functional using the international phonetic alphabet (IPA).} is a functional
package management tool for the GNU system. Package management consists package management tool for the GNU system. Package management consists
in all the activities that relate to building packages from source, of all activities that relate to building packages from sources,
honoring the build-time and run-time dependencies on packages, honoring their build-time and run-time dependencies,
installing packages in user environments, upgrading installed packages installing packages in user environments, upgrading installed packages
to new versions or rolling back to a previous set, removing unused to new versions or rolling back to a previous set, removing unused
software packages, etc. software packages, etc.
@ -105,17 +105,17 @@ software packages, etc.
@cindex functional package management @cindex functional package management
The term @dfn{functional} refers to a specific package management The term @dfn{functional} refers to a specific package management
discipline. In Guix, the package build and installation process is seen discipline. In Guix, the package build and installation process is seen
as a function, in the mathematical sense: that function takes inputs, as a function, in the mathematical sense. That function takes inputs,
such as build scripts, a compiler, and libraries depended on, and such as build scripts, a compiler, and libraries, and
returns the installed package. As a pure function, its result depends returns an installed package. As a pure function, its result depends
solely on its inputs---for instance, it cannot refer to software or solely on its inputs---for instance, it cannot refer to software or
scripts that were not explicitly passed as inputs. A build function scripts that were not explicitly passed as inputs. A build function
always produces the same result when passed a given set of inputs. Last always produces the same result when passed a given set of inputs. It
but not least, a build function cannot alter the system's environment in cannot alter the system's environment in
any way; for instance, it cannot create, modify, or delete files outside any way; for instance, it cannot create, modify, or delete files outside
of its build and installation directories. This is achieved by running of its build and installation directories. This is achieved by running
build processes in dedicated ``chroots'', where only their explicit build processes in isolated environments (or @dfn{chroots}), where only their
inputs are visible. explicit inputs are visible.
@cindex store @cindex store
The result of package build functions is @dfn{cached} in the file The result of package build functions is @dfn{cached} in the file
@ -126,12 +126,11 @@ a hash of all the inputs used to build that package; thus, changing an
input yields a different directory name. input yields a different directory name.
This approach is the foundation of Guix's salient features: support for This approach is the foundation of Guix's salient features: support for
transactional package upgrades and rollback, per-user installation, and transactional package upgrade and rollback, per-user installation, and
garbage collection of packages (@pxref{Features}). garbage collection of packages (@pxref{Features}).
Guix has a command-line interface allowing users to build, install, Guix has a command-line interface, which allows users to build, install,
upgrade, and remove packages, as well as a Scheme programming interface. upgrade, and remove packages, as well as a Scheme programming interface.
The remainder of this manual describes them.
Last but not least, Guix is used to build a distribution of the GNU Last but not least, Guix is used to build a distribution of the GNU
system, with many GNU and non-GNU free software packages. @xref{GNU system, with many GNU and non-GNU free software packages. @xref{GNU
@ -175,19 +174,20 @@ following packages are also needed:
@item @url{http://gcc.gnu.org, GCC's g++} @item @url{http://gcc.gnu.org, GCC's g++}
@end itemize @end itemize
When a working installation of the Nix package manager is available, you When a working installation of @url{http://nixos.org/nix/, the Nix package
manager} is available, you
can instead configure Guix with @code{--disable-daemon}. In that case, can instead configure Guix with @code{--disable-daemon}. In that case,
@url{http://nixos.org/nix/, Nix} replaces the three dependencies above. Nix replaces the three dependencies above.
Guix is compatible with Nix, so it is possible to share the same store Guix is compatible with Nix, so it is possible to share the same store
between both. To do so, you must pass @command{configure} not only the between both. To do so, you must pass @command{configure} not only the
same @code{--with-store-dir} value, but also the same same @code{--with-store-dir} value, but also the same
@code{--localstatedir} value (the latter is essential because it @code{--localstatedir} value. The latter is essential because it
specifies where the database that store meta-data about the store is specifies where the database that stores metadata about the store is
located, among other things.) The default values are located, among other things. The default values are
@code{--with-store-dir=/nix/store} and @code{--localstatedir=/nix/var}. @code{--with-store-dir=/nix/store} and @code{--localstatedir=/nix/var}.
Note that @code{--disable-daemon} is orthogonal and is not required if Note that @code{--disable-daemon} is not required if
your goal is to share the same store as Nix. your goal is to share the store with Nix.
@node Setting Up the Daemon @node Setting Up the Daemon
@section Setting Up the Daemon @section Setting Up the Daemon