            ("\\.hrl?$" . erlang-mode)
            ("\\.spec?$" . erlang-mode))
     :defer t
+    :init
+    (add-hook 'erlang-mode-hook (lambda () (run-hooks 'prog-mode-hook)))
     :config
     (progn
       (setq erlang-root-dir "/usr/lib/erlang/erts-5.10.3")

  (unless spacemacs-erlang-elixir-use-edts
    (add-hook 'erlang-mode-hook 'flycheck-mode)))

(defun erlang-elixir/init-git-gutter-fringe ()
  (add-hook 'erlang-mode-hook 'git-gutter-mode))

(defun erlang-elixir/init-evil-iedit-state ()
  (add-hook 'erlang-mode-hook 'spacemacs/evil-state-lazy-loading))


(defun erlang-elixir/init-rainbow-delimiters ()
  (add-hook 'erlang-mode-hook 'turn-on-rainbow-delimiters-mode))

(defun erlang-elixir/init-ruby-end ()
  (use-package ruby-end
    :defer t
    :config (spacemacs|hide-lighter ruby-end-mode)))

(defun erlang-elixir/init-smartparens ()
  (add-hook 'erlang-mode-hook
            (if dotspacemacs-smartparens-strict-mode
                'smartparens-strict-mode
              'smartparens-mode)))

(defun erlang-elixir/init-yasnippet ()
  (add-hook 'erlang-mode-hook 'spacemacs/load-yasnippet))


(defvar erlang-elixir-packages
  '(
    edts
    elixir-mode
    erlang
    flycheck
    ruby-end
    )
  "List of all packages to install and/or initialize. Built-in packages
which require an initialization must be listed explicitly in the list.")

(defun erlang-elixir/init-edts ()

