Jacob's personal Emacs configuration, plus a handful of related dotfiles (shell, tmux, Xresources, Zed keymap) that travel with it.
Clone the repo somewhere, then add to ~/.emacs:
(add-to-list 'load-path "/path/to/cozy-emacs")
(load "vanilla")
(load "packages")
(load "programming")
;; ...load whichever modules you want
(load "last") ; always load this lastlast.el is meant to be loaded after everything else — it sets up
envrc-global-mode, which needs to wrap other modes' hooks.
vanilla.el— basic customizations using only built-in Emacs (mode toggles, display, key bindings). Targets Emacs 27+.packages.el— third-party packages installed viause-packagefrom MELPA.packages-extra.el— optional extras.programming.el— general programming-mode tweaks.cozy.el— older legacy config (Erlang/distel, JS, Python, w3m). Predates thevanilla.el/packages.elsplit.last.el— load this last; sets upenvrc.
common-lsp.el— shared LSP /eglotsetup.clj-lsp.el,go-lsp.el,go-eglot.el,java-lsp.el,python-lsp.el,rust-lsp.el,ts-lsp.el— per-language LSP config.elisp-setup.el,lisp.el— Lisp editing.kubernetes.el,langtool.el,snippets.el— assorted modes.
bashrc,bash_profile,zshrc— shell config.tmux.conf,Xresources,sqliterc— terminal / X / sqlite.alacritty.toml— Alacritty config; symlinked from~/.config/alacritty/alacritty.toml.zed/keymap.json— Zed editor keybindings.epylint,flyalyzer— helper scripts.
setups/INSTALL.md— checklist of everything I install on a fresh dev machine to get this config working. Keep it up to date.setups/install-go-tools.sh— install Go tooling for LSP.setups/rust.sh— Rust toolchain setup.setups/run.el— ad-hoc run commands.setups/windows-terminal/— Windows Terminal config notes.builds/emacs/Dockerfile— build Emacs 27 from source in Ubuntu 18.04.
- Aim for Emacs 31 or newer.
- On macOS, install Emacs via emacs-builds
(
brew install --cask emacs-app-good). - For 24-bit color and italics in a terminal on Windows, Kitty with Consolas is the only combo that has worked reliably.