A modern, delicious implementation of the Nix package manager, focused on correctness, usability, and growth — and committed to doing right by its community
Find a file
Eelco Dolstra cf0287c09e * Upgrade operation in `nix-env'. For instance, you can say
nix-env -u foo.nix strategoxt

  to replace the installed `strategoxt' derivation with the one from `foo.nix', if 
  the latter has a higher version number.  This is a no-op if `strategoxt' is not 
  installed.  Wildcards are also accepted, so

    nix-env -u foo.nix '*'

  will replace any installed derivation with newer versions from `foo.nix', if 
  available.

  The notion of "version number" is somewhat ad hoc, but should be useful in most 
  cases, as evidenced by the following unit tests for the version comparator:

    TEST("1.0", "2.3", -1);
    TEST("2.1", "2.3", -1);
    TEST("2.3", "2.3", 0);
    TEST("2.5", "2.3", 1);
    TEST("3.1", "2.3", 1);
    TEST("2.3.1", "2.3", 1);
    TEST("2.3.1", "2.3a", 1);
    TEST("2.3pre1", "2.3", -1);
    TEST("2.3pre3", "2.3pre12", -1);
    TEST("2.3a", "2.3c", -1);
    TEST("2.3pre1", "2.3c", -1);
    TEST("2.3pre1", "2.3q", -1);

  (-1 = less, 0 = equal, 1 = greater)

* A new verbosity level `lvlInfo', between `lvlError' and `lvlTalkative'.  This is 
  the default for `nix-env', so without any `-v' flags users should get useful 
  output, e.g.,

$ nix-env -u foo.nix strategoxt
upgrading `strategoxt-0.9.2' to `strategoxt-0.9.3'
2003-12-22 16:04:00 +00:00
corepkgs * Bug fix. Hmm, I thought I'd fixed this before :-| 2003-11-24 16:38:46 +00:00
doc * Oops. 2003-12-21 22:02:58 +00:00
externals * Pass CFLAGS to the subpackages. 2003-11-09 10:31:56 +00:00
scripts * Missing semicolons. 2003-12-21 21:56:54 +00:00
src * Upgrade operation in `nix-env'. For instance, you can say 2003-12-22 16:04:00 +00:00
testpkgs * Argument support in Fix. Arguments can be passed through the 2003-08-15 13:01:45 +00:00
AUTHORS * Autoconf / Automake configuration and building. 2003-04-04 16:14:56 +00:00
ChangeLog * Autoconf / Automake configuration and building. 2003-04-04 16:14:56 +00:00
configure.ac * Use a system name that does not include the OS manufacturer (i.e., 2003-12-01 14:36:50 +00:00
COPYING * Autoconf / Automake configuration and building. 2003-04-04 16:14:56 +00:00
INSTALL * Autoconf / Automake configuration and building. 2003-04-04 16:14:56 +00:00
Makefile.am * Finished refactoring the tree. 2003-10-20 10:05:01 +00:00
NEWS * Autoconf / Automake configuration and building. 2003-04-04 16:14:56 +00:00
README * Added some installation instructions to the readme. 2003-04-08 12:13:57 +00:00
substitute.mk * Use a system name that does not include the OS manufacturer (i.e., 2003-12-01 14:36:50 +00:00

Overview
========

Nix is a package manager, deployment system, and component glue
mechanism.


Prerequisites
=============

* Berkeley DB 4.0.14
* CWI ATerm 2.0


Installation
============

* When building from the Subversion repository, first do:

    autoreconf -i

* To build, do:

    ./configure
    make
    make install

  Note that this will install to /nix, which is the default prefix.
  You can specify another prefix, but this is not recommended if you
  want to use prebuilt packages from other sources.


Usage
=====

TODO