My personal Emacs configuration. Mostly here for my own convenience although feel free to have a poke around.
clangdtypescript-language-server(andtypescript)rust-analyzer
pandocwl-clipboardorxclipon Linux
# Assuming Node.js and Emacs are already installed...
npm install --global typescript typescript-language-server
# Fedora
sudo dnf install ripgrep fd-find gcc enchant2-devel enchant2-aspell aspell-en pkgconf-pkg-config clang-tools-extra rust-analyzer pandoc-cli wl-clipboard
# macOS
brew install ripgrep fd enchant pkgconf llvm rust-analyzer pandocAgain more for me but here's how I use this repo:
git clone git@github.com:kzar/emacs.d.git ~/.emacs.d
# Fedora KDE
secret-tool store --label='IRC Libera' host irc.libera.chat user kzar
secret-tool store --label='IRC OFTC' host irc.oftc.net user kzar
# macOS
security add-internet-password -U -a kzar -s irc.libera.chat -w
security add-internet-password -U -a kzar -s irc.oftc.net -w
# Other machines - put credentials in `~/.authinfo.gpg`:
machine irc.libera.chat login kzar password LIBERA_PASSWORD
machine irc.oftc.net login kzar password OFTC_PASSWORD
Add .dir-locals.el files to the project roots, to set up code search,
compiling and clangd:
;; Chromium
;; Notes:
;; - First enable `checkout_clangd` in `.gclient` and run `gclient sync`.
;; - Also remember to regenerate `compile_commands.json` after building.
((nil . ((code-search/url-builder . code-search/builder-chromium)
(compile-command . "autoninja -C out/Release chrome")
(clangd-executable .
"~/PATH_TO_CHROMIUM/src/third_party/llvm-build/Release+Asserts/bin/clangd"))))
;; Firefox
;; Notes:
;; - First run `./mach ide vscode --no-interactive`
((nil . ((code-search/url-builder . code-search/builder-firefox)
(compile-command . "./mach build")
(clangd-executable .
"~/.mozbuild/clang-tools/clang-tidy/bin/clangd"))))Also remember to disable background indexing and header insertions in the
project .clangd file or your global clangd/config.yaml:
Index:
Background: Skip
Completion:
HeaderInsertion: Never- How I install Emacs on Linux - A blog post I wrote about setting up Emacs, a little out of date now.
- Mastering Emacs articles - Some great articles about using Emacs, in particular the "What's New in Emacs X" series.
- davemail - My Notmuch email setup that integrates with the Emacs config.