working on improving nixvim config, just need to learn how to seperate out files now
This commit is contained in:
parent
5b8f7e03e0
commit
cf55ba3d70
|
@ -24,9 +24,17 @@ in {
|
|||
options = {
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
shiftwidth = 2;
|
||||
shiftwidth = 4;
|
||||
};
|
||||
|
||||
autoCmd = [
|
||||
{
|
||||
event = "FileType";
|
||||
pattern = "nix";
|
||||
command = "setlocal tabstop=2 shiftwidth=2";
|
||||
}
|
||||
];
|
||||
|
||||
keymaps = [
|
||||
{
|
||||
action = "<cmd>Ex<CR>";
|
||||
|
@ -97,64 +105,210 @@ in {
|
|||
|
||||
treesitter = {
|
||||
enable = true;
|
||||
nixGrammars = true;
|
||||
indent = true;
|
||||
};
|
||||
|
||||
luasnip.enable = true;
|
||||
treesitter-context.enable = true;
|
||||
|
||||
lualine.enable = true;
|
||||
|
||||
lsp = {
|
||||
enable = true;
|
||||
|
||||
servers = {
|
||||
nixd.enable = true;
|
||||
};
|
||||
keymaps = {
|
||||
lspBuf = {
|
||||
"<leader>K" = "hover";
|
||||
"<leader>gf" = "references";
|
||||
"<leader>gd" = "definition";
|
||||
"<leader>gi" = "implementation";
|
||||
"<leader>gt" = "type_definition";
|
||||
};
|
||||
};
|
||||
copilot-lua = {
|
||||
panel.enabled = false;
|
||||
suggestion.enabled = false;
|
||||
};
|
||||
|
||||
lsp-format = {
|
||||
enable = true;
|
||||
setup = {
|
||||
nix = {
|
||||
};
|
||||
};
|
||||
};
|
||||
nix.enable = true;
|
||||
nix-develop.enable = true;
|
||||
|
||||
cmp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
};
|
||||
};
|
||||
nvim-autopairs.enable = true;
|
||||
|
||||
rainbow-delimiters = {
|
||||
enable = true;
|
||||
};
|
||||
rainbow-delimiters = {enable = true;};
|
||||
nvim-colorizer.enable = true;
|
||||
|
||||
undotree.enable = true;
|
||||
|
||||
which-key = {
|
||||
enable = true;
|
||||
registrations = {
|
||||
"<leader>K" = "Code hover";
|
||||
"<leader>gf" = "Code references";
|
||||
"<leader>gd" = "Code definitions";
|
||||
"<leader>gi" = "Implementations";
|
||||
"<leader>gt" = "Type definition";
|
||||
};
|
||||
};
|
||||
which-key = {enable = true;};
|
||||
|
||||
trouble.enable = true;
|
||||
|
||||
markdown-preview.enable = true;
|
||||
|
||||
dashboard = {enable = true;};
|
||||
|
||||
auto-save = {
|
||||
enable = true;
|
||||
enableAutoSave = true;
|
||||
};
|
||||
|
||||
## cmp extract into file
|
||||
luasnip.enable = true;
|
||||
cmp-buffer = {enable = true;};
|
||||
|
||||
cmp-emoji = {enable = true;};
|
||||
|
||||
cmp-nvim-lsp = {enable = true;};
|
||||
|
||||
cmp-path = {enable = true;};
|
||||
|
||||
cmp_luasnip = {enable = true;};
|
||||
|
||||
cmp = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
snippet.expand = "luasnip";
|
||||
sources = [
|
||||
{name = "nvim_lsp";}
|
||||
{name = "luasnip";}
|
||||
{name = "copilot";}
|
||||
{
|
||||
name = "buffer";
|
||||
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
|
||||
}
|
||||
{name = "nvim_lua";}
|
||||
{name = "path";}
|
||||
];
|
||||
|
||||
formatting = {
|
||||
fields = ["abbr" "kind" "menu"];
|
||||
format =
|
||||
# lua
|
||||
''
|
||||
function(_, item)
|
||||
local icons = {
|
||||
Namespace = "",
|
||||
Text = "",
|
||||
Method = "",
|
||||
Function = "",
|
||||
Constructor = "",
|
||||
Field = "",
|
||||
Variable = "",
|
||||
Class = "",
|
||||
Interface = "",
|
||||
Module = "",
|
||||
Property = "",
|
||||
Unit = "",
|
||||
Value = "",
|
||||
Enum = "",
|
||||
Keyword = "",
|
||||
Snippet = "",
|
||||
Color = "",
|
||||
File = "",
|
||||
Reference = "",
|
||||
Folder = "",
|
||||
EnumMember = "",
|
||||
Constant = "",
|
||||
Struct = "",
|
||||
Event = "",
|
||||
Operator = "",
|
||||
TypeParameter = "",
|
||||
Table = "",
|
||||
Object = "",
|
||||
Tag = "",
|
||||
Array = "[]",
|
||||
Boolean = "",
|
||||
Number = "",
|
||||
Null = "",
|
||||
String = "",
|
||||
Calendar = "",
|
||||
Watch = "",
|
||||
Package = "",
|
||||
Copilot = "",
|
||||
Codeium = "",
|
||||
TabNine = "",
|
||||
}
|
||||
|
||||
local icon = icons[item.kind] or ""
|
||||
item.kind = string.format("%s %s", icon, item.kind or "")
|
||||
return item
|
||||
end
|
||||
'';
|
||||
};
|
||||
|
||||
window = {
|
||||
completion = {
|
||||
winhighlight = "FloatBorder:CmpBorder,Normal:CmpPmenu,CursorLine:CmpSel,Search:PmenuSel";
|
||||
scrollbar = false;
|
||||
sidePadding = 0;
|
||||
border = ["╭" "─" "╮" "│" "╯" "─" "╰" "│"];
|
||||
};
|
||||
|
||||
settings.documentation = {
|
||||
border = ["╭" "─" "╮" "│" "╯" "─" "╰" "│"];
|
||||
winhighlight = "FloatBorder:CmpBorder,Normal:CmpPmenu,CursorLine:CmpSel,Search:PmenuSel";
|
||||
};
|
||||
};
|
||||
|
||||
mapping = {
|
||||
"<C-n>" = "cmp.mapping.select_next_item()";
|
||||
"<C-p>" = "cmp.mapping.select_prev_item()";
|
||||
"<C-j>" = "cmp.mapping.select_next_item()";
|
||||
"<C-k>" = "cmp.mapping.select_prev_item()";
|
||||
"<C-d>" = "cmp.mapping.scroll_docs(-4)";
|
||||
"<C-f>" = "cmp.mapping.scroll_docs(4)";
|
||||
"<C-Space>" = "cmp.mapping.complete()";
|
||||
"<C-e>" = "cmp.mapping.close()";
|
||||
"<CR>" = "cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Insert, select = true })";
|
||||
"<Tab>" =
|
||||
# lua
|
||||
''
|
||||
function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif require("luasnip").expand_or_jumpable() then
|
||||
vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-expand-or-jump", true, true, true), "")
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end
|
||||
'';
|
||||
"<S-Tab>" =
|
||||
# lua
|
||||
''
|
||||
function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif require("luasnip").jumpable(-1) then
|
||||
vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-jump-prev", true, true, true), "")
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
## lsp
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
fsautocomplete.enable = true;
|
||||
nixd.enable = true;
|
||||
};
|
||||
keymaps.lspBuf = {
|
||||
"<leader>gd" = "definition";
|
||||
"<leader>gD" = "references";
|
||||
"<leader>gt" = "type_definition";
|
||||
"<leader>gi" = "implementation";
|
||||
"<leader>K" = "hover";
|
||||
};
|
||||
};
|
||||
rust-tools.enable = true;
|
||||
|
||||
## none-ls
|
||||
none-ls = {
|
||||
enable = true;
|
||||
sources = {
|
||||
diagnostics = {statix.enable = true;};
|
||||
formatting = {
|
||||
nixfmt.enable = true;
|
||||
markdownlint.enable = true;
|
||||
shellharden.enable = true;
|
||||
shfmt.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue