Age | Commit message (Collapse) | Author | Files | Lines |
|
it automatically removes log files when they are no longer needed.
*** IMPORTANT ***
If you have an existing Nix installation, you must checkpoint the
Nix database to prevent recent transactions from being undone. Do
the following:
- optional: make a backup of $prefix/var/nix/db.
- run `db_checkpoint' from Berkeley DB 4.1:
$ db_checkpoint -h $prefix/var/nix/db -1
- optional (?): run `db_recover' from Berkeley DB 4.1:
$ db_recover -h $prefix/var/nix/db
- remove $prefix/var/nix/db/log* and $prefix/var/nix/db/__db*
|
|
path of the Nix expression to be used with the import, upgrade, and
query commands. For instance,
$ nix-env -I ~/nixpkgs/pkgs/system/i686-linux.nix
$ nix-env --query --available [aka -qa]
sylpheed-0.9.7
bison-1.875
pango-1.2.5
subversion-0.35.1
...
$ nix-env -i sylpheed
$ nix-env -u subversion
There can be only one default at a time.
* If the path to a Nix expression is a symlink, follow the symlink
prior to resolving relative path references in the expression.
|
|
the symlink ~/.nix-userenv to the given argument (which defaults to
.../links/current). /etc/profile.d/nix-profile creates this symlink
if it doesn't exist yet. Example use:
$ nix-env -l my_profile -i foo.nix subversion quake
$ nix-env -p my_profile
I don't like the term "profile". Let's deprecate it :-)
|
|
* Respect DESTDIR variable.
|
|
|
|
|
|
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'
|
|
nix-env -i foo.nix subversion
The version number part of a derivation name is defined as everything following the
first dash not followed by a letter.
|
|
* `--link' / `-l' flag to specify the switch symlink to use (by default,
/nix/var/nix/links/current).
|
|
removal.
|
|
* Integrity: check in successor / substitute registration whether
the target path exists or has a substitute.
|
|
|
|
|
|
$ nix-instantiate --help
error: unknown flag `--help`
Try `nix-instantiate --help' for more information.
:-)
|
|
|
|
"i686-linux" instead of "i686-suse-linux").
|
|
|
|
|
|
|
|
|
|
* Hack: `nix-env -i *' installs all available derivations.
|
|
* More consistency checks.
|
|
|
|
|
|
deleting a path in the store.
* Allow absolute paths in Nix expressions.
* Get nix-prefetch-url to work again.
* Various other fixes.
|
|
|
|
|
|
|
|
|
|
configuration.
* Status queries.
|
|
* Replace all directory reading code by a generic readDirectory()
function.
|
|
|
|
that it can be used by multiple programs.
|
|
* Several bug fixes in the grammar.
* Allow one-line comments (#... and //...) to end in EOF.
|
|
* More refactoring.
|
|
|
|
* More refactoring.
|
|
|
|
|
|
|
|
|
|
* Add some rejections and lexical restrictions to the grammar to make
this work.
|
|
turned out to be a huge performance bottleneck (the text to printed
would always be evaluated, even when it was above the verbosity
level). This reduces fix-ng execution time by over 50%.
gprof(1) is very useful. :-)
|
|
|
|
|
|
|
|
* Logical operators (!, &&, ||, ->).
|
|
substitutions, Fix terms are very large when printed as trees (in
memory, they are quite compact due to sharing).
|
|
|
|
The ATerm library doesn't search the heap for pointers to ATerms
when garbage collecting. As a result, C++ containers such as
`map<ATerm, ATerm>' will cause pointer to be hidden from the garbage
collector, causing crashes. Instead, we now use ATermTables.
|