My Emacs setup
I started my Emacs journey using the Doom Emacs framework, but as time passed and I wanted to customize the editor and its behaviour, I found I was fighting the framework instead of taking advantage of it. This led me to start from scratch with a minimal config that I evolved every time I needed to integrate a new package or wanted to improve my workflow.
Here's what I currently use:
- enlight: a custom startup screen with shortcuts for the actions I use most
- ef-themes: well-balanced colour themes by Protesilaos Stavrou, with many light and dark variants
- eglot: language server support for Python (pylsp) and C (clangd)
- tree-sitter: enabled for Python, YAML and C, with indentation tuned to my preferred coding style
- imenu-list: shows function definitions of the current file in a side window
- Magit: simply the best way to integrate Git in a coding workflow
- Org Mode: everything in plain text — work planning, notes, teaching materials
- perspective-el: named workspaces for Emacs, can be saved or loaded from disk
I am working on a few small helpers to separate programming and school activity using perspective-el. I also integrated some small automations to compile and run C code examples while teaching.
I write my teaching material using Org Mode files and I export them using pandoc as web pages or reveal.js presentations.