blob: 51ff1085cc093decd83641e818ac974cdfaffe70 (
plain) (
tree)
|
|
pkgs: {
opts = {
number = true;
relativenumber = true;
shiftwidth = 2;
tabstop = 2;
scrolloff = 999;
textwidth = 83;
linebreak = true;
completeopt = ["menuone" "noselect"];
wildmenu = true;
wildmode = builtins.concatStringsSep "," [
"longest"
"list"
"full"
];
};
keymaps = [
{
mode = ["n" "i" "t"];
key = "<A-h>";
action = ''<C-\><C-N><C-w>h'';
}
{
mode = ["n" "i" "t"];
key = "<A-j>";
action = ''<C-\><C-N><C-w>j'';
}
{
mode = ["n" "i" "t"];
key = "<A-k>";
action = ''<C-\><C-N><C-w>k'';
}
{
mode = ["n" "i" "t"];
key = "<A-l>";
action = ''<C-\><C-N><C-w>l'';
}
{
key = "<A-t>";
action = ":Neotree float reveal_force_cwd<cr>";
}
{
key = "<A-b>";
action = ":Neotree float buffers<cr>";
}
{
key = "<A-s>";
action = ":Neotree float git_status<cr>";
}
{
mode = ["n" "i"];
key = "<Esc>";
action = "<cmd>noh<CR><Esc>";
}
{
mode = ["i"];
key = "<A-Space>";
action = ''
function()
local cmp = require('cmp');
local luasnip = require('luasnip');
if cmp.visible() then
cmp.select_next_item()
end
end
'';
lua = true;
}
];
extraPlugins = with pkgs.vimPlugins; [
vim-airline-themes
];
plugins = {
airline = {
enable = true;
settings = {
powerline_fonts = true;
};
};
cmp = {
enable = true;
autoEnableSources = true;
settings = {
snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end";
mappings = {
"<C-Space>" = "cmp.mapping.complete()";
"<C-d>" = "cmp.mapping.scroll_docs(-4)";
"<C-e>" = "cmp.mapping.close()";
"<C-f>" = "cmp.mapping.scroll_docs(4)";
"<CR>" = "cmp.mapping.confirm({ select = true })";
"<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
};
sources = [
{name = "luasnip";}
{name = "nvim_lsp";}
{name = "path";}
{
name = "buffer";
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
}
{name = "git";}
{name = "conventionalcommits";}
];
};
};
cmp-path.enable = true;
coq-nvim = {
enable = false;
settings = {
auto_start = "shut-up";
};
installArtifacts = true;
};
dashboard = {
enable = true;
};
lsp = {
enable = true;
servers = {
nil_ls.enable = true;
rust-analyzer = {
enable = true;
installCargo = true;
installRustc = true;
};
ltex.enable = true;
java-language-server.enable = true;
};
};
lspkind = {
enable = true;
cmp = {
enable = true;
menu = {
nvim_lsp = "[LSP]";
nvim_lua = "[api]";
path = "[path]";
luasnip = "[snip]";
buffer = "[buffer]";
neorg = "[neorg]";
};
};
};
lsp-format = {
enable = true;
};
luasnip.enable = true;
quickmath.enable = true;
treesitter = {
enable = true;
indent = true;
};
treesitter-context = {
enable = true;
};
treesitter-refactor = {
enable = true;
};
mini = {
enable = true;
};
markdown-preview = {
enable = true;
};
nix = {
enable = true;
};
neo-tree = {
enable = true;
autoCleanAfterSessionRestore = true;
closeIfLastWindow = true;
};
nvim-autopairs = {
enable = true;
};
vim-css-color = {
enable = true;
};
vimtex = {
enable = true;
};
};
}
|