dotfiles/user-modules/development/language/cpp.nix

53 lines
916 B
Nix
Raw Normal View History

2024-12-01 23:52:31 +00:00
{
lib,
config,
pkgs,
...
}:
with lib;
let
2025-02-15 15:28:59 +00:00
cfg = config.modules.cpp;
2024-12-01 23:52:31 +00:00
in
{
options.modules.cpp = {
enable = mkEnableOption "cpp";
};
config = mkIf cfg.enable {
# Allow unfree
modules.unfree.allowedPackages = [
"vscode-extension-ms-vscode-cpptools"
];
# Gitignore additions
modules.git.ignores = [
".ccls-cache"
];
# Development packages
home.packages = with pkgs; [
gnumake
2025-02-15 15:28:59 +00:00
gcc
2024-12-01 23:52:31 +00:00
];
# VSCode configuration
programs.vscode = {
extensions = with pkgs.vscode-extensions; [
ms-vscode.cpptools
ms-vscode.cmake-tools
2025-02-15 15:28:59 +00:00
ms-vscode.cpptools-extension-pack
2024-12-01 23:52:31 +00:00
];
userSettings = {
# "C_Cpp.clang_format_fallbackStyle" = "{ BasedOnStyle: Google, IndentWidth: 4 }";
};
};
# Neovim configuration
programs.nixvim = {
plugins.lsp.servers.ccls.enable = true;
};
};
}