nixos-configs/common/home/neovim/langs/clang.nix

47 lines
1.1 KiB
Nix
Raw Normal View History

{
config,
pkgs,
lib,
...
}: let
inherit (config.vars) neovimIde;
inherit (pkgs) vimPlugins;
in
lib.mkIf neovimIde {
programs = {
neovim = {
extraPackages = with pkgs; [
gcc
clang-tools
2024-05-11 15:33:38 -04:00
cmake-language-server
];
2024-05-11 15:33:38 -04:00
extraLuaConfig =
2024-06-09 22:49:30 -04:00
# lua
2024-05-11 15:33:38 -04:00
''
vim.api.nvim_create_autocmd('FileType', {
pattern = { 'cpp' , 'c'},
command = 'setlocal ts=4 sw=4 sts=0 expandtab',
});
2024-05-11 15:33:38 -04:00
local lsp = require('lspconfig');
local coq = require('coq');
lsp.cmake.setup(coq.lsp_ensure_capabilities({}));
lsp.clangd.setup(coq.lsp_ensure_capabilities({
handlers = require('lsp-status').extensions.clangd.setup(),
on_attach = function(_, bufnr)
require("clangd_extensions.inlay_hints").setup_autocmd()
require("clangd_extensions.inlay_hints").set_inlay_hints()
end,
}));
'';
plugins = [
2024-05-11 15:33:38 -04:00
vimPlugins.clangd_extensions-nvim
];
};
};
}