summary refs log tree commit diff
path: root/lib/default.nix
blob: 3893e349db369bf789e95044436cbde873914f80 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/* Library of low-level helper functions for nix expressions.
 *
 * Please implement (mostly) exhaustive unit tests
 * for new functions in `./tests.nix'.
 */
let

  # often used, or depending on very little
  trivial = import ./trivial.nix;
  fixedPoints = import ./fixed-points.nix;

  # datatypes
  attrsets = import ./attrsets.nix;
  lists = import ./lists.nix;
  strings = import ./strings.nix;
  stringsWithDeps = import ./strings-with-deps.nix;

  # packaging
  customisation = import ./customisation.nix;
  maintainers = import ./maintainers.nix;
  meta = import ./meta.nix;
  sources = import ./sources.nix;

  # module system
  modules = import ./modules.nix;
  options = import ./options.nix;
  types = import ./types.nix;

  # constants
  licenses = import ./licenses.nix;
  systems = import ./systems;

  # misc
  debug = import ./debug.nix;
  generators = import ./generators.nix;
  misc = import ./deprecated.nix;

  # domain-specific
  sandbox = import ./sandbox.nix;
  fetchers = import ./fetchers.nix;

  # Eval-time filesystem handling
  filesystem = import ./filesystem.nix;

in
  { inherit trivial fixedPoints
            attrsets lists strings stringsWithDeps
            customisation maintainers meta sources
            modules options types
            licenses systems
            debug generators misc
            sandbox fetchers filesystem;

    # back-compat aliases
    platforms = systems.doubles;
  }
  # !!! don't include everything at top-level; perhaps only the most
  # commonly used functions.
  // trivial // fixedPoints
  // lists // strings // stringsWithDeps // attrsets // sources
  // options // types // meta // debug // misc // modules
  // customisation