2017-03-30 20:03:40 +00:00
|
|
|
/* Library of low-level helper functions for nix expressions.
|
|
|
|
*
|
|
|
|
* Please implement (mostly) exhaustive unit tests
|
|
|
|
* for new functions in `./tests.nix'.
|
|
|
|
*/
|
2016-09-14 23:21:42 +00:00
|
|
|
let
|
2006-09-25 10:07:59 +00:00
|
|
|
|
2017-05-29 22:09:52 +00:00
|
|
|
# often used, or depending on very little
|
2009-02-09 16:51:03 +00:00
|
|
|
trivial = import ./trivial.nix;
|
2017-05-29 22:09:52 +00:00
|
|
|
fixedPoints = import ./fixed-points.nix;
|
2016-09-14 23:21:42 +00:00
|
|
|
|
|
|
|
# datatypes
|
|
|
|
attrsets = import ./attrsets.nix;
|
2009-02-09 16:51:03 +00:00
|
|
|
lists = import ./lists.nix;
|
|
|
|
strings = import ./strings.nix;
|
2009-05-25 18:22:19 +00:00
|
|
|
stringsWithDeps = import ./strings-with-deps.nix;
|
2016-09-14 23:21:42 +00:00
|
|
|
|
|
|
|
# packaging
|
|
|
|
customisation = import ./customisation.nix;
|
|
|
|
maintainers = import ./maintainers.nix;
|
|
|
|
meta = import ./meta.nix;
|
2009-02-09 16:51:03 +00:00
|
|
|
sources = import ./sources.nix;
|
2016-09-14 23:21:42 +00:00
|
|
|
|
|
|
|
# module system
|
2009-07-13 16:18:52 +00:00
|
|
|
modules = import ./modules.nix;
|
2009-02-09 16:51:03 +00:00
|
|
|
options = import ./options.nix;
|
2009-06-26 13:53:31 +00:00
|
|
|
types = import ./types.nix;
|
2016-09-14 23:21:42 +00:00
|
|
|
|
|
|
|
# constants
|
|
|
|
licenses = import ./licenses.nix;
|
2017-02-09 02:27:22 +00:00
|
|
|
systems = import ./systems;
|
2016-09-14 23:21:42 +00:00
|
|
|
|
|
|
|
# misc
|
|
|
|
debug = import ./debug.nix;
|
2016-11-06 00:51:13 +00:00
|
|
|
generators = import ./generators.nix;
|
2016-09-14 23:21:42 +00:00
|
|
|
misc = import ./deprecated.nix;
|
|
|
|
|
|
|
|
# domain-specific
|
2015-11-19 19:33:21 +00:00
|
|
|
sandbox = import ./sandbox.nix;
|
2016-09-17 19:50:01 +00:00
|
|
|
fetchers = import ./fetchers.nix;
|
2006-11-27 16:58:08 +00:00
|
|
|
|
2017-03-04 18:15:23 +00:00
|
|
|
# Eval-time filesystem handling
|
|
|
|
filesystem = import ./filesystem.nix;
|
|
|
|
|
2006-11-27 16:58:08 +00:00
|
|
|
in
|
2017-05-29 22:09:52 +00:00
|
|
|
{ inherit trivial fixedPoints
|
2016-09-14 23:21:42 +00:00
|
|
|
attrsets lists strings stringsWithDeps
|
|
|
|
customisation maintainers meta sources
|
|
|
|
modules options types
|
2017-02-09 02:27:22 +00:00
|
|
|
licenses systems
|
2016-11-06 00:51:13 +00:00
|
|
|
debug generators misc
|
2017-03-04 18:15:23 +00:00
|
|
|
sandbox fetchers filesystem;
|
2017-02-09 02:27:22 +00:00
|
|
|
|
|
|
|
# back-compat aliases
|
|
|
|
platforms = systems.doubles;
|
2009-07-01 15:38:55 +00:00
|
|
|
}
|
2009-02-09 16:51:03 +00:00
|
|
|
# !!! don't include everything at top-level; perhaps only the most
|
|
|
|
# commonly used functions.
|
2017-05-29 22:09:52 +00:00
|
|
|
// trivial // fixedPoints
|
|
|
|
// lists // strings // stringsWithDeps // attrsets // sources
|
2013-10-27 23:56:22 +00:00
|
|
|
// options // types // meta // debug // misc // modules
|
2009-11-19 16:43:58 +00:00
|
|
|
// customisation
|