nix/module/common/Nvim.nix

99 lines
2.1 KiB
Nix
Raw Normal View History

2024-03-24 07:36:02 +03:00
{ inputs, lib, ... }: let
nvimRc = { cfgPath, runtimes, cfgs }: let
2024-03-09 00:06:53 +03:00
runtimeRc = builtins.foldl' (acc: r:
acc + "set runtimepath+=${r}\n"
) "" runtimes;
cfgRc = builtins.foldl' (acc: c:
acc + "lua dofile(\"${cfgPath}/${c}\")\n"
2024-03-09 00:06:53 +03:00
) "" cfgs;
in runtimeRc + cfgRc;
2024-03-23 15:02:42 +03:00
customRc = nvimRc {
cfgPath = ./nvim;
runtimes = [
"~/.cache/nvim"
"~/.cache/nvim/treesitter"
"${inputs.nvimAlign}"
"${inputs.nvimAutoclose}"
"${inputs.nvimBufferline}"
"${inputs.nvimCloseBuffers}"
"${inputs.nvimDevicons}"
"${inputs.nvimGitsigns}"
"${inputs.nvimGruvboxMaterial}"
"${inputs.nvimIndentoMatic}"
"${inputs.nvimLspconfig}"
"${inputs.nvimLualine}"
"${inputs.nvimOllama}"
"${inputs.nvimPlenary}"
"${inputs.nvimSingleComment}"
"${inputs.nvimTelescope}"
"${inputs.nvimTodo}"
"${inputs.nvimTokyonight}"
"${inputs.nvimTreesitter}"
"${inputs.nvimTree}"
"${inputs.nvimTrouble}"
"${inputs.nvimWhichKey}"
];
cfgs = [
"key/Rekey.lua"
"key/Leader.lua"
"config/Autoread.lua"
"config/Etc.lua"
"config/Search.lua"
"config/Tab.lua"
"plugin/Filetree.lua"
"plugin/Gruvbox.lua"
"plugin/Bufferline.lua"
"plugin/Lualine.lua"
"plugin/Autoclose.lua"
"plugin/Gitsigns.lua"
"plugin/Trouble.lua"
"plugin/Tokyonight.lua"
"plugin/Closebuffers.lua"
"plugin/Telescope.lua"
"plugin/Todo.lua"
"plugin/Indent.lua"
"plugin/Align.lua"
"plugin/Treesitter.lua"
"plugin/Fold.lua"
"plugin/Ollama.lua"
"plugin/lsp/Haskell.lua"
"plugin/lsp/Rust.lua"
"plugin/lsp/Tex.lua"
"key/Autocomplete.lua"
"key/Buffer.lua"
"key/Colorscheme.lua"
"key/Comment.lua"
"key/Common.lua"
"key/Filetree.lua"
"key/Fold.lua"
"key/Gitsigns.lua"
"key/Lsp.lua"
"key/Navigation.lua"
"key/Ollama.lua"
"key/Sort.lua"
"key/Telescope.lua"
"key/Terminal.lua"
"key/Todo.lua"
"key/Trouble.lua"
"key/Update.lua"
"key/Whichkey.lua"
];
};
in {
environment = {
variables = {
EDITOR = "nvim";
MANPAGER = "nvim +Man!";
};
};
programs.neovim = {
enable = true;
viAlias = true;
vimAlias = true;
configure = {
2024-03-23 15:02:42 +03:00
customRC = customRc;
};
};
}