/.emacs.d

.emacs.d or .config/emacs

Primary LanguageEmacs Lisp

Emacs configuration

opinionated set of emacs lisp files

?

  • elpaca for package management
  • leaf for package configuration
  • vertico for completion UI (ones you see for M-x, C-h f, C-h v, etc…)
  • lsp-bridge for the LSP client (it’s actually faster than everything else)
  • evil-mode for modal editing
  • embrace variable pitch for titles and headings
  • defer everything if possible (an exception was made for no-littering and exec-path-from-shell)

Notes

  • Use (elpaca-leaf) for configuring external packages and (leaf) for built-in packages.

Tips, Tricks, and Magic

I employ several magical hacks, tips and tricks, used by other Emacs users, in order for my emacs-init-time, be under 1 second.

  • Avoid set-face-attribute when possible
    • In the case where this isn’t possible, hook these calls to emacs-startup.
  • Frame modifications must be done in early-init.el.
  • Defer loading of packages with :leaf-defer t (this is default behavior of leaf).
    • This is the most important and impactful.
    • Employ the use of :hook, :bind, :mode, and others to load packages when they are needed.
  • Relax the garbage collector during start up.
  • Unset file-name-handler-alist during start up.
  • Set the initial major mode to fundamental-mode.
  • Use Emacs with native-comp feature enabled.

Screenshots

obligatory screenshot section

assets/screenshot.png

assets/busy.png