This is my personal Emacs configuration, it works on macOS, Linux and Windows.
- Use Borg to assimilate Emacs packages as Git submodules.
- Use use-package to organize the config, optimize the startup time.
Emacs itself comes with support for many programming languages. This config adds improved defaults and extended support for the following, listed in the approximate order of how much I use them, from most to least:
- Haskell
- C/C++
- Python
- Javascript / Typescript
- HTML/Markdown
- Rust
LSP support is provided using the built-in package Eglot.
Suggest to use Emacs 29 and higher version to get the full features.
To install, clone this repo to $HOME/.emacs.d
, i.e. ensure that the init.el
contained in this repo ends up at $HOME/.emacs.d/init.el
:
cd ~/ && git clone https://github.com/Eason0210/.emacs.d.git
cd .emacs.d
make bootstrap-borg # bootstrap borg itself
make bootstrap # bootstrap collective or new drones
After make bootstrap
, all the third-party packages will be automatically cloned as Git submodules , byte-compile and create autoloads.
See more details on Borg User Manual.
Update the config with git pull
. Update the third-party packages by running:
cd ~/.emacs.d
git submodule update --init ./lib/<package-name> # Optionally
git submodule foreach git pull # Update each submodule to latest commit
make clean # remove all byte-code and native files
make build # byte-compile all drones and init files
make help # show brief help
I put my private configurations in $Home/.emacs.d/private.el
, such as Email and variable-pitch font config, etc.
- Purcell/emacs.d
- DamienCassou/emacs.d
- Font config is inspired by DogLooksGood/meomacs