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

50 lines
1.2 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');
lsp.cmake.setup({
capabilities = require('cmp_nvim_lsp').default_capabilities(),
});
lsp.clangd.setup({
capabilities = require('cmp_nvim_lsp').default_capabilities(),
2024-05-11 15:33:38 -04:00
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,
});
2024-05-11 15:33:38 -04:00
'';
plugins = [
2024-05-11 15:33:38 -04:00
vimPlugins.clangd_extensions-nvim
];
};
};
}