This repository has been archived on 2024-05-17. You can view files and clone it, but cannot push or open issues or pull requests.
neovim/default.nix

44 lines
981 B
Nix
Raw Normal View History

2022-09-18 12:15:44 +03:00
{ enableBarBar ? false
, enableDevIcons ? false
, wrapNeovim
, neovim-unwrapped
, vimPlugins
, ...
}:
2022-09-15 01:29:25 +03:00
2022-09-15 09:57:11 +03:00
let
lib = import ./lib.nix;
pluginParams = vimPlugins // { inherit lib; };
callPlugin = op: if builtins.isFunction op then op pluginParams else import op pluginParams;
callPlugins = list: builtins.map callPlugin list;
plugins = callPlugins [
2022-09-16 10:10:38 +03:00
./plugins/syntax
2022-09-18 16:32:54 +03:00
./plugins/git
2022-09-16 10:10:38 +03:00
./plugins/explorer
2022-09-18 12:15:44 +03:00
(import ./plugins/theme {
inherit enableBarBar enableDevIcons;
})
2022-09-16 10:10:38 +03:00
./plugins/lsp
2022-09-16 10:18:16 +03:00
./plugins/formatter
./plugins/ux
2022-09-15 09:57:11 +03:00
];
basicConfigs = builtins.map builtins.readFile [ ./config/basic.lua ];
pluginConfigs = builtins.catAttrs "luaConfig" plugins;
2022-09-16 10:10:38 +03:00
allConfigs = basicConfigs ++ pluginConfigs;
2022-09-15 09:57:11 +03:00
in
2022-09-15 01:29:25 +03:00
wrapNeovim neovim-unwrapped {
withPython3 = false;
withNodeJs = false;
withRuby = false;
configure = {
2022-09-16 10:10:38 +03:00
customRC = lib.mkLuaRc allConfigs;
2022-09-15 01:29:25 +03:00
packages.myVimPackages = { start = builtins.catAttrs "plugins" plugins; };
2022-09-15 01:29:25 +03:00
};
}