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;
|
|
|
|
|
};
|
|
|
|
|
|
2024-03-02 12:47:20 -05:00
|
|
|
plugins.gitsigns.enable = true;
|
|
|
|
|
|
2024-03-11 15:26:59 -04:00
|
|
|
# colorschemes.dracula.enable = true;
|
|
|
|
|
# colorschemes.catppuccin.enable = true;
|
|
|
|
|
colorschemes.kanagawa.enable = true;
|
|
|
|
|
# colorschemes.oxocarbon.enable = true;
|
|
|
|
|
# colorschemes.tokyonight.enable = true;
|
2024-02-29 22:20:26 -05:00
|
|
|
options = {
|
|
|
|
|
number = true;
|
|
|
|
|
relativenumber = true;
|
2024-03-02 12:40:36 -05:00
|
|
|
clipboard = "unnamedplus";
|
2024-03-06 13:25:32 -05:00
|
|
|
|
|
|
|
|
tabstop = 2;
|
|
|
|
|
shiftwidth = 2;
|
|
|
|
|
expandtab = true;
|
|
|
|
|
softtabstop = 2;
|
2024-02-29 22:20:26 -05:00
|
|
|
};
|
|
|
|
|
globals.mapleader = " ";
|
|
|
|
|
|
|
|
|
|
plugins.bufferline = {
|
|
|
|
|
enable = true;
|
|
|
|
|
};
|
|
|
|
|
|
2024-03-02 13:16:25 -05:00
|
|
|
# plugins.nvim-jdtls = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
#
|
|
|
|
|
# cmd = [
|
|
|
|
|
# "${pkgs.jdt-language-server}/bin/jdtls"
|
|
|
|
|
# "-data"
|
|
|
|
|
# "/home/zack/.cache/jdtls/workspace"
|
|
|
|
|
# "-configuration"
|
|
|
|
|
# "/home/zack/.cache/jdtls/config"
|
|
|
|
|
# ];
|
|
|
|
|
# };
|
2024-03-02 13:02:14 -05:00
|
|
|
|
2024-02-29 22:20:26 -05:00
|
|
|
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-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-03-11 16:25:43 -04:00
|
|
|
{
|
|
|
|
|
action = "<cmd>OverseerRun<CR>";
|
|
|
|
|
key = "<F36>";
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
action = "<cmd>OverseerToggle<CR>";
|
|
|
|
|
key = "<S-F36>";
|
|
|
|
|
}
|
2024-02-29 22:20:26 -05:00
|
|
|
];
|
|
|
|
|
|
2024-03-07 19:42:36 -05:00
|
|
|
plugins.cmp = {
|
2024-02-29 22:20:26 -05:00
|
|
|
enable = true;
|
|
|
|
|
autoEnableSources = true;
|
2024-03-07 19:43:16 -05:00
|
|
|
settings = {
|
2024-03-07 19:42:36 -05:00
|
|
|
sources = [
|
|
|
|
|
{name = "nvim_lsp";}
|
|
|
|
|
{name = "path";}
|
|
|
|
|
{name = "buffer";}
|
|
|
|
|
];
|
|
|
|
|
snippet = {expand = "luasnip";};
|
|
|
|
|
mappingPresets = ["insert"];
|
|
|
|
|
mapping = {
|
|
|
|
|
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
|
|
|
|
"<C-space>" = "cmp.mapping.complete()";
|
|
|
|
|
"<C-b>" = "cmp.mapping.scroll_docs(-4)";
|
|
|
|
|
"<C-f>" = "cmp.mapping.scroll_docs(4)";
|
|
|
|
|
};
|
2024-02-29 22:20:26 -05:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
2024-03-01 12:59:24 -05:00
|
|
|
extraPlugins = with pkgs.vimPlugins; [
|
2024-03-11 16:29:32 -04:00
|
|
|
{
|
|
|
|
|
plugin = dressing-nvim;
|
|
|
|
|
config = ''lua require('dressing').setup()'';
|
|
|
|
|
}
|
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
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
}
|