Nayuki's EMAcs config
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
my-sample
my
nema
.gitignore
LICENSE
README.org
init.el

README.org

NEMA - Nayuki’s EMAcs config

Description

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

Usage

cd ~
mv .emacs.d .emacs.d.old
git clone https://github.com/nykma/nema.git .emacs.d
emacs -nw

Hotkey cheatsheet

HotkeyCommandLocationComment
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

Customize

customize-group

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

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

Besides

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

customize-group

“Battery Save” mode switch when using LSP

Thanks to

License

GPLv3 for

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

See LICENSE file