178 lines
2.9 KiB
Nix
178 lines
2.9 KiB
Nix
{ pkgs, ... }: {
|
|
# Import all your configuration modules here
|
|
imports = [ ./bufferline.nix ];
|
|
|
|
plugins = {
|
|
|
|
lualine.enable = true;
|
|
|
|
luasnip.enable = true;
|
|
|
|
barbar.enable = true;
|
|
|
|
nvim-tree.enable = true;
|
|
|
|
noice.enable = true;
|
|
|
|
mini.enable = true;
|
|
|
|
notify.enable = true;
|
|
|
|
telescope.enable = true;
|
|
|
|
treesitter.enable = true;
|
|
|
|
render-markdown.enable = true;
|
|
|
|
web-devicons.enable = true;
|
|
|
|
lsp = {
|
|
enable = true;
|
|
servers = {
|
|
#js/typescript
|
|
ts-ls.enable = true;
|
|
#c/c++
|
|
ccls.enable = true;
|
|
#nix
|
|
nil-ls.enable = true;
|
|
#python
|
|
pyright.enable = true;
|
|
#bash
|
|
bashls.enable = true;
|
|
#css
|
|
cssls.enable = true;
|
|
};
|
|
};
|
|
|
|
cmp = {
|
|
enable = true;
|
|
autoEnableSources = true;
|
|
settings = {
|
|
sources = [
|
|
{ name = "nvim_lsp"; }
|
|
{ name = "path"; }
|
|
{ name = "buffer"; }
|
|
{ name = "luasnip"; }
|
|
{ name = "cmdline"; }
|
|
];
|
|
};
|
|
|
|
};
|
|
};
|
|
|
|
globals = {
|
|
mapleader = " ";
|
|
maplocalleader = " ";
|
|
};
|
|
|
|
opts = {
|
|
nu = true;
|
|
rnu = true;
|
|
|
|
scrolloff = 12;
|
|
|
|
tabstop = 4;
|
|
softtabstop = 4;
|
|
shiftwidth = 4;
|
|
expandtab = true;
|
|
|
|
smartindent = true;
|
|
|
|
wrap = false;
|
|
|
|
hlsearch = false;
|
|
incsearch = true;
|
|
};
|
|
|
|
keymaps = [
|
|
{
|
|
mode = "n";
|
|
key = "<leader>ff";
|
|
action = "<cmd>Telescope find_files hidden=true<CR>";
|
|
}
|
|
|
|
{
|
|
mode = "n";
|
|
key = "<leader>fc";
|
|
action = "<cmd>Telescope treesitter<CR>";
|
|
}
|
|
|
|
{
|
|
mode = "n";
|
|
key = "<leader>t";
|
|
action = "<cmd>NvimTreeToggle<CR>";
|
|
}
|
|
|
|
{
|
|
mode = "n";
|
|
key = "<C-.>";
|
|
action = "<cmd>BufferNext<CR>";
|
|
}
|
|
|
|
{
|
|
mode = "n";
|
|
key = "<C-,>";
|
|
action = "<cmd>BufferPrevious<CR>";
|
|
}
|
|
|
|
{
|
|
mode = "n";
|
|
key = "<C-h>";
|
|
action = "<cmd>wincmd h<CR>";
|
|
}
|
|
|
|
{
|
|
mode = "n";
|
|
key = "<C-j>";
|
|
action = "<cmd>wincmd j<CR>";
|
|
}
|
|
|
|
{
|
|
mode = "n";
|
|
key = "<C-k>";
|
|
action = "<cmd>wincmd k<CR>";
|
|
}
|
|
|
|
{
|
|
mode = "n";
|
|
key = "<C-l>";
|
|
action = "<cmd>wincmd l<CR>";
|
|
}
|
|
|
|
{
|
|
mode = "n";
|
|
key = "Q";
|
|
action = "<nop>";
|
|
}
|
|
|
|
{
|
|
mode = "v";
|
|
key = "J";
|
|
action = ":m '>+1<CR>gv=gv";
|
|
}
|
|
|
|
{
|
|
mode = "v";
|
|
key = "K";
|
|
action = ":m '<-2<CR>gv=gv";
|
|
}
|
|
|
|
];
|
|
|
|
extraConfigLua = ''
|
|
vim.filetype.add({
|
|
pattern = { [".*/hypr/.*%.conf"] = "hyprlang" },
|
|
})
|
|
'';
|
|
|
|
extraPlugins = with pkgs.vimPlugins; [
|
|
pywal-nvim
|
|
tokyonight-nvim
|
|
llm-nvim
|
|
nvim-lspconfig
|
|
|
|
];
|
|
|
|
colorscheme = "pywal";
|
|
}
|