|
6 | 6 | ... |
7 | 7 | }: |
8 | 8 | let |
9 | | - inherit |
10 | | - (pkgs.callPackage ./normalize.nix { |
11 | | - inherit (config.settings) info_plugin_name; |
12 | | - inherit wlib opt-dir start-dir; |
13 | | - inherit (config) specs specMaps; |
14 | | - }) |
15 | | - plugins4lua |
16 | | - hasFennel |
17 | | - infoPluginInitMain |
18 | | - buildPackDir |
19 | | - mappedSpecs |
20 | | - ; |
21 | 9 | inherit |
22 | 10 | ( |
23 | 11 | let |
|
44 | 32 | ]; |
45 | 33 | in |
46 | 34 | { |
47 | | - collectedHosts = lib.pipe initial [ |
| 35 | + hosts = lib.pipe initial [ |
48 | 36 | (map (v: { |
49 | 37 | name = v.attrname; |
50 | 38 | value = { |
|
83 | 71 | ]; |
84 | 72 | } |
85 | 73 | ) |
86 | | - collectedHosts |
| 74 | + hosts |
87 | 75 | hostLuaCmd |
88 | 76 | hostLinkCmd |
89 | 77 | ; |
90 | | - final-packdir = "${placeholder "out"}/${config.binName}-packdir"; |
91 | | - start-dir = "${final-packdir}/pack/myNeovimPackages/start"; |
92 | | - opt-dir = "${final-packdir}/pack/myNeovimPackages/opt"; |
93 | | - info-plugin-path = "${start-dir}/${config.settings.info_plugin_name}"; |
| 78 | + inherit |
| 79 | + (pkgs.callPackage ./normalize.nix { |
| 80 | + inherit (config.settings) info_plugin_name; |
| 81 | + inherit wlib opt_dir start_dir; |
| 82 | + inherit (config) specs specMaps; |
| 83 | + }) |
| 84 | + plugins |
| 85 | + hasFennel |
| 86 | + infoPluginInitMain |
| 87 | + buildPackDir |
| 88 | + mappedSpecs |
| 89 | + ; |
| 90 | + vim_pack_dir = "${placeholder "out"}/${config.binName}-packdir"; |
| 91 | + start_dir = "${vim_pack_dir}/pack/myNeovimPackages/start"; |
| 92 | + opt_dir = "${vim_pack_dir}/pack/myNeovimPackages/opt"; |
| 93 | + info_plugin_path = "${start_dir}/${config.settings.info_plugin_name}"; |
94 | 94 | in |
95 | 95 | { |
96 | 96 | config.drv.manifestLua = hostLuaCmd; |
|
100 | 100 | config.drv.buildPackDir = buildPackDir; |
101 | 101 | config.specCollect = fn: first: builtins.foldl' fn first mappedSpecs; |
102 | 102 | config.drv.infoPluginText = /* lua */ '' |
103 | | - return setmetatable({ |
104 | | - plugins = ${lib.generators.toLua { } plugins4lua}, |
105 | | - settings = ${ |
106 | | - lib.generators.toLua { } ( |
107 | | - lib.filterAttrsRecursive (_: v: !builtins.isFunction v) config.settings |
108 | | - // { |
109 | | - nvim_lua_env = |
110 | | - (config.package.lua.withPackages or pkgs.luajit.withPackages) |
111 | | - config.settings.nvim_lua_env; |
112 | | - } |
113 | | - ) |
114 | | - }, |
115 | | - wrapper_drv = ${builtins.toJSON "${placeholder "out"}"}, |
116 | | - binName = ${builtins.toJSON config.binName}, |
117 | | - info = ${lib.generators.toLua { } config.info}, |
118 | | - hosts = ${lib.generators.toLua { } collectedHosts}, |
119 | | - info_plugin_path = ${builtins.toJSON info-plugin-path}, |
120 | | - vim_pack_dir = ${builtins.toJSON final-packdir}, |
121 | | - start_dir = ${builtins.toJSON start-dir}, |
122 | | - opt_dir = ${builtins.toJSON opt-dir}, |
123 | | - progpath = ${builtins.toJSON "${placeholder "out"}/bin/${config.binName}"}, |
| 103 | + return setmetatable(${ |
| 104 | + lib.generators.toLua { } { |
| 105 | + settings = lib.filterAttrsRecursive (_: v: !builtins.isFunction v) config.settings // { |
| 106 | + nvim_lua_env = |
| 107 | + (config.package.lua.withPackages or pkgs.luajit.withPackages) |
| 108 | + config.settings.nvim_lua_env; |
| 109 | + }; |
| 110 | + wrapper_drv = placeholder "out"; |
| 111 | + progpath = "${placeholder "out"}/bin/${config.binName}"; |
| 112 | + inherit (config) info binName; |
| 113 | + inherit |
| 114 | + plugins |
| 115 | + hosts |
| 116 | + info_plugin_path |
| 117 | + vim_pack_dir |
| 118 | + start_dir |
| 119 | + opt_dir |
| 120 | + ; |
| 121 | + } |
124 | 122 | }, { |
125 | 123 | __call = function(self, default, ...) |
126 | 124 | if select('#', ...) == 0 then return default end |
|
0 commit comments