mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-12 03:26:17 +00:00
47 lines
917 B
Nix
47 lines
917 B
Nix
{
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.presets.languages.c;
|
|
in
|
|
{
|
|
options.presets.languages.c = {
|
|
enable = lib.mkEnableOption "C/C++";
|
|
cppcheck = lib.mkEnableOption "cppcheck";
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
plugins = {
|
|
conform-nvim.settings.formatters_by_ft = {
|
|
c = [ "clang-format" ];
|
|
cpp = [ "clang-format" ];
|
|
};
|
|
none-ls = {
|
|
enable = true;
|
|
sources.diagnostics = {
|
|
cppcheck = lib.mkIf cfg.cppcheck {
|
|
enable = true;
|
|
};
|
|
};
|
|
};
|
|
lsp.servers = {
|
|
clangd = {
|
|
enable = true;
|
|
cmd = [
|
|
"clangd"
|
|
"--offset-encoding=utf-16"
|
|
];
|
|
settings.InlayHints = {
|
|
Designators = true;
|
|
Enabled = true;
|
|
ParameterNames = true;
|
|
DeducedTypes = true;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|