Commit graph

6 commits

Author SHA1 Message Date
Nicolas Pierron f624a70ee7 Fix mkThenElse and mkAlways evaluation.
svn path=/nixpkgs/trunk/; revision=14528
2009-03-14 07:20:31 +00:00
Nicolas Pierron e18a10d0ae * Refactor mkIf to extract the concept of properties.
Properties can be delay on any attribute set and have
functions which are used to define the semantic of each
property.

* Introduce the mkOverride property.

svn path=/nixpkgs/trunk/; revision=14285
2009-02-28 18:21:25 +00:00
Eelco Dolstra 599015e8b0 * Split lib/default.nix into several files, as it had become a big
mess.  Also cleaned up some functions:

  - foldl appeared broken (it recursively called fold).
  - Renamed logicalAND/logicalOR to and/or.
  - Removed listOfListsToAttrs, eqStrings: obsolete.
  - Removed isInList, which does the same thing as elem.
  - stringToCharacters: don't return a "" at the end of the list.
  - Renamed concatList to concat, as concatList (singular) is a
    misnomer: it takes two lists.  Likewise, renamed mergeAttr to
    mergeAttrs.

  misc.nix still contains a lot of stuff that should be refactored and
  moved to other files.

svn path=/nixpkgs/trunk/; revision=14013
2009-02-09 16:51:03 +00:00
Eelco Dolstra b5f893d92a * Moved the functions for option processing to lib.
svn path=/nixpkgs/trunk/; revision=9616
2007-11-09 18:05:32 +00:00
Marc Weber 2a8bb1725d fix: listToAttr takes name instead of attr as argument
svn path=/nixpkgs/trunk/; revision=9599
2007-11-07 21:45:12 +00:00
Eelco Dolstra d897fc5501 * Some prototype code to make dealing with options in Nixpkgs/NixOS
easier.  Instead of writing

    config.get ["foo" "bar"]

  it would be much cleaner to just write

    config.foo.bar

  only this doesn't handle the case where option foo.bar is not
  supplied in the configuration; in that case we need to take the
  default value from some set of option definitions
  (system/options.nix in NixOS).

  Following a suggestion from Martin, the function `combine' (need
  better name) takes a set of option definitions (which follow the
  attribute set structure of the options) and a set of options and
  fills in missing values in the latter with default values from the
  former.  This only works with very recent versions of Nix (it needs
  Marc Weber's listToAttrs primop).

svn path=/nixpkgs/trunk/; revision=9203
2007-08-27 15:10:48 +00:00