My personal configuration files for GNU Emacs.
This repository contains two main files: one Elisp file (.emacs
) that behaves as a Bootstrapper with some init code, and one Org file (.config.org
) that consists of all the custom settings and configuration.
This configuration is free to use, modify and/or redistribute under the terms mentioned in the GNU General Public License v2.0.
NOTE:
- I primarily use UNIX based operating systems (GNU/Linux, BSD, macOS, etc.) for my work. So while this configuration may also work on Windows, I can’t guarantee it. (For a more minimal configuration that does work on Windows, check out my other repository)
- This configuration is optimized for GNU Emacs version 26.x and above. It may not work with versions older than 24.x.
- Clone this repository to a directory on your local machine.
$ git clone https://github.com/nikhil-prabhu/emacs-config
- Copy and paste the
.emacs
and.config.org
files in your home folder.
$ cp emacs-config/.emacs emacs-config/.config.org ~/
- Now start up GNU Emacs and wait for the required packages to be automatically installed (you may be prompted to answer ‘y’ or ‘n’ at certain stages). Once installation has finished, you may have a **Warnings** buffer show up, which you can ignore. Finally, type:
M-x <RET> all-the-icons-install-fonts <RET>
- This will install all the necessary icon fonts (on Windows, you’ll have to manually install these fonts once they’re downloaded).
The following table contains the names of packages that are used in this configuration.
Package Name | Description | Repository |
---|---|---|
auto-package-update | Automatically update packages. | MELPA |
evil | Vim keybindings in Emacs. | MELPA |
doom-themes | A curated list of themes used in Doom Emacs. | MELPA |
doom-modeline | Custom modeline used in Doom Emacs. | MELPA |
org-bullets | Use fancy symbolic bullets in Org-mode. | MELPA |
magit | Powerful Git integration for Emacs. | MELPA |
forge | Work with Git forges from the comfort of Magit. | MELPA |
diff-hl | Highlight diff information in Git project buffer. | MELPA |
company | Autocompletion. | MELPA |
company-box | Display icons for autocomplete candidates. | MELPA |
flycheck | On-the-fly syntax checking. | MELPA |
rainbow-delimiters | Use different colors for each level of brackets in Lisp. | MELPA |
treemacs | Project directory tree. | MELPA |
lsp-mode | Language Sever Protocol for Emacs. | MELPA |
lsp-ui | UI modules for lsp-mode. | MELPA |
company-lsp | Language Server Protocol integration for company. | MELPA |
web-mode | A major mode for working with web based languages. | MELPA |
emmet-mode | Unofficial Emmet support for Emacs. | MELPA |
highlight-indent-guides | Display indent guides in programming buffers. | MELPA |
ivy | Interactive minibuffer completion framework. | MELPA |
counsel | Various completion functions using Ivy. | MELPA |
ivy-rich | Better display for Ivy. | MELPA |
swiper | Improved ‘isearch’ utility. | MELPA |
all-the-icons-ivy-rich | Icons for Ivy. | MELPA |
ace-window | Quickly switch between windows. | MELPA |
solaire-mode | Make certain buffers darker or lighter. | MELPA |
dashboard | Spacemacs based dashboard for Emacs. | MELPA |
all-the-icons-dired | Icons for dired buffer elements. | MELPA |
smex | M-x interface with fuzzy matching. | MELPA |
yaml-mode | Major mode for editing YAML files. | MELPA |
projectile | Manage and navigate projects in Emacs easily. | MELPA |
ox-twbs | Bootstrap compatible HTML Back-End for Org. | MELPA |
elpy | Emacs Python Development Environment. | MELPA |
blacken | Reformat python buffers using the “black” formatter. | MELPA |
select-themes | Interactive theme selection. | MELPA |
browse-kill-ring | Interactively insert items from kill ring. | MELPA |
org-journal | A simple org-mode based journaling mode. | MELPA |
which-key | Display keybindings for currently typed prefix. | MELPA |
smart-comment | Smarter commenting. | MELPA |