Nayuki's EMAcs config
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

NEMA - Nayuki’s EMAcs config


A not-so-hurt-yet-still-make-kind-of-sense emacs configuration framework, c/w a set of packages.


cd ~
mv .emacs.d .emacs.d.old
git clone .emacs.d
emacs -nw

Hotkey cheatsheet

C-c g gmagit-statusnema-vcs.elMagit
C-c g bmagit-blamenema-vcs.elgit blame current buffer
C-’avy-goto-char-timernema-basic.elCursor jump to location
C->mc/mark-next-like-this-symbolnema-basic.elMulti cursor
C-c C-p TABneotree-togglenema-basic.elNeoTree
C-TABorigami-show-only-nodenema-basic.elCode folding
M-oCommon window functionsnema-hydra.elFocus changing, window creation/deletion and so on
C-c & waya-createnema-snippet.elCreate and use a snippet when editing
C-M-oace-windownema-basic.elWindow switch



There is a customize group called nema to give you a few customization options. Remember to restart emacs if anything is changed.

Choose between ivy, helm and none. Default to ivy
Use LSP or not. Remember to follow toolchain installation instructions in language layer files. Default to nil.
Choose one theme from given pre-defined themes list.
Switch between dark and light mode of your theme (if supported).


There are many ways to hack this. You can

  1. Write your ELisp in .emacs.d/my/*.el. They will be loaded after all nema-* modules are loaded.
    • Your snippets will be saved and loaded in .emacs.d/my/snippets/**/*. (See nema-snippet.el)
    • .emacs.d/my/**/* is in .gitignore list. So you can save sensitive data (e.g. IRC login info or Mail account) or some machine-specific configs (e.g. if you have a HiDPI laptop and a workstation with normal DPI displays) without syncing across with VCS. (See my-sample/*.el)
  2. Fork me, then modify the .emacs.d/nema/*.el files (since it’s yours now).

Known issues

  1. If it is run at its first time, make sure not to use emacs --server, since it may prompt you of Elisp-enabled themes. Use emacs or emacs -nw instead, and press y if prompted. When .emacs.d/custom.el is built, you can use server mode without problem.
  2. Something about LSP mode:
    • Ruby: First time you open a .rb file, the LSP server may not be started properly. You can switch to that file buffer and M-x nema/lsp/restart-server to make it work.
    • PHP: Same with ruby.

TODOs [1/3]

[2/3] Sample my/ configs for:

  • [X] EXWM
  • [X] erc
  • [ ] WanderLust


“Battery Save” mode switch when using LSP

Thanks to


GPLv3 for

  • Initialization and core files
  • Layer files (nema-*.el)
  • my-sample/*.el

See LICENSE file