Skip to content
A simple Emacs starter kit
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
el-get-config/personal-recipes
.gitignore
NEWS.org
README.org
hs-clj-packages.el
init.el

README.org

Introduction

emacs-up is a bare-bones, quick-start Emacs configuration. It is meant to get newcomers started and productive with Emacs and contains the minimal configuration required to satisfy employee asks inside Helpshift. emacs-up is currently configured for Clojure programming only, but I’m hoping that it will soon be expanded to include other programming languages used within Helpshift.

Installation

  • The minimum supported Emacs version for this configuration is Emacs 25. You can install the latest Emacs through Homebrew as follows:
    $ brew install emacs --with-cocoa
        
  • Out of the box, emacs-up supports development on Clojure versions 1.8 and Java 8 (and above). If you are someone who has to program against Clojure 1.7 , 1.6 or older versions, refer to the section below this one on instructions to do that.
  • Clone emacs-up to your machine as your .emacs.d folder.
    $ git clone https://github.com/helpshift/emacs-up.git ~/.emacs.d
        
  • Create a .lein/profiles.clj file in your home directory.
    • The contents of the file should be as follows:
      {:user {:plugins [[cider/cider-nrepl "0.20.0"]
                        [refactor-nrepl "2.4.0"]]}}
              
    • You don’t need the cider-nrepl or refactor-nrepl plugin section if you use cider-jack-in to start your REPL and connect to it. We don’t use cider-jack-in at Helpshift, for reasons outside the scope of this document.
    • Changes will not apply to REPLs that are already running. After creating the profiles.clj file, you need to stop and restart running REPLs.
  • Fire up Emacs and wait for it to download packages (This is a one-time thing).
  • The helm-ag package in this config depends on Ag - The Silver Searcher. Installing Ag will allow you to levarage super fast searches on files and data from within Emacs. Installing this is optional, not installing it will mean that only helm-ag will cease to work. You can find instructions to install Ag here: https://github.com/ggreer/the_silver_searcher. Install it from Homebrew with:
    $ brew install the_silver_searcher
        
  • (For beginners) Go through the tutorial in the docs/ folder to get started.

Developing against Clojure 1.7

If you are developing against Clojure 1.7, you need to install older packages of CIDER, Clj-Refactor and Clojure mode. Don’t worry, I have you covered here.

  • Open the file hs-clj-packages.el - at the top level in this repository - and modify the value against clj-version from clj18+ to clj17. (This is the first line of code in the file, so it’s at the very top).
  • Create a .lein/profiles.clj file in your home directory.
    • The contents of the file should be as follows:
      {:user {:plugins [[cider/cider-nrepl "0.17.0"]
                        [refactor-nrepl "2.3.1"]]
              :dependencies [[nrepl "0.3.1"]]}}
              
    • Changes will not apply to REPLs that are already running. After creating the profiles.clj file, you need to stop and restart running REPLs.
  • Fire up / Restart your Emacs and wait for it to download packages (This is a one-time thing).

Developing against Clojure 1.6 and older versions

If you are developing against Clojure 1.6 or earlier, you need to install older packages of CIDER, Clj-Refactor and Clojure mode. Don’t worry, I have you covered here.

  • Open the file hs-clj-packages.el - at the top level in this repository - and modify the value against clj-version from clj18+ to clj16-. (This is the first line of code in the file, so it’s at the very top).
  • Create a .lein/profiles.clj file in your home directory.
    • The contents of the file should be as follows:
      {:repl {:plugins [[cider/cider-nrepl "0.10.2"]
                        [refactor-nrepl "1.1.0"]]
              :dependencies [^:replace [org.clojure/tools.nrepl "0.2.12"]]}}
              
    • Changes will not apply to REPLs that are already running. After creating the profiles.clj file, you need to stop and restart running REPLs.
  • Fire up / Restart your Emacs and wait for it to download packages (This is a one-time thing).

Updating Emacs Up

The current version of emacs-up is v3.1.0. If you are updating an existing installation of emacs-up, the NEWS.org file lists major changes and update instructions.

Happy Programming! May the force be with you.

You can’t perform that action at this time.