A reproducible Emacs configuration focused on fast navigation, code exploration, and architecture workflows — structured to minimise state, reduce boilerplate, and avoid config bankruptcy.
Most Emacs configs start simple and slowly collapse under their own weight.
Packages accumulate. State leaks. Startup slows down. Changes become risky.
This configuration is built to stay maintainable over time:
- minimal implicit state
- clear module boundaries
- reproducible across machines
- explicit handling of private configuration
No rewrites. No “start over from scratch”. No config bankruptcy.
This is not a framework (like Doom or Spacemacs). It’s a core + mixins system.
early-init.el: startup hygiene (GC, package disabling, secrets, no flicker)init.el: bootstrap (elpaca, use-package, defaults, global behaviour)mixins/: domain-specific modules loaded in order
Each mixin owns a concern:
ui.el— usability and presentationdev.el— editing, navigation, version control, shellslanguages.el— language support orchestration (LSP/eglot + per-language modules)minibuffers.el— completion stack (vertico, consult, corfu, etc.)ai.el— AI-assisted workflows (local + API-backed)viewers.el,org-config.el,tramp-config.el, etc.
Private behaviour is isolated into encrypted modules:
safe.el.gpgcommunication.el.gpg
-
State is the enemy Everything is structured to minimise hidden state and side effects.
-
Modules over sprawl Features live in mixins, not scattered across init files.
-
System dependencies are explicit External tools and language servers are part of the design (
system-packages). -
Mixed LSP strategy Uses
eglotorlsp-modedepending on ecosystem maturity. -
Private config is first-class Secrets and personal behaviour are separated via GPG, not commented hacks.
git clone <repo> ~/.emacs.dIf you don’t use encrypted modules, comment out .gpg loads in
init.el.
Tested on:
- Emacs 30
- Fedora Linux (GNOME, Wayland)
Other systems should work with minor adjustments (notably
system-packages).
Install a Nerd Font (e.g. Inconsolata Nerd Font) for icons:
M-x nerd-icons-install-fonts- This is not a drop-in distro
- This is not beginner-oriented
- This is not “everything included”
It’s a maintainable personal system you can adapt and evolve.
This configuration builds on ideas from:
The overall structure — particularly the use of a mixins/ directory
and a disciplined use-package-driven setup — is inspired by Bedrock.
This repository extends that foundation into a full, everyday system with additional modules, system-level dependency management, AI-assisted workflows, and reproducibility across machines.