about summary refs log tree commit diff
path: root/doc
AgeCommit message (Collapse)AuthorFilesLines
2007-09-17 * nix-env: allow ~/.nix-defexpr to be a directory. If it is, then theEelco Dolstra1-43/+4
Nix expressions in that directory are combined into an attribute set {file1 = import file1; file2 = import file2; ...}, i.e. each Nix expression is an attribute with the file name as the attribute name. Also recurses into directories. * nix-env: removed the "--import" (-I) option which set the ~/.nix-defexpr symlink. * nix-channel: don't use "nix-env --import", instead symlink ~/.nix-defexpr/channels. So finally nix-channel --update doesn't override any default Nix expressions but combines with them. This means that you can have (say) a local Nixpkgs SVN tree and use it as a default for nix-env: $ ln -s .../path-to-nixpkgs-tree ~/.nix-defexpr/nixpkgs_svn and be subscribed to channels (including Nixpkgs) at the same time. (If there is any ambiguity, the -A flag can be used to disambiguate, e.g. "nix-env -i -A nixpkgs_svn.pan".)
2007-09-02 explanation what happens when passing true / false and null values to ↵Marc Weber1-0/+4
derivation builders added
2007-08-12 * Get rid of the substitutes database table (NIX-47). Instead, if weEelco Dolstra1-30/+0
need any info on substitutable paths, we just call the substituters (such as download-using-manifests.pl) directly. This means that it's no longer necessary for nix-pull to register substitutes or for nix-channel to clear them, which makes those operations much faster (NIX-95). Also, we don't have to worry about keeping nix-pull manifests (in /nix/var/nix/manifests) and the database in sync with each other. The downside is that there is some overhead in calling an external program to get the substitutes info. For instance, "nix-env -qas" takes a bit longer. Abolishing the substitutes table also makes the logic in local-store.cc simpler, as we don't need to store info for invalid paths. On the downside, you cannot do things like "nix-store -qR" on a substitutable but invalid path (but nobody did that anyway). * Never catch interrupts (the Interrupted exception).
2007-06-02 change default NIX_HASH_ALGOArmijn Hemel1-1/+1
2007-05-16 (no commit message)Eelco Dolstra3-44/+80
2007-05-01 * nix-env -i: instead of breaking package ties by version, break themEelco Dolstra1-0/+6
by priority and version install. That is, if there are multiple packages with the same name, then pick the package with the highest priority, and only use the version if there are multiple packages with the same priority. This makes it possible to mark specific versions/variant in Nixpkgs more or less desirable than others. A typical example would be a beta version of some package (e.g., "gcc-4.2.0rc1") which should not be installed even though it is the highest version, except when it is explicitly selected (e.g., "nix-env -i gcc-4.2.0rc1"). * Idem for nix-env -u, only the semantics are a bit trickier since we also need to take into account the priority of the currently installed package (we never upgrade to a lower priority, unless --always is given).
2007-05-01 * `nix-env -q --xml --meta' to show all meta attributes.Eelco Dolstra1-2/+2
2007-04-27 * Package flag "keep" that prevents a package from being removed fromEelco Dolstra1-2/+2
a user environment by an install or upgrade action. This is particularly useful if you have a version installed that you don't want to upgrade (e.g., because the newer versions are broken). Example: $ nix-env -u zapping --dry-run (dry run; not doing anything) upgrading `zapping-0.9.6' to `zapping-0.10cvs6' $ nix-env --set-flag keep true zapping $ nix-env -u zapping --dry-run (dry run; not doing anything) However, "-e" will still uninstall the package. (Maybe we should require the keep flag to be explicitly set to false before it can be uninstalled.)
2007-04-27 * Package conflict resolution through priority levels. If there is aEelco Dolstra1-1/+3
user environment collission between two packages due to overlapping file names, then a package with a higher priority will overwrite the symlinks of a package with a lower priority. E.g., $ nix-env --set-flag priority 5 gcc $ nix-env --set-flag priority 10 binutils gives gcc a higher priority than binutils (higher number = lower priority).
2007-04-26 * nix-env -q now has a flag --prebuilt-only (-b<) that causes nix-envEelco Dolstra1-0/+9
to show only those derivations whose output is already in the Nix store or that can be substituted (i.e., downloaded from somewhere). In other words, it shows the packages that can be installed “quickly”, i.e., don’t need to be built from source.
2007-04-16 * Updated dependency information.Eelco Dolstra1-9/+10
2007-03-26 * `nix-copy-closure --from': copy from a remote machine instead of toEelco Dolstra1-0/+5
a remote machine.
2007-03-20 * Override the setuid helper using NIX_SETUID_HELPER.Eelco Dolstra1-2/+3
2007-02-21 * `nix-store --export --sign': sign the Nix archive using the RSA keyEelco Dolstra1-2/+2
in /nix/etc/nix/signing-key.sec
2007-02-20 * Temporary notes on how we're going to use OpenSSL.Eelco Dolstra1-0/+24
2007-02-05 * Compatibility with docbook5-xsl.Eelco Dolstra7-7/+8
2007-02-02 * nix-env now maintains meta info (from the `meta' derivationEelco Dolstra1-0/+16
attribute) about installed packages in user environments. Thus, an operation like `nix-env -q --description' shows useful information not only on available packages but also on installed packages. * nix-env now passes the entire manifest as an argument to the Nix expression of the user environment builder (not just a list of paths), so that in particular the user environment builder has access to the meta attributes. * New operation `--set-flag' in nix-env to change meta info of installed packages. This will be useful to pass per-package policies to the user environment builder (e.g., how to resolve collision or whether to disable a package (NIX-80)) or upgrade policies in nix-env (e.g., that a package should be "masked", that is, left untouched by upgrade actions). Example: $ nix-env --set-flag enabled false ghc-6.4
2007-01-29 New primitives:Eelco Dolstra1-1/+4
* `sub' to subtract two numbers. * `stringLength' to get the length of a string. * `substring' to get a substring of a string. These should be enough to allow most string operations to be expressed.
2007-01-15 * Handle multiple indirect symlinks when loading a Nix expression.Eelco Dolstra1-0/+15
2007-01-14 * Option --argstr for passing string arguments easily. (NIX-75)Eelco Dolstra1-0/+3
2007-01-14 * Doh.Eelco Dolstra1-0/+2
2007-01-13 * nix-pack-closure: store the top-level store paths in the closure.Eelco Dolstra2-0/+14
* nix-unpack-closure: extract the top-level paths from the closure and print them on stdout. This allows them to be installed, e.g., "nix-env -i $(nix-unpack-closure)". (NIX-64)
2007-01-13 * Removed chroot support.Eelco Dolstra1-11/+0
2006-12-12 * New primop builtins.filterSource, which can be used to filter filesEelco Dolstra1-1/+6
from a source directory. All files for which a predicate function returns true are copied to the store. Typical example is to leave out the .svn directory: stdenv.mkDerivation { ... src = builtins.filterSource (path: baseNameOf (toString path) != ".svn") ./source-dir; # as opposed to # src = ./source-dir; } This is important because the .svn directory influences the hash in a rather unpredictable and variable way.
2006-12-12 * Push.Eelco Dolstra1-1/+1
2006-12-12 * New operation `nix-env --set' which sets a user environment to aEelco Dolstra1-0/+3
single derivation specified by the argument. This is useful when we want to have a profile for a single derivation, such as a server configuration. Then we can just say (e.g.) $ nix-env -p /.../server-profile -f server.nix --set -A server We can't do queries or upgrades on such a profile, but we can do rollbacks. The advantage over -i is that we don't have to worry about other packages having been installed in the profile previously; --set gets rid of them.
2006-12-12 * New built-in function `builtins.attrNames' that returns theEelco Dolstra1-0/+18
names of the attributes in an attribute set.
2006-12-09 (no commit message)Eelco Dolstra1-0/+3
2006-12-08 * Kill a build if it has gone for more than a certain number ofEelco Dolstra1-0/+5
seconds without producing output on stdout or stderr (NIX-65). This timeout can be specified using the `--max-silent-time' option or the `build-max-silent-time' configuration setting. The default is infinity (0). * Fix a tricky race condition: if we kill the build user before the child has done its setuid() to the build user uid, then it won't be killed, and we'll potentially lock up in pid.wait(). So also send a conventional kill to the child.
2006-11-30 * Troubleshooting information on fixing a b0rked Berkeley DB database.Eelco Dolstra3-13/+45
2006-11-14 * Push.Eelco Dolstra1-1/+2
2006-11-13 * Magic attribute `exportReferencesGraph' that allows the referencesEelco Dolstra1-1/+5
graph to be passed to a builder. This attribute should be a list of pairs [name1 path1 name2 path2 ...]. The references graph of each `pathN' will be stored in a text file `nameN' in the temporary build directory. The text files have the format used by `nix-store --register-validity'. However, the deriver fields are left empty. `exportReferencesGraph' is useful for builders that want to do something with the closure of a store path. Examples: the builders that make initrds and ISO images for NixOS. `exportReferencesGraph' is entirely pure. It's necessary because otherwise the only way for a builder to get this information would be to call `nix-store' directly, which is not allowed (though unfortunately possible).
2006-11-13 * Option `--reregister' in `nix-store --register-validity'. We needEelco Dolstra1-0/+4
this in the NixOS installer (or in the buildfarm) to ensure that the cryptographic hash of the path contents still matches the actual contents.
2006-10-30 * Release notes.Eelco Dolstra1-0/+14
2006-10-28 * `nix-store --read-log / -l PATH' shows the build log of PATH, ifEelco Dolstra1-0/+17
available. For instance, $ nix-store -l $(which svn) | less lets you read the build log of the Subversion instance in your profile. * `nix-store -qb': if applied to a non-derivation, take the deriver.
2006-10-26 * Typo reported by Arie Middelkoop.Eelco Dolstra2-3/+4
* Left out close-quote in example.
2006-10-11 * Removed URIs from the evaluator (NIX-66). They are now just anotherEelco Dolstra1-5/+9
kind of notation for strings.
2006-10-11 * Merge 0.10.1 release notes.Eelco Dolstra1-0/+12
2006-10-06 * Bumped the version number to 0.11.Eelco Dolstra1-2/+5
2006-10-06 * Too lazy to document nix-push --copy.Eelco Dolstra1-1/+3
2006-10-06 * Translate Unicode quote characters to ASCII equivalents whenEelco Dolstra2-12/+16
generating NEWS.txt.
2006-10-06 * Typos etc.Eelco Dolstra2-6/+15
* Set the release date.
2006-10-05 * Document nix-store --delete.Eelco Dolstra2-6/+60
2006-10-05 * Work around a weird bug in the manpage generation.Eelco Dolstra1-2/+1
2006-10-05 * Documented nix-store --dump / --restore.Eelco Dolstra1-2/+74
2006-10-05 * Documented new nix-env options.Eelco Dolstra1-19/+131
2006-10-05 * Documented nix-instantiate --xml, --strict.Eelco Dolstra4-6/+104
* Added an example to the nix-build section.
2006-10-05 * Documented --attr / -A.Eelco Dolstra5-6/+60
2006-10-05 * Document --arg.Eelco Dolstra6-15/+53
2006-10-05 * Manual.Eelco Dolstra2-2/+26