kickstart-emacs.mp4
This repository gives you a starting point for Gnu Emacs with good defaults, vim keybindings and packages that most people may want to use.
Kickstart.emacs is not a distribution.
It's a template for your own configuration.
This config is:
- A single file org document (with examples of moving to multi-file)
- Modular and easily configurable
- Documented describing its purpuse
Inspired by kickstart.nvim
Special thanks to:
Their content helped me to create this configuration.
- Package Manager: Package.el with Use-package (built in)
- Evil mode: An extensible vi/vim layer
- General: Keybindings
- Gruvbox-theme: Color scheme
- Doom-modeline: Prettier, more useful modeline
- Projectile: Project interaction library
- Eglot: Language Server Protocol Support
- Yasnippet: Template system and snippet collection package
- Some Org mode packages (toc-org, org-superstar)
- Eat: Fast terminal emulator within Emacs
- Nerd Icons: For icons and more helpful ui (Supports both GUI and TUI)
- Magit: Complete text-based user interface to Git
- Diff-hl: Highlights uncommitted changes
- Corfu: Enhances in-buffer completion
- Cape: Provides Completion At Point Extensions
- Orderless: Completion style that matches candidates in any order
- Vertico: Provides a performant and minimalistic vertical completion UI.
- Marginalia: Adds extra metadata for completions in the margins (like descriptions).
- Consult: Provides search and navigation commands.
- Diminish: Hiding or abbreviation of the modeline displays
- Rainbow Delimiters: Adds colors to brackets.
- Which key: Helper utility for keychords
If you want to see how to configure these, look up their git repositories or check out my config.
- DashBoard: Extensible startup screen.
- Drag Stuff: Makes it possible to move selected text, regions and lines.
- Rainbow Mode: Displays the actual color as a background for any hex color value (ex. #ffffff).
- UndoTree: Visualizes the undo history (alternative: Vundo with undo-fu-session).
- Vterm: Fast, Fully-fledged terminal emulator inside GNU Emacs.
- Sudo-edit: Utilities for opening files with root privileges (also works with doas).
- Treesit-auto: Automatically installs and uses tree-sitter major modes in Emacs 29+.
- Ws-butler: Removes whitespace from the ends of lines.
Videos and configurations to get started.
- Emacs From Scratch by System Crafters: Very detailed video series about building Gnu Emacs from the ground up.
- Configuring Emacs by DistroTube: Shorter but also very detailed video series about configuring emacs from scratch.
- Purcell's emacs configuration: Emacs configuration bundle with batteries included.
- Spacemacs and Doom Emacs: For an out of box experience and their wiki pages are really helpful.
- More starter kits: List of starter kits for Emacs.
- Emacs manual: For learning the fundamentals of Emacs.
- Gnu Emacs 29.1 (Latest stable release)
- Git (To clone/download this repository)
- ripgrep
- fd (improves file indexing performance for some commands)
- Gnu Emacs with native-compilation (provides noticeable performance improvements)
If any exists.
git clone https://github.com/MiniApollo/kickstart.emacs.git "${XDG_CONFIG_HOME:-$HOME/.config}"/emacs
- CMD:
git clone https://github.com/MiniApollo/kickstart.emacs.git %userprofile%\AppData\Local\emacs\
- Powershell:
git clone https://github.com/MiniApollo/kickstart.emacs.git $env:USERPROFILE\AppData\Local\emacs\
Emacs will install all the requested packages (it can take a minute).
Note: If you see errors, warnings when package installation is finished just restart Emacs.
Run the following command with M-x (alt-x) C-y to paste
nerd-icons-install-fonts
Change or install JetBrains Mono font
- Hit Space-f-c to open the config file at $HOME/.config/emacs
Note If you use Windows you need to change the path (hit C-x C-f, find the config file and in general region replace the path)
- Now you can Edit and add more configuration.
Recommended so that you have your own copy to modify.
To uninstall kickstart.emacs, you need to remove the following directory:
- Delete the emacs folder/directory for your OS (E.g. $HOME/.config/emacs/).