From 8353554315564b89dfe27d5130080ed04a0a65ad Mon Sep 17 00:00:00 2001 From: Linnnus Date: Sat, 21 Dec 2024 15:47:33 +0100 Subject: Move to a profile-based configuration where common This patch makes it so common configuration is now located in shared/ and each host basically just becomes a bunch of import statements. The exception here is host-specific configuration like the `*.linus.onl` that live inside `hosts/ahmed/`. Specifically I have: - moved common configuration `shared/{nixos,home-manager,nix-darwin}`. - moved `hosts/common.nix` to `shared/nixos/common-{nix,shell}-settings.nix`. - split `hosts/muhammed/{dev-utils,neovim}` into per-language configuration. This patch was done in preparation for the arrival of a new host, which will need to share a lot of configuration with Muhammed. --- shared/home-manager/C/default.nix | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 shared/home-manager/C/default.nix (limited to 'shared/home-manager/C') diff --git a/shared/home-manager/C/default.nix b/shared/home-manager/C/default.nix new file mode 100644 index 0000000..b4d42a5 --- /dev/null +++ b/shared/home-manager/C/default.nix @@ -0,0 +1,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", "s", function() + vim.cmd [[ClangdSwitchSourceHeader]] + end, { + noremap=true, + silent=true, + buffer=bufnr, + }) + end, + }) + ''; +} -- cgit v1.2.3