Skip to content

About

my emacs' configs

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Latest commit

 

History

271 Commits

Folders and files

Repository files navigation

Emacs Configuration

What this is

This is my personal GNU Emacs 31.1 configuration. It is small and modular. It is made for Rust (eglot + rust-analyzer + tree-sitter) and for Org-mode notes. It also borrows some good ideas from Neovim: telescope-style search, flash-style jumps, and surround-style editing.

The config is split into modules. Each module is one file in modules/, and init.el loads them all. early-init.el sets up the package sources and startup tuning. The first start is slow because Emacs downloads the packages. Later starts are fast: heavy packages load only when needed, and native compilation runs in the background.

How to deploy

This config is made for Arch Linux and needs GNU Emacs 31.1.

git clone <this-repo> ~/.config/emacs
cd ~/.config/emacs
./install-dependencies.sh

Then start Emacs. On the first start, Emacs installs the ELPA packages by itself (use-package :ensure t).

install-dependencies.sh installs the system tools with pacman. If you use another distro, install the same tools with your own package manager. The script lists them all, with a comment for each one.

A few tools are not installed by the script:

rust-analyzer
rustup component add rust-analyzer
mermaid-cli (optional)
npm install -g @mermaid-js/mermaid-cli
Rust tree-sitter grammar
compile it and put it in ~/.config/emacs/tree-sitter/

Documentation and usage: code as doc

This README does not copy the config. The code is the doc.

  • Read the module. Each file in modules/ is small and has comments. The file name tells you the topic: rust-config.el, org-config.el, ui-config.el, and so on.
  • Find a key. Look in the module that sets it. Inside Emacs, press C-h b to list all keys, or wait for which-key to show them.
  • Check the load order. Read init.el. It loads every module.
  • Check the reason. Read the comments next to the code. Design notes live there, not here.

So the rule is simple: trust the code, not a stale README. When you change the code, the doc changes with it.

About

my emacs' configs

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages