|
5 | 5 | */
|
6 | 6 | let
|
7 | 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 |
| - |
45 |
| -in |
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; |
| 8 | + callLibs = file: import file { inherit lib; }; |
| 9 | + |
| 10 | + lib = rec { |
| 11 | + |
| 12 | + # often used, or depending on very little |
| 13 | + trivial = callLibs ./trivial.nix; |
| 14 | + fixedPoints = callLibs ./fixed-points.nix; |
| 15 | + |
| 16 | + # datatypes |
| 17 | + attrsets = callLibs ./attrsets.nix; |
| 18 | + lists = callLibs ./lists.nix; |
| 19 | + strings = callLibs ./strings.nix; |
| 20 | + stringsWithDeps = callLibs ./strings-with-deps.nix; |
| 21 | + |
| 22 | + # packaging |
| 23 | + customisation = callLibs ./customisation.nix; |
| 24 | + maintainers = callLibs ./maintainers.nix; |
| 25 | + meta = callLibs ./meta.nix; |
| 26 | + sources = callLibs ./sources.nix; |
| 27 | + |
| 28 | + |
| 29 | + # module system |
| 30 | + modules = callLibs ./modules.nix; |
| 31 | + options = callLibs ./options.nix; |
| 32 | + types = callLibs ./types.nix; |
| 33 | + |
| 34 | + # constants |
| 35 | + licenses = callLibs ./licenses.nix; |
| 36 | + systems = callLibs ./systems; |
| 37 | + |
| 38 | + # misc |
| 39 | + debug = callLibs ./debug.nix; |
| 40 | + |
| 41 | + generators = callLibs ./generators.nix; |
| 42 | + misc = callLibs ./deprecated.nix; |
| 43 | + # domain-specific |
| 44 | + sandbox = callLibs ./sandbox.nix; |
| 45 | + fetchers = callLibs ./fetchers.nix; |
| 46 | + |
| 47 | + # Eval-time filesystem handling |
| 48 | + filesystem = callLibs ./filesystem.nix; |
53 | 49 |
|
54 | 50 | # back-compat aliases
|
55 | 51 | 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 |
| 52 | + |
| 53 | + inherit (builtins) add addErrorContext attrNames |
| 54 | + concatLists deepSeq elem elemAt filter genericClosure genList |
| 55 | + getAttr hasAttr head isAttrs isBool isFunction isInt isList |
| 56 | + isString length lessThan listToAttrs pathExists readFile |
| 57 | + replaceStrings seq stringLength sub substring tail; |
| 58 | + inherit (trivial) id const concat or and boolToString mergeAttrs |
| 59 | + flip mapNullable inNixShell min max importJSON warn info |
| 60 | + nixpkgsVersion mod; |
| 61 | + |
| 62 | + inherit (fixedPoints) fix fix' extends composeExtensions |
| 63 | + makeExtensible makeExtensibleWithCustomName; |
| 64 | + inherit (attrsets) attrByPath hasAttrByPath setAttrByPath |
| 65 | + getAttrFromPath attrVals attrValues catAttrs filterAttrs |
| 66 | + filterAttrsRecursive foldAttrs collect nameValuePair mapAttrs |
| 67 | + mapAttrs' mapAttrsToList mapAttrsRecursive mapAttrsRecursiveCond |
| 68 | + genAttrs isDerivation toDerivation optionalAttrs |
| 69 | + zipAttrsWithNames zipAttrsWith zipAttrs recursiveUpdateUntil |
| 70 | + recursiveUpdate matchAttrs overrideExisting getOutput getBin |
| 71 | + getLib getDev chooseDevOutputs zipWithNames zip; |
| 72 | + inherit (lists) singleton foldr fold foldl foldl' imap0 imap1 |
| 73 | + concatMap flatten remove findSingle findFirst any all count |
| 74 | + optional optionals toList range partition zipListsWith zipLists |
| 75 | + reverseList listDfs toposort sort take drop sublist last init |
| 76 | + crossLists unique intersectLists subtractLists |
| 77 | + mutuallyExclusive; |
| 78 | + inherit (strings) concatStrings concatMapStrings concatImapStrings |
| 79 | + intersperse concatStringsSep concatMapStringsSep |
| 80 | + concatImapStringsSep makeSearchPath makeSearchPathOutput |
| 81 | + makeLibraryPath makeBinPath makePerlPath optionalString |
| 82 | + hasPrefix hasSuffix stringToCharacters stringAsChars escape |
| 83 | + escapeShellArg escapeShellArgs replaceChars lowerChars upperChars |
| 84 | + toLower toUpper addContextFrom splitString removePrefix |
| 85 | + removeSuffix versionOlder versionAtLeast getVersion nameFromURL |
| 86 | + enableFeature fixedWidthString fixedWidthNumber isStorePath |
| 87 | + toInt readPathsFromFile fileContents; |
| 88 | + inherit (stringsWithDeps) textClosureList textClosureMap |
| 89 | + noDepEntry fullDepEntry packEntry stringAfter; |
| 90 | + inherit (customisation) overrideDerivation makeOverridable |
| 91 | + callPackageWith callPackagesWith addPassthru hydraJob makeScope; |
| 92 | + inherit (meta) addMetaAttrs dontDistribute setName updateName |
| 93 | + appendToName mapDerivationAttrset lowPrio lowPrioSet hiPrio |
| 94 | + hiPrioSet; |
| 95 | + inherit (sources) pathType pathIsDirectory cleanSourceFilter |
| 96 | + cleanSource sourceByRegex sourceFilesBySuffices |
| 97 | + commitIdFromGitRepo; |
| 98 | + inherit (modules) evalModules closeModules unifyModuleSyntax |
| 99 | + applyIfFunction unpackSubmodule packSubmodule mergeModules |
| 100 | + mergeModules' mergeOptionDecls evalOptionValue mergeDefinitions |
| 101 | + pushDownProperties dischargeProperties filterOverrides |
| 102 | + sortProperties fixupOptionType mkIf mkAssert mkMerge mkOverride |
| 103 | + mkOptionDefault mkDefault mkForce mkVMOverride mkStrict |
| 104 | + mkFixStrictness mkOrder mkBefore mkAfter mkAliasDefinitions |
| 105 | + mkAliasAndWrapDefinitions fixMergeModules mkRemovedOptionModule |
| 106 | + mkRenamedOptionModule mkMergedOptionModule mkChangedOptionModule |
| 107 | + mkAliasOptionModule doRename filterModules; |
| 108 | + inherit (options) isOption mkEnableOption mkSinkUndeclaredOptions |
| 109 | + mergeDefaultOption mergeOneOption mergeEqualOption getValues |
| 110 | + getFiles optionAttrSetToDocList optionAttrSetToDocList' |
| 111 | + scrubOptionValue literalExample showOption showFiles |
| 112 | + unknownModule mkOption; |
| 113 | + inherit (types) isType setType defaultTypeMerge defaultFunctor |
| 114 | + isOptionType mkOptionType; |
| 115 | + inherit (debug) addErrorContextToAttrs traceIf traceVal |
| 116 | + traceXMLVal traceXMLValMarked traceSeq traceSeqN traceValSeq |
| 117 | + traceValSeqN traceShowVal traceShowValMarked |
| 118 | + showVal traceCall traceCall2 traceCall3 traceValIfNot runTests |
| 119 | + testAllTrue strict traceCallXml attrNamesToStr; |
| 120 | + inherit (misc) maybeEnv defaultMergeArg defaultMerge foldArgs |
| 121 | + defaultOverridableDelayableArgs composedArgsAndFun |
| 122 | + maybeAttrNullable maybeAttr ifEnable checkFlag getValue |
| 123 | + checkReqs uniqList uniqListExt condConcat lazyGenericClosure |
| 124 | + innerModifySumArgs modifySumArgs innerClosePropagation |
| 125 | + closePropagation mapAttrsFlatten nvs setAttr setAttrMerge |
| 126 | + mergeAttrsWithFunc mergeAttrsConcatenateValues |
| 127 | + mergeAttrsNoOverride mergeAttrByFunc mergeAttrsByFuncDefaults |
| 128 | + mergeAttrsByFuncDefaultsClean mergeAttrBy |
| 129 | + prepareDerivationArgs nixType imap overridableDelayableArgs; |
| 130 | + }; |
| 131 | +in lib |
0 commit comments