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 = {
|
options = {
|
||||||
number = true;
|
number = true;
|
||||||
relativenumber = true;
|
relativenumber = true;
|
||||||
shiftwidth = 2;
|
shiftwidth = 4;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
autoCmd = [
|
||||||
|
{
|
||||||
|
event = "FileType";
|
||||||
|
pattern = "nix";
|
||||||
|
command = "setlocal tabstop=2 shiftwidth=2";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
keymaps = [
|
keymaps = [
|
||||||
{
|
{
|
||||||
action = "<cmd>Ex<CR>";
|
action = "<cmd>Ex<CR>";
|
||||||
|
@ -97,64 +105,210 @@ in {
|
||||||
|
|
||||||
treesitter = {
|
treesitter = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
nixGrammars = true;
|
||||||
|
indent = true;
|
||||||
};
|
};
|
||||||
|
treesitter-context.enable = true;
|
||||||
luasnip.enable = true;
|
|
||||||
|
|
||||||
lualine.enable = true;
|
lualine.enable = true;
|
||||||
|
|
||||||
lsp = {
|
copilot-lua = {
|
||||||
enable = true;
|
panel.enabled = false;
|
||||||
|
suggestion.enabled = false;
|
||||||
servers = {
|
|
||||||
nixd.enable = true;
|
|
||||||
};
|
|
||||||
keymaps = {
|
|
||||||
lspBuf = {
|
|
||||||
"<leader>K" = "hover";
|
|
||||||
"<leader>gf" = "references";
|
|
||||||
"<leader>gd" = "definition";
|
|
||||||
"<leader>gi" = "implementation";
|
|
||||||
"<leader>gt" = "type_definition";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
lsp-format = {
|
nix.enable = true;
|
||||||
enable = true;
|
nix-develop.enable = true;
|
||||||
setup = {
|
|
||||||
nix = {
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
cmp = {
|
nvim-autopairs.enable = true;
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
rainbow-delimiters = {
|
rainbow-delimiters = {enable = true;};
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
nvim-colorizer.enable = true;
|
nvim-colorizer.enable = true;
|
||||||
|
|
||||||
undotree.enable = true;
|
undotree.enable = true;
|
||||||
|
|
||||||
which-key = {
|
which-key = {enable = true;};
|
||||||
enable = true;
|
|
||||||
registrations = {
|
|
||||||
"<leader>K" = "Code hover";
|
|
||||||
"<leader>gf" = "Code references";
|
|
||||||
"<leader>gd" = "Code definitions";
|
|
||||||
"<leader>gi" = "Implementations";
|
|
||||||
"<leader>gt" = "Type definition";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
trouble.enable = true;
|
trouble.enable = true;
|
||||||
|
|
||||||
markdown-preview.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