nixos-infra/users/macan/modules/nvf/languages.nix
Rustam Efimov 30ce0dafc2
Some checks failed
Nix CI / build (push) Failing after 31s
initial commit
2026-04-01 08:50:01 +03:00

122 lines
2.8 KiB
Nix

{ lib, ... }:
{
programs.nvf.settings.vim = {
diagnostics = {
enable = true;
config = {
signs = {
text = {
"vim.diagnostic.severity.Error" = " ";
"vim.diagnostic.severity.Warn" = " ";
"vim.diagnostic.severity.Hint" = " ";
"vim.diagnostic.severity.Info" = " ";
};
};
underline = true;
update_in_insert = true;
virtual_text = {
format =
lib.generators.mkLuaInline
# lua
''
function(diagnostic)
return string.format("%s", diagnostic.message)
--return string.format("%s (%s)", diagnostic.message, diagnostic.source)
end
'';
};
};
nvim-lint = {
enable = true;
};
};
syntaxHighlighting = true;
treesitter = {
enable = true;
autotagHtml = true;
context.enable = true;
highlight.enable = true;
};
lsp = {
enable = true;
trouble.enable = true;
lspSignature.enable = true;
lspconfig.enable = true;
formatOnSave = true;
inlayHints.enable = true;
null-ls.enable = true;
otter-nvim = {
enable = true;
setupOpts = {
buffers.set_filetype = true;
lsp = {
diagnostic_update_event = [
"BufWritePost"
"InsertLeave"
];
};
};
};
lspkind.enable = true;
lspsaga = {
enable = true;
setupOpts = {
ui = {
code_action = "";
};
lightbulb = {
sign = false;
virtual_text = true;
};
breadcrumbs.enable = false;
};
};
};
languages = {
enableDAP = true;
enableExtraDiagnostics = true;
enableFormat = true;
enableTreesitter = true;
bash.enable = true;
clang.enable = true;
css.enable = true;
elixir.enable = true;
go.enable = true;
html.enable = true;
json.enable = true;
lua.enable = true;
markdown = {
enable = true;
extensions = {
render-markdown-nvim = {
enable = true;
};
};
extraDiagnostics.enable = true;
};
nim.enable = true;
nix.enable = true;
python = {
enable = true;
format.type = [
"black"
"isort"
];
};
rust.enable = true;
tailwind.enable = true;
ts = {
enable = true;
extensions.ts-error-translator.enable = true;
};
yaml.enable = true;
zig.enable = true;
};
formatter = {
conform-nvim = {
enable = true;
};
};
};
}