Skip to content
 
 

Repository files navigation

Emacs-Up is an extensible, easy to maintain emacs config for your coding needs.


Things that are built-in

  1. 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)
  2. 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)
  3. Better defaults than "pure" Emacs.

Things that are in the pipeline

  1. Working and well-tuned configurations for:

    • Java Mode
    • Erlang Mode
  2. Email through Emacs

Pre-requisites

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, git needs to be available at /usr/local/bin/git

Installation Instructions

  1. Clone the repository and move it to your .emacs.d folder

      $ cd /tmp/
      $ git clone https://github.com/vedang/emacs-up.git
      $ mv emacs-up ~/.emacs.d
      
  2. 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.

  3. Follow the instructions in the Caveats section to install third party software required for various modes.

  4. ...

  5. Profit!

Caveats

  1. 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.el and add the code to that file. Evaluate the line by pressing C-x C-e at the end of it.

    For more information about the org config, take a look at vedang/org-mode-crate

  2. 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 install refactor-nrepl (curr ver v2.0.0). Please follow the instructions here to install squigly-clojure (curr ver v0.1.5).

  3. Python interactive development through Elpy

    Elpy needs a one-time setup of Python packages. Please follow the installation instructions on the Elpy Page.

  4. 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
  5. Rust development

    Rust integration is simplistic - depends on rust-mode for all functionality - and only requires the presence of the rustlang compiler. Refer this document for instructions.

  6. 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

Upgrade Instructions

  1. Close running emacs session
  2. Fetch the latest changes from vedang/emacs-up
  3. Start emacs and run the following code:
    M-x el-get-self-update
    M-x el-get-update-all
    
  4. Restart emacs

About

My emacs configuration files

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages