• MacOS
  • Homebrew installed

File Locations

  • Emacs directory: `~/.emacs.d/
  • Doom directory: `~/.doom.d/
  • Org directory: `~/org/
    • Suggested: `/Documents/Notes/org-pim/
  • ROAM directory: `~/org-roam/
    • Suggested: `~/Documents/Notes/org-kb/


  • SPC = Spacebar
  • RET - Enter


Prepare System

Update Homebrew: brew upgrade

Update Git brew upgrade git

Setup Emacs


Install Dependencies

  • Install Ripgrep
    • brew install git ripgrep
  • Install optional dependencies:
    • brew install coreutils fd # Optional dependencies
  • Install clang:
    • xcode-select --install
  • Update command line tools:
    • softwareupdate --all --install --force

Install Emacs-Plus

brew tap d12frosted/emacs-plus
brew install emacs-plus

Install Doom Emacs

git clone ~/.emacs.d

~/.emacs.d/bin/doom install

Generate an envar file? Y ?

  • doom sync: synchronizes your config with Doom Emacs
  • doom doctor: If Doom misbehaves, the doc will diagnose common issues with your installation, system and environment
  • doom help: see an overview of the available commands that doom provides,
  • doom help COMMAND: to display documentation for a particular COMMAND.


Add ~/.emacs.d/bin to PATH

  • Edit or Create ~/.zshrc
  • Add this to file:
# Add Emacs BIN to path
export PATH="$HOME/.emacs.d/bin:$PATH"
  • Update the terminal session
    • source ~/.zshrc

Initialize Git

cd ~/.doom.d
git init
git add .
git commit -m "Initial commit"

TODO: Git remote, origin, etc

Configure Emacs

  • config.el: Where private configuration should go.

Setup Org-Mode

Install Org-Mode

Org is included in all recent distributions of GNU Emacs, so you probably do not need to install it.

Configure Org-Mode

Start Org Document

  • Start Emacs
  • Create new document:
    • Type C-x C-f
    • Save as

Configure TODO

Setup TODO for one file

  • Add workflow states to the beginning of the file:
    • The line should be at the top of file, there should not be any empty lines between the top and the #+TODO line.
  • To activate the new workflow, either reopen the file, or go to the top of the file (any line starting with #) and press C-c C-c.

Configure TODO for every Org file

Add the following after the (require ‘org) line:

(setq org-todo-keywords
  '((sequence "TODO" "IN-PROGRESS" "WAITING" "DONE")))

To activate the workflow states, restart Emacs ( C-x C-c)

Add sample TODO

Add the TODO keyword in a headline in ** TODO buy airplane

Configure Agenda

Add as agenda file, using C-c [


  • Go to the agenda menu (C-c a)
  • Press t to get a list of TODO items.
  • Verify you see the TODO created earlier


Initialize Git

git init
git add *.org

Setup Org-Roam


Install Org-Roam

  • In your .doom.d/init.el, find org under the :lang section and add the +roam flag:
(org +roam)
  • Save the file.
  • Run doom sync to install

Configure Org-Roam

Configure Org-Roam folder. Important: Don’t use the existing Org files folder. Existing files won’t have the necessary metadata, so they won’t show up in Org Roam’s database.



  • Org-capture

Related pages