From Doom Emacs to Vanilla Emacs

2025/01/15

BUILDemacs

How Doom and Emacs Work Together

Regular Emacs

When you install Emacs and run it, it checks for: ~/.emacs.d/init.el or ~/.config/emacs/init.el – your personal config file

What Doom Emacs Changes

Folder Role
~/.emacs.d/ Doom’s engine/core code (replaces what you thought was Emacs config)
~/.config/doom/ Your personal config (like init.el, config.el, and packages.el)

doom install

You run this right after cloning Doom to set things up for the first time. What it does:

  1. Installs Doom’s default core files
  2. Creates ~/.doom.d or uses ~/.config/doom if specified
  3. Installs all packages listed in your init.el (via packages.el)
  4. Compiles Emacs Lisp to .elc and .eln (for performance)
  5. Sets up Doom’s env file (so shell environment variables are available to Emacs)

Use when: setting up Doom for the first time, or after a full wipe.

doom sync

Think of this as “apply changes” after editing your init.el, packages.el, or enabling/disabling modules.

  1. Regenerates your load-path based on enabled modules
  2. Installs or removes packages as needed
  3. Compiles updated packages or config files
  4. Updates autoloads and cache
  5. Syncs the env file if needed

Use when: you change your config or add/remove packages.

Set Up to Run Parallel During Transitioning

A script to do the job, better version control

Cherry-pick Doom Benefits

Learn from Dotfiles Online