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