diff --git a/contrib/lang/emacs-lisp/README.md b/contrib/lang/emacs-lisp/README.md
new file mode 100644
index 000000000..e9c9060b3
--- /dev/null
+++ b/contrib/lang/emacs-lisp/README.md
@@ -0,0 +1,57 @@
+# Emacs Lisp contribution layer for Spacemacs
+
+![logo](img/emacs-lisp.png)
+
+
+**Table of Contents**
+
+- [Emacs Lisp contribution layer for Spacemacs](#emacs-lisp-contribution-layer-for-spacemacs)
+ - [Description](#description)
+ - [Install](#install)
+ - [Key bindings](#key-bindings)
+ - [srefactor](#srefactor)
+
+
+
+## Description
+
+This layer gathers all the configuration related to emacs-lisp. This should
+always be in your dotfile, it is not recommended to uninstall it.
+
+## Install
+
+To use this contribution add it to your `~/.spacemacs`
+
+```elisp
+(setq-default dotspacemacs-configuration-layers '(emacs-lisp))
+```
+
+## Key bindings
+
+Key Binding | Description
+---------------------------------------------|-------------------------------------------
+SPC m g g | go to definition of symbol under point
+SPC m h h | describe symbol at point
+SPC m e $ or SPC m e l | go to end of current line and evaluate
+SPC m e b | evaluate current buffer
+SPC m e c | evaluate current form (start with `defun`, `setq`, etc...)
+SPC m e e | evaluate sexp before point
+SPC m e r | evaluate current region
+SPC m e f | evaluation current function
+SPC m , | toggle `lisp state`
+SPC m t b | run tests of current buffer
+SPC m t q | run `ert`
+
+### srefactor
+
+The [semantic layer][semantic-layer] should be installed for these key bindings
+to become active.
+
+Key Binding | Description
+---------------------|------------------------------------------------------------
+SPC m = b | format current buffer
+SPC m = f | format current function
+SPC m = r | format current sexp
+SPC m = o | format all on one line
+
+[semantic-layer]: ../../semantic/README.md
diff --git a/contrib/lang/emacs-lisp/config.el b/contrib/lang/emacs-lisp/config.el
new file mode 100644
index 000000000..730223fda
--- /dev/null
+++ b/contrib/lang/emacs-lisp/config.el
@@ -0,0 +1,14 @@
+;;; config.el --- Emacs Lisp Layer configuration File for Spacemacs
+;;
+;; Copyright (c) 2012-2014 Sylvain Benner
+;; Copyright (c) 2014-2015 Sylvain Benner & Contributors
+;;
+;; Author: Sylvain Benner
+;; URL: https://github.com/syl20bnr/spacemacs
+;;
+;; This file is not part of GNU Emacs.
+;;
+;;; License: GPLv3
+
+;; Variables
+(spacemacs|defvar-company-backends emacs-lisp-mode)
diff --git a/contrib/lang/emacs-lisp/extensions.el b/contrib/lang/emacs-lisp/extensions.el
new file mode 100644
index 000000000..b6dcde7ca
--- /dev/null
+++ b/contrib/lang/emacs-lisp/extensions.el
@@ -0,0 +1,33 @@
+;;; extensions.el --- Emacs Lisp Layer Extensions File for Spacemacs
+;;
+;; Copyright (c) 2012-2014 Sylvain Benner
+;; Copyright (c) 2014-2015 Sylvain Benner & Contributors
+;;
+;; Author: Sylvain Benner
+;; URL: https://github.com/syl20bnr/spacemacs
+;;
+;; This file is not part of GNU Emacs.
+;;
+;;; License: GPLv3
+
+(setq emacs-lisp-post-extensions
+ '(emacs-builtin-emacs-lisp))
+
+(defun emacs-lisp/init-emacs-builtin-emacs-lisp ()
+
+ (evil-leader/set-key-for-mode 'emacs-lisp-mode
+ "me$" 'lisp-state-eval-sexp-end-of-line
+ "meb" 'eval-buffer
+ "mec" 'spacemacs/eval-current-form
+ "mee" 'eval-last-sexp
+ "mer" 'spacemacs/eval-region
+ "mef" 'eval-defun
+ "mel" 'lisp-state-eval-sexp-end-of-line
+ "m," 'lisp-state-toggle-lisp-state
+ "mtb" 'spacemacs/ert-run-tests-buffer
+ "mtq" 'ert)
+
+ ;; company support
+ (push 'company-capf company-backends-emacs-lisp-mode)
+ (spacemacs|add-company-hook emacs-lisp-mode))
+
diff --git a/contrib/lang/emacs-lisp/img/emacs-lisp.png b/contrib/lang/emacs-lisp/img/emacs-lisp.png
new file mode 100644
index 000000000..b196474c7
Binary files /dev/null and b/contrib/lang/emacs-lisp/img/emacs-lisp.png differ
diff --git a/contrib/lang/emacs-lisp/packages.el b/contrib/lang/emacs-lisp/packages.el
new file mode 100644
index 000000000..834f105c5
--- /dev/null
+++ b/contrib/lang/emacs-lisp/packages.el
@@ -0,0 +1,63 @@
+;;; packages.el --- Emacs Lisp Layer packages File for Spacemacs
+;;
+;; Copyright (c) 2012-2014 Sylvain Benner
+;; Copyright (c) 2014-2015 Sylvain Benner & Contributors
+;;
+;; Author: Sylvain Benner
+;; URL: https://github.com/syl20bnr/spacemacs
+;;
+;; This file is not part of GNU Emacs.
+;;
+;;; License: GPLv3
+
+(setq emacs-lisp-packages
+ '(
+ eldoc
+ elisp-slime-nav
+ evil
+ semantic
+ smartparens
+ srefactor
+ ))
+
+(defun emacs-lisp/post-init-eldoc ()
+ (add-hook 'emacs-lisp-mode-hook 'eldoc-mode))
+
+(defun emacs-lisp/init-elisp-slime-nav ()
+ ;; Elisp go-to-definition with M-. and back again with M-,
+ (use-package elisp-slime-nav
+ :defer t
+ :init
+ (progn
+ (add-hook 'emacs-lisp-mode-hook 'elisp-slime-nav-mode)
+ (evil-leader/set-key-for-mode 'emacs-lisp-mode
+ "mgg" 'elisp-slime-nav-find-elisp-thing-at-point
+ "mhh" 'elisp-slime-nav-describe-elisp-thing-at-point))))
+
+(defun emacs-lisp/post-init-evil ()
+ (add-to-hook 'emacs-lisp-mode
+ '(lambda ()
+ (spacemacs|define-text-object ";"
+ "elisp-comment"
+ ";; "
+ ""))))
+
+(defun emacs-lisp/post-init-semantic ()
+ (semantic/enable-semantic-mode 'emacs-lisp-mode)
+ (eval-after-load 'semantic
+ '(semantic-default-elisp-setup)))
+
+(defun emacs-lisp/post-init-srefactor ()
+ (add-hook 'emacs-lisp-mode-hook 'spacemacs/lazy-load-srefactor)
+ (use-package srefactor-lisp
+ :commands (srefactor-lisp-format-buffer
+ srefactor-lisp-format-defun
+ srefactor-lisp-format-sexp
+ srefactor-lisp-one-line)
+ :init
+ (evil-leader/set-key-for-mode 'emacs-lisp-mode
+ "mfb" 'srefactor-lisp-format-buffer
+ "mfd" 'srefactor-lisp-format-defun
+ "mfr" 'srefactor-lisp-format-sexp
+ "mfo" 'srefactor-lisp-one-line
+ )))