   :ensure nil)
 
 (use-package peep-dired
-  :init
-  ;; This makes peep-dired-mode-map override all evil mappings
-  ;; evil-make-overriding-map doesn't handle j and k for some reason.
-  (add-hook 'peep-dired-hook (lambda ()
-                               (evil-make-intercept-map peep-dired-mode-map 'normal)
-                               (evil-normalize-keymaps 'normal)))
+  :hook ( peep-dired . me:peep-dired-config )
+  :init
   (setq peep-dired-mode-map
         (let ((map (make-sparse-keymap)))
           (define-key map (kbd "j")         #'peep-dired-next-file)

  :general
  ("<f7> h"   #'dired-sidebar-toggle-sidebar)
  ("<f4> h"   #'dired-sidebar-toggle-with-current-directory)
  :init
  (add-hook 'dired-sidebar-mode-hook
            (lambda ()
              (unless (file-remote-p default-directory)
                (auto-revert-mode))))
  :config
  (push 'toggle-window-split dired-sidebar-toggle-hidden-commands)
  (push 'rotate-windows dired-sidebar-toggle-hidden-commands))


(use-package flyspell
  :general
  ;; N.B. C-; is flyspell-correct-previous-word
  ("C-M-;"      #'flyspell-correct-previous-word-generic)
  :init
  (setq ispell-personal-dictionary (expand-file-name "hunspell/words" me:config-directory))
  (me:add-hook-with-delay 'prog-mode-hook 10 #'flyspell-prog-mode)
  (me:add-hook-with-delay 'text-mode-hook 10 #'flyspell-mode)
  ;; setup spell check, prefer hunspell
  (cond
   ((executable-find "hunspell")

;; build-in configure file mode
(use-package conf-mode
  :ensure nil
  :hook (conf-mode . me:run-prog-mode-hooks)
  :demand)

;; built-in eldoc mode
