My emacs setup is tested to work only with emacs 25.1 and newer versions. If you are on older versions, I would recommend that you upgrade to the latest available stable version.
On the other hand, I keep my emacs updated to the /latest Development version/. So my config will definitely work with that if you too are doing the same.
Using my emacs setup
You can start using my emacs setup by following these steps:
- Download the latest update script for this config
curl https://raw.githubusercontent.com/kaushalmodi/.emacs.d/master/force_update_emacsd.sh > force_update_emacsd.sh chmod 744 force_update_emacsd.sh
This script git clones my config and all sub-modules that I rely on (mine + others).
- Run the script (review it first if you like) using
./force_update_emacsd.sh ~/.emacs.dif you want to download this config to your
~/.emacs.d/directory. If the download location you specify already exists, a backup of it is created first.
- Edit the =user-emacs-directory= var in the just downloaded =init.el= if needed BEFORE starting emacs using this config.
If you ran
./force_update_emacsd.sh ~/.emacs.din Step 2 above, you will not need to change that variable. But if you did
./force_update_emacsd.sh <MY-EMACSD-DIR>, you will need to change the value of
- Start emacs as usual if you did not change the download location in Step 2. If you DID change the download location to
<MY-EMACSD-DIR>, you will need to do
\emacs -Q -l <MY-EMACSD-DIR>/init.el.
The first start will take a couple of minutes as it auto-installs all packages in the
my-packages list defined in the
- Few setup files have setup done as per my personal tastes and needs:
- If you want to change the default theme, font size, etc, you would want to edit
- Any of the variables or global minor modes set in my config can be overridden in
setup-personal.elwhich you need to create in the directory pointed by the variable
- You can also choose to override certain variables in the very beginning of the
init.elby customizing the variables in a
setup-var-overrides.elfile placed in
user-personal-directory. You can refer to an example of this file here. During the first time setup, copy the
setup-var-overrides.elin the same directory.
setup-editing.elhas interesting elisp snippets that I created + borrowed over time for functions related to general editing.
- Use of my minor mode
modi-modeto enable my custom key-bindings. Doing so allows me to force override my bindings in all major and minor modes. If I ever need to try out the default emacs bindings, I can simply disable
M-x modi-mode. It is enabled globally by default.
- Use of
use-packagein load all packages for faster load times.
- Use of
bind-keysallows me to review my custom bindings in a single buffer by doing
- Certain packages will be loaded only if you have the associated applications installed.
I am looking forward to suggestions, corrections.