feat:add_nixvim

This commit is contained in:
dichgrem
2025-09-21 15:54:31 +08:00
parent c36f91562d
commit 8016a1173d
64 changed files with 3608 additions and 30 deletions

View File

@@ -0,0 +1,95 @@
{lib, ...}: {
autoCmd = [
{
event = [
"BufEnter"
"BufNew"
];
desc = "disable statuscolumn for neo-tree and dashboard";
callback = lib.nixvim.mkRaw ''
function()
local ft_ignore = { "dashboard", "neo-tree" }
if vim.tbl_contains(ft_ignore, vim.bo.filetype) then
vim.cmd("setlocal foldcolumn=0")
end
end
'';
}
];
plugins = {
statuscol = {
enable = true;
settings = {
relculright = true;
ft_ignore = [
"dashboard"
"neo-tree"
];
segments = [
{
click = "v:lua.ScFa";
text = [(lib.nixvim.mkRaw "require('statuscol.builtin').foldfunc")];
}
{
click = "v:lua.ScSa";
text = [" %s"];
}
{
click = "v:lua.ScLa";
text = [
(lib.nixvim.mkRaw "require('statuscol.builtin').lnumfunc")
" "
];
}
];
};
};
nvim-ufo = {
enable = true;
settings = {
provider_selector =
# lua
''
function()
return { "lsp", "indent" }
end
'';
preview.mappings = {
close = "q";
switch = "K";
};
};
};
};
opts = {
foldcolumn = "1";
foldlevel = 99;
foldlevelstart = 99;
foldenable = true;
fillchars = lib.nixvim.mkRaw "[[eob: ,fold: ,foldopen:,foldsep: ,foldclose:]]";
};
keymaps = [
{
mode = "n";
key = "zR";
action = lib.nixvim.mkRaw "function() require('ufo').openAllFolds() end";
options.desc = "open all folds";
}
{
mode = "n";
key = "zM";
action = lib.nixvim.mkRaw "function() require('ufo').closeAllFolds() end";
options.desc = "close all folds";
}
{
mode = "n";
key = "zK";
action = lib.nixvim.mkRaw "function() local winid = require('ufo').peekFoldedLinesUnderCursor() if not winid then vim.lsp.buf.hover() end end";
options.desc = "Peek Folded Lines";
}
];
}