From 95b49f804456cf532e61478d7f604aed381173d7 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 13 Aug 2003 15:17:57 +0000 Subject: [PATCH] * Manual updates. --- doc/manual/book.xml | 32 ++++++++---- doc/manual/installation.xml | 9 ++-- doc/manual/introduction.xml | 98 ++++++++++++++++++++++++++++++++++--- 3 files changed, 120 insertions(+), 19 deletions(-) diff --git a/doc/manual/book.xml b/doc/manual/book.xml index eb0475a62..63aaa8a07 100644 --- a/doc/manual/book.xml +++ b/doc/manual/book.xml @@ -11,27 +11,41 @@ Nix: The Manual + + + Eelco + Dolstra + + + 2003 + Eelco Dolstra + + + &introduction; &installation; A Guided Tour - Bla bla - - - - - Fix Language Reference - - Bla bla Nix Syntax and Semantics - Bla bla + + + + + Fix Language Reference + + + + + + Writing Builders + diff --git a/doc/manual/installation.xml b/doc/manual/installation.xml index 7d8821d47..bec9ebb21 100644 --- a/doc/manual/installation.xml +++ b/doc/manual/installation.xml @@ -26,8 +26,7 @@ - $ svn checkout http://losser.st-lab.cs.uu.nl:12080/repos/trace/nix/trunk - nix +$ svn checkout http://losser.st-lab.cs.uu.nl:12080/repos/trace/nix/trunk nix Likewise, specific releases can be obtained from the - $ autoreconf -i $ ./configure options... $ - make $ make install +$ autoreconf -i +$ ./configure options... +$ make +$ make install Currently, the only useful switch for configure is diff --git a/doc/manual/introduction.xml b/doc/manual/introduction.xml index 77a5f917e..974cdedd8 100644 --- a/doc/manual/introduction.xml +++ b/doc/manual/introduction.xml @@ -15,17 +15,17 @@ Build management - Build management tools are used to perform software + Build management tools are used to perform software builds, that is, the construction of derived products such as executable programs from source code. A commonly used build tool is Make, which is a standard tool on Unix systems. These tools have to deal with several issues: - + - + @@ -34,12 +34,12 @@ Package management - After software has been built, is must also be + After software has been built, is must also be deployed in the intended target environment, e.g., the user's workstation. Examples include the Red Hat package manager (RPM), Microsoft's MSI, and so on. Here also we have to deal with several issues: - + The creation of packages from some formal @@ -60,12 +60,98 @@ the system administrator should be constant, not linear). - + + + + + + What Nix can do for you + + + Here is a summary of what Nix provides: + + + + + + + Reliable dependencies. + + + + + + Support for variability. + + + + + + Transparent source/binary deployment. + + + + + + Easy configuration duplication. + + + + + + Automatic storage management. + + + + + + Atomic upgrades and rollbacks. + + + + + + Support for many simultaneous configurations. + + + + + + + Here is what Nix doesn't yet provide, but will: + + + + + + + Build management. In principle it is already + possible to do build management using Fix (by writing builders that + perform appropriate build steps), but the Fix language is not yet + powerful enough to make this pleasant. The Maak build manager + should be retargeted to produce Nix expressions, or alternatively, + extend Fix with Maak's semantics and concrete syntax (since Fix needs + a concrete syntax anyway). Another interesting idea is to write a + make implementation that uses Nix as a back-end to + support legacy + build files. + + + + + + + + + + The Nix system