2022-06-12 20:45:19 +00:00
|
|
|
{pkgs, ...}: let
|
2022-06-12 19:29:42 +00:00
|
|
|
dsquotes = "''";
|
2022-06-12 20:45:19 +00:00
|
|
|
in {
|
2022-06-12 19:29:42 +00:00
|
|
|
programs.neovim = {
|
|
|
|
enable = true;
|
|
|
|
extraPackages = with pkgs; [
|
|
|
|
universal-ctags
|
|
|
|
rust-analyzer
|
2022-06-18 08:17:17 +00:00
|
|
|
nodejs-16_x
|
2022-06-19 18:57:04 +00:00
|
|
|
ripgrep
|
2022-06-24 07:32:18 +00:00
|
|
|
gopls
|
2022-06-12 19:29:42 +00:00
|
|
|
];
|
|
|
|
extraConfig = ''
|
|
|
|
lua require("base")
|
|
|
|
'';
|
|
|
|
plugins = with pkgs.vimPlugins; [
|
2022-06-12 20:45:19 +00:00
|
|
|
{
|
|
|
|
plugin = nerdtree;
|
2022-06-12 20:54:08 +00:00
|
|
|
config = "lua dofile(\"${./nerdtree.lua}\")";
|
2022-06-12 20:45:19 +00:00
|
|
|
}
|
|
|
|
{
|
|
|
|
plugin = nerdtree-git-plugin;
|
2022-06-12 20:54:08 +00:00
|
|
|
config = "lua dofile(\"${./nerdtree-git.lua}\")";
|
2022-06-12 20:45:19 +00:00
|
|
|
}
|
2022-06-12 19:29:42 +00:00
|
|
|
vim-devicons
|
2022-06-12 20:45:19 +00:00
|
|
|
{
|
|
|
|
plugin = ctrlp-vim;
|
2022-06-12 20:54:08 +00:00
|
|
|
config = "lua dofile(\"${./ctrlp.lua}\")";
|
2022-06-12 20:45:19 +00:00
|
|
|
}
|
2022-06-12 19:29:42 +00:00
|
|
|
vim-nix
|
2022-06-12 20:45:19 +00:00
|
|
|
{
|
|
|
|
plugin = tagbar;
|
2022-06-12 20:54:08 +00:00
|
|
|
config = "lua dofile(\"${./tagbar.lua}\")";
|
2022-06-12 20:45:19 +00:00
|
|
|
}
|
|
|
|
{
|
|
|
|
plugin = vim-airline;
|
2022-06-12 20:54:08 +00:00
|
|
|
config = "lua dofile(\"${./airline.lua}\")";
|
2022-06-12 20:45:19 +00:00
|
|
|
}
|
2022-06-27 12:23:54 +00:00
|
|
|
copilot-vim
|
2022-06-12 19:29:42 +00:00
|
|
|
rust-vim # for proper syntax highlighting
|
2022-06-13 13:10:34 +00:00
|
|
|
luasnip
|
|
|
|
cmp-nvim-lsp
|
|
|
|
cmp_luasnip
|
|
|
|
{
|
|
|
|
plugin = nvim-cmp;
|
|
|
|
config = "lua dofile(\"${./cmp.lua}\")";
|
|
|
|
}
|
2022-06-12 20:45:19 +00:00
|
|
|
{
|
|
|
|
plugin = nvim-lspconfig;
|
2022-06-12 20:54:08 +00:00
|
|
|
config = "lua dofile(\"${./lsp.lua}\")";
|
2022-06-12 20:45:19 +00:00
|
|
|
}
|
2022-06-12 19:59:53 +00:00
|
|
|
vim-gitgutter
|
2022-06-12 20:05:03 +00:00
|
|
|
nvim-web-devicons
|
2022-06-12 20:45:19 +00:00
|
|
|
{
|
|
|
|
plugin = bufferline-nvim;
|
|
|
|
config = "lua require(\"bufferline\").setup{}";
|
|
|
|
}
|
2022-06-19 18:57:04 +00:00
|
|
|
plenary-nvim
|
|
|
|
telescope-ui-select-nvim
|
|
|
|
{
|
|
|
|
plugin = telescope-nvim;
|
|
|
|
config = "lua dofile(\"${./telescope.lua}\")";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
plugin = rust-tools-nvim;
|
|
|
|
config = "lua dofile(\"${./rust-tools.lua}\")";
|
|
|
|
}
|
|
|
|
nvim-dap
|
2022-06-12 19:29:42 +00:00
|
|
|
];
|
|
|
|
};
|
|
|
|
xdg.configFile."nvim/lua/base.lua".source = ./base.lua;
|
|
|
|
}
|