   (when font
     (set-frame-font (format "%s-10" font))))
 
-;; change fn to lambda in clojure-mode
+;;;; Language specific settings
+
+;; c-mode
+(setq c-default-style "stroustrup")
+
+;; clojure-mode
+(add-hook 'clojure-mode-hook 'paredit-mode)
+(add-hook 'clojure-mode-hook (lambda () (define-clojure-indent
+                                     (lazy-seq 'defun)
+                                     (cond 'defun))))
+
+(add-hook 'nrepl-mode-hook 'paredit-mode)
+(add-hook 'nrepl-interaction-mode-hook 'nrepl-turn-on-eldoc-mode)
+
 (defun esk-pretty-fn ()
   (font-lock-add-keywords nil `(("(\\(fn\\>\\)"
                                  (0 (progn (compose-region (match-beginning 1)
                                                            (match-end 1)
                                                            "\u03BB") nil))))))
 
-;; js-mode
-(add-hook 'js-mode-hook
-          (lambda ()
-            (font-lock-add-keywords
-             'js-mode `(("\\(function *\\)("
-                         (0 (progn (compose-region (match-beginning 1)
-                                                   (match-end 1) "\u03BB")
-                                   nil)))))))
-
-;; python-mode
-(setq python-remove-cwd-from-path nil)
+;; emacs-lisp-mode
+(add-hook 'emacs-lisp-mode-hook 'paredit-mode)
+(add-hook 'emacs-lisp-mode-hook 'eldoc-mode)
 
 ;; haskell-mode
 (add-hook 'haskell-mode-hook

            (define-key haskell-mode-map (kbd "C-c >") 'haskell-move-nested-right)
            (define-key haskell-mode-map (kbd "C-c <") 'haskell-move-nested-left)))

;; load desired theme
(load-theme 'nzenburn t)


;; always show row/column numbers
(setq column-number-mode t)

;; bm (bookmarks)
(global-set-key (kbd "C-.") 'bm-toggle)
