I just gave Doom a spin, thinking of migrating my vanilla Emacs config to Doom https://github.com/jethrokuan/dots/blob/d9ab45f13bd0b840b9f3f4b1ce2f76b71d06e935/.doom.d/config.el (he wrote a blogpost about it and the benefits, namely its speed and the fact that "things just work").
Following Doom's "Getting Started" guide for Mac OS X using Homebrew:
# required dependencies
brew install git ripgrep
# optional dependencies
brew install coreutils fd
# Installs clang
xcode-select --install
brew tap d12frosted/emacs-plus
brew install emacs-plus
ln -s /usr/local/opt/emacs-plus/Emacs.app /Applications/Emacs.app
git clone https://github.com/hlissner/doom-emacs ~/.emacs.d
cd ~/.emacs.d
git reset --hard f7431aa7c98b27b337ccb30a4478d23f2aa7f263
# Get rid of default config and install this config.
rm -rf ~/.doom.d/
git clone git@github.com:christabella/doom-emacs-config.git ~/.doom.d
~/.emacs.d/bin/doom install
Alternatively, using https://github.com/railwaycat/homebrew-emacsmacport:
brew tap railwaycat/emacsmacport
brew install emacs-mac
ln -s /usr/local/opt/emacs-mac/Emacs.app /Applications/Emacs.appA few more things:
pip install python-language-serverfor lsp-mode.- Install fonts Iosevka and ETBembo.
- Set up Dropbox sync for
~/orgfolder. - Need mplayer for nyan-mode music.
Comment out the evil Doom module in init.el (after entering the Vi insert mode), M-x doom-reload, and restart Emacs.
Install Better Bibtex and under Zotero Preferences (Cmd-,), set "Citation key format" to [auth:lower][year]_[Title:skipwords:select=1,3:lower:condense=_]
Next, use http://zotfile.com/ to rename files to %b better biblatex citation key.
See the Zotero section of https://rgoswami.me/posts/org-note-workflow/#zotero for more details.
C-a, C-e are all "smart" in Doom, behaving how you would expect w.r.t. indents, comments etc.
A lot (but not all) of the functionality I previously relied on Crux for, are also in the default module:
"s-<return>" #'default/newline-below
"S-s-<return>" #'default/newline-above
-
Remap keys if necessary. E.g. for non-US
§±to grave accent`~, create~/Library/LaunchAgents/com.local.KeyRemapping.plistandlaunchctl load ~/Library/LaunchAgents/com.local.KeyRemapping.plist -
Preferences > Keyboard > Modifier keys > remap caps as ctrl.
-
Preferences > Trackpad > Speed, Pointer > Enable drag with three fingers, tap to touch, etc.
-
Copy this file as
~/Library/KeyBindings/DefaultKeyBinding.dictto override OS X keybindings with Emacs ones. -
Install iTerm2 with fairyfloss profile > import colors.
-
In iTerm2 preferences, set option keys to Esc+ (to avoid typing integral symbols when doing
M-f/b). -
Install oh-my-zsh with
agnostertheme and set either Iosevka (has powerline glyphs out of the box) or a powerline-patched font in iTerm2 preferences.
pyenv install 3.6.10
pyenv global 3.6.10
# If you ever want to go back to the system version of Python as the default, you can run this:
# pyenv global systemFor example, with pyenv-virtualenv from the project's root:
pyenv install 3.7.7
pyenv virtualenv 3.7.7 message-ranking
pyenv local message-ranking
pip install -r requirements.txt