Emacs-Up is an extensible, easy to maintain emacs config for your coding needs.
- Things that are built-in
- Things that are in the pipeline
- Pre-requisites
- Installation Instructions
- Caveats
- Upgrade Instructions
-
Working and well-tuned configurations for:
- Clojure Programming (CIDER + other minor modes)
- Emacs Lisp Programming (ElSpice + other minor modes)
- Note-taking and Task-tracking through Org Mode
- Python Programming (ElPy + other minor modes)
- Go Programming (Official Modes provided by the Golang Team)
- Rust Programming
- Scheme Programming (Geiser + other minor modes)
-
Other minor but important additions:
- Avy Mode (Jumping and Navigation)
- Company Mode (Completion)
- Ido Mode in high gear (Completion and Navigation)
- Magit (Git Interface)
- Multiple Cursors (Editing)
- Paredit (Editing Lispy things)
- YASnippets (Templating and Boiler Plate)
- Correct path manipulation on OS X (System)
-
Better defaults than "pure" Emacs.
-
Working and well-tuned configurations for:
- Java Mode
- Erlang Mode
-
Email through Emacs
The following tools should be installed and available on the system:
- git
- mercurial
- bazaar
- aspell
Make sure that they are on $PATH. If you are on a Mac,
gitneeds to be available at/usr/local/bin/git
-
Clone the repository and move it to your
.emacs.dfolder$ cd /tmp/ $ git clone https://github.com/vedang/emacs-up.git $ mv emacs-up ~/.emacs.d
-
Start Emacs. Make yourself a cup of tea.
The first boot will trigger a (one-time) download of all the packages that Emacs-Up needs. This can take a lot of time.
Sometimes (rarely) Emacs will stop and throw an error. If this happens, try re-starting Emacs. If the error is still being thrown, file an issue with me. Don't forget to include the stacktrace.
Don't worry, your perfect environment is being baked with love.
-
Follow the instructions in the Caveats section to install third party software required for various modes.
-
...
-
Profit!
-
Org Mode:
For org-mode to work, you'll have to set your
org-directory. To do this, add the line(setq org-directory "/path/to/org/directory")somewhere in your Emacs config. I recommend that you create the file
~/.emacs.d/personal.eland add the code to that file. Evaluate the line by pressingC-x C-eat the end of it.For more information about the org config, take a look at vedang/org-mode-crate
-
Clojure interactive development through Cider
cider needs a one time setup of cider-nrepl, refactor-nrepl and squigly-clojure middleware in order to work properly. Please follow the instructions here to install
cider-nrepl(curr ver v0.11.0). Please follow the instructions here to installrefactor-nrepl(curr ver v2.0.0). Please follow the instructions here to installsquigly-clojure(curr ver v0.1.5). -
Python interactive development through Elpy
Elpy needs a one-time setup of Python packages. Please follow the installation instructions on the Elpy Page.
-
Golang development
Golang integration with Emacs is a breeze, as long as you have set the GOPATH correctly, as described here. By default, emacs auto-completion will not show golang builtins as options. If you want to enable this behaviour, run the following code:
$ gocode set propose-builtins true -
Rust development
Rust integration is simplistic - depends on
rust-modefor all functionality - and only requires the presence of the rustlang compiler. Refer this document for instructions. -
Scheme development
Scheme integration is provided or Chicken Scheme, and interactive development is implemented through Geiser. Refer this document for instructions to install Chicken Scheme. On a Mac, it can be easily installed through Homebrew using:
$ brew install chicken
- Close running
emacssession - Fetch the latest changes from
vedang/emacs-up - Start
emacsand run the following code:M-x el-get-self-update M-x el-get-update-all
- Restart
emacs