   (add-hook 'lisp-mode-hook #'lispy-mode)
   (add-hook 'text-mode-hook #'turn-on-flyspell)
   (add-hook 'text-mode-hook #'yas-minor-mode-on)
+
+  ;; Auto-Modes
+
+  (dolist (mode-spec '(("\\.clj\\'" . clojure-mode)
+                       ("\\.cl\\'" . lisp-mode)
+                       ("\\.lisp\\'" . lisp-mode)
+                       ("\\.plx\\’" . cperl-mode)
+                       ("\\.hs\\'" . haskell-mode)
+                       ("\\.lhs\\'" . haskell-mode)
+                       ("\\.md\\'" . markdown-mode)
+                       ("\\.html\\'" . nxml-mode)
+                       ("\\.xml\\'" . nxml-mode)))
+    (add-to-list 'auto-mode-alist mode-spec))
 
   ;; Hydras
 

             mc/mark-all-like-this))

(use-package nxml
  :mode (("\\.html\\'" . nxml-mode)
         ("\\.xml\\'"  . nxml-mode)))

(use-package org-ref
  :defer t

            (unbind-key "C-c $" flyspell-mode-map)))

(use-package haskell-mode
  :defer t
  :defines (haskell-program-name)
  :config (progn
            (setq haskell-program-name "ghci")
