2024-03-01 12:59:24 -05:00
|
|
|
{pkgs, ...}: {
|
2024-02-29 22:20:26 -05:00
|
|
|
config = {
|
|
|
|
|
enable = true;
|
|
|
|
|
|
|
|
|
|
plugins = {
|
|
|
|
|
lualine.enable = true;
|
|
|
|
|
telescope.enable = true;
|
|
|
|
|
treesitter.enable = true;
|
|
|
|
|
luasnip.enable = true;
|
|
|
|
|
rustaceanvim.enable = true;
|
|
|
|
|
comment-nvim.enable = true;
|
|
|
|
|
lsp-format.enable = true;
|
|
|
|
|
toggleterm.enable = true;
|
|
|
|
|
which-key.enable = true;
|
|
|
|
|
todo-comments.enable = true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
plugins.neo-tree = {
|
|
|
|
|
enable = true;
|
|
|
|
|
enableGitStatus = true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
colorschemes.rose-pine.enable = true;
|
|
|
|
|
options = {
|
|
|
|
|
number = true;
|
|
|
|
|
relativenumber = true;
|
|
|
|
|
};
|
|
|
|
|
globals.mapleader = " ";
|
|
|
|
|
|
|
|
|
|
plugins.bufferline = {
|
|
|
|
|
enable = true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
plugins.lsp = {
|
|
|
|
|
enable = true;
|
|
|
|
|
servers = {
|
|
|
|
|
tsserver.enable = true;
|
|
|
|
|
lua-ls.enable = true;
|
|
|
|
|
rust-analyzer = {
|
|
|
|
|
enable = true;
|
|
|
|
|
installRustc = false;
|
|
|
|
|
installCargo = false;
|
|
|
|
|
};
|
|
|
|
|
nil_ls.enable = true;
|
2024-03-02 12:32:45 -05:00
|
|
|
java-language-server.enable = true;
|
2024-02-29 22:20:26 -05:00
|
|
|
};
|
2024-03-01 13:06:00 -05:00
|
|
|
keymaps = {
|
|
|
|
|
lspBuf = {
|
|
|
|
|
K = "hover";
|
|
|
|
|
gD = "references";
|
|
|
|
|
gd = "definition";
|
|
|
|
|
gi = "implementation";
|
|
|
|
|
gt = "type_definition";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-02-29 22:20:26 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
keymaps = [
|
|
|
|
|
{
|
|
|
|
|
action = "<cmd>Neotree<CR>";
|
|
|
|
|
key = "<leader>fe";
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
action = "<cmd>lua _lazygit_toggle()<CR>";
|
|
|
|
|
key = "<leader>gg";
|
|
|
|
|
}
|
2024-03-01 11:57:29 -05:00
|
|
|
{
|
|
|
|
|
action = "<cmd>ToggleTerm<CR>";
|
|
|
|
|
key = "<leader>h";
|
|
|
|
|
}
|
2024-02-29 22:20:26 -05:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
plugins.nvim-cmp = {
|
|
|
|
|
enable = true;
|
|
|
|
|
autoEnableSources = true;
|
|
|
|
|
sources = [
|
|
|
|
|
{name = "nvim_lsp";}
|
|
|
|
|
{name = "path";}
|
|
|
|
|
{name = "buffer";}
|
|
|
|
|
];
|
|
|
|
|
snippet = {expand = "luasnip";};
|
|
|
|
|
mappingPresets = ["insert"];
|
|
|
|
|
mapping = {
|
|
|
|
|
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
2024-03-01 12:59:24 -05:00
|
|
|
extraPlugins = with pkgs.vimPlugins; [
|
2024-03-01 13:01:34 -05:00
|
|
|
{
|
|
|
|
|
plugin = overseer-nvim;
|
|
|
|
|
config = ''lua require('overseer').setup()'';
|
|
|
|
|
}
|
2024-03-01 12:59:24 -05:00
|
|
|
];
|
|
|
|
|
|
2024-02-29 22:20:26 -05:00
|
|
|
extraConfigLua = ''
|
|
|
|
|
local Terminal = require('toggleterm.terminal').Terminal
|
|
|
|
|
local lazygit = Terminal:new({ cmd = "lazygit", hidden = true, direction = "float" })
|
|
|
|
|
|
|
|
|
|
function _lazygit_toggle()
|
|
|
|
|
lazygit:toggle()
|
|
|
|
|
end
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
}
|