WORK IN PROGRESS DO NOT USE
A starting point for Emacs that is:
- Small (<500 lines)
- Two-file
- Documented
- Modular
This repo is meant to be used as a starting point for your Emacs configuration; remove the things you don’t use and add what you miss.
If you are interested in a more full-featured, modular configuration. Please use Doom emacs.
Kickstart.el at this time targets Emacs 29. If you are experiencing issues, please make sure you have the latest version.
- Backup your previous configuration
mv $HOME/.config/emacs{,.bak}
- Recommended: Fork this repo so that you have your own copy you can modify.
- Clone the kickstart repo into `$HOME/.config/emacs/`
git clone https://github.com:mjlbach/kickstart.el.git $HOME/.config/emacs/
- Start Emacs (`emacs`) and allow `elpaca` to complete installation.
Additional system requirements:
- ripgrep is required for multiple vertico pickers.
Pull-requests are welcome. The goal of this repo is not to create an Emacs configuration framework, but to offer a starting template that shows, by example, available features in Emacs.
Each PR, especially those which increase the line count, should have a description as to why the PR is necessary.
- The startup time for Emacs is poor, please help me optimize lazy-loading
- You can Emacs as a daemon and attach to the server with clients for instant startup
- Emacs client/server model was not designed to have separate settings for TUI/GUI clients
- This mainly manifests in being unable to customize the UI layer for GUI/TUI without restarting the daemon
- Emacs lacks a unified UI layer around childframes, so some feature (namely eldoc-box, corfu) have an inconsitent or degraded experience in the TUI
- Emacs requires significantly more boilerplate in its plugins
- Elisp (even native or byte-compiled elisp) is much slower than comparable scripting languages like javascript or luajit
- Emacs is not designed with Vim bindings in mind, and requires emulation packages like evil
- Nicholas Vollmer (progfolio), Henrik Lissner (hlissner), and all the other configurations/README’s I’ve ripped off.