summaryrefslogtreecommitdiff
path: root/shared/home-manager/C/default.nix
blob: b4d42a534afad46a6fdbbcd38781f79e004ac9ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# This module configures development tools for C.
{pkgs, ...}: {
  home.packages = with pkgs; [
    clang
    cscript
  ];

  programs.neovim.extraLuaConfig = ''
    require("lspconfig")["clangd"].setup({
      cmd = { "${pkgs.clang-tools}/bin/clangd", "--background-index", "--clang-tidy" },
      on_attach = function(_, bufnr)
        vim.keymap.set("n", "<leader>s", function()
          vim.cmd [[ClangdSwitchSourceHeader]]
        end, {
          noremap=true,
          silent=true,
          buffer=bufnr,
        })
      end,
    })
  '';
}