NixOS-Configs/home/common/nixvim.nix

120 lines
3.2 KiB
Nix

{ config, pkgs, nixvim, ... }: {
home.packages = with pkgs; [ tree-sitter fd ];
programs = {
ripgrep.enable = true;
nixvim = {
globals.mapleader = " ";
keymaps = [
{
key = "<Tab>";
action = ":bnext<CR>";
}
{
key = "<leader>t";
action = ":Telescope buffers<CR>";
}
{
key = "<leader>T";
action = ":terminal<CR>";
}
{
key = "<leader>e";
action = ":Neotree<CR>";
}
{
key = "<leader>o";
action = ":Obsidian<CR>";
}
{
key = "<leader>gg";
action = ":LazyGit<CR>";
}
{
key = "<leader>gl";
action = ":LazyGitLog<CR>";
}
];
enable = true;
defaultEditor = true;
# colorschemes.dracula.enable = true;
colorschemes.catppuccin.enable = true;
extraConfigLuaPost = "vim.opt.conceallevel = 2";
plugins = {
airline.enable = true;
alpha = {
enable = true;
theme = "dashboard";
};
blink-cmp.enable = true;
bufferline.enable = true;
cmp.enable = true;
cmp-buffer.enable = true;
cmp-nvim-lsp.enable = true;
cmp-path.enable = true;
cmp-treesitter.enable = true;
cmp_luasnip.enable = true;
comment.enable = true;
friendly-snippets.enable = true;
gitsigns.enable = true;
indent-blankline.enable = true;
lz-n.enable = true;
lazygit.enable = true;
lsp = {
servers = {
bashls.enable = true;
html.enable = true;
lua_ls.enable = true;
markdown_oxide.enable = true;
nixd.enable = true;
perlls.enable = true;
pylsp.enable = true;
vimls.enable = true;
};
};
lualine.enable = true;
luasnip.enable = true;
neo-tree.enable = true;
nix.enable = true;
none-ls.enable = true;
nvim-autopairs.enable = true;
nvim-tree.enable = true;
project-nvim.enable = true;
render-markdown = {
enable = true;
settings.enable = true;
};
# snacks.enable = true;
telescope.enable = true;
treesitter = {
enable = true;
settings = {
auto_install = true;
ensure_installed = "all";
highlight = {
additional_vim_regex_highlighting = true;
custom_captures = { };
enable = true;
disable = [ "ipgk" ];
};
ignore_install = [ "ipkg" ];
incremental_selection = {
enable = true;
keymaps = {
init_selection = false;
node_decremental = "grm";
node_incremental = "grn";
scope_incremental = "grc";
};
};
indent = { enable = true; };
parser_install_dir = {
__raw = "vim.fs.joinpath(vim.fn.stdpath('data'), 'treesitter')";
};
sync_install = false;
};
};
web-devicons.enable = true;
};
};
};
}