1/* Library of low-level helper functions for nix expressions.
2 *
3 * Please implement (mostly) exhaustive unit tests
4 * for new functions in `./tests.nix'.
5 */
6let
7
8 # often used, or depending on very little
9 trivial = import ./trivial.nix;
10 fixedPoints = import ./fixed-points.nix;
11
12 # datatypes
13 attrsets = import ./attrsets.nix;
14 lists = import ./lists.nix;
15 strings = import ./strings.nix;
16 stringsWithDeps = import ./strings-with-deps.nix;
17
18 # packaging
19 customisation = import ./customisation.nix;
20 maintainers = import ./maintainers.nix;
21 meta = import ./meta.nix;
22 sources = import ./sources.nix;
23
24 # module system
25 modules = import ./modules.nix;
26 options = import ./options.nix;
27 types = import ./types.nix;
28
29 # constants
30 licenses = import ./licenses.nix;
31 systems = import ./systems;
32
33 # misc
34 debug = import ./debug.nix;
35 generators = import ./generators.nix;
36 misc = import ./deprecated.nix;
37
38 # domain-specific
39 sandbox = import ./sandbox.nix;
40 fetchers = import ./fetchers.nix;
41
42 # Eval-time filesystem handling
43 filesystem = import ./filesystem.nix;
44
45in
46 { inherit trivial fixedPoints
47 attrsets lists strings stringsWithDeps
48 customisation maintainers meta sources
49 modules options types
50 licenses systems
51 debug generators misc
52 sandbox fetchers filesystem;
53
54 # back-compat aliases
55 platforms = systems.doubles;
56 }
57 # !!! don't include everything at top-level; perhaps only the most
58 # commonly used functions.
59 // trivial // fixedPoints
60 // lists // strings // stringsWithDeps // attrsets // sources
61 // options // types // meta // debug // misc // modules
62 // customisation