         dired-recursive-copies 'always
         dired-dwim-target t)             ; use existing dired buffer, if exists
   :config
-  (progn
     (use-package peep-dired
       :config
       :bind (:map dired-mode-map

      (setq font-lock-maximum-decoration (quote ((dired-mode . nil) (t . t)))   ; turn off barf colors
            diredp-hide-details-initially-flag t
            diredp-image-preview-in-tooltip 400
            diredp-auto-focus-frame-for-thumbnail-tooltip-flag t)))
  :ensure nil)

(use-package flyspell
  :commands ( flyspell-prog-mode flyspell-mode flyspell-auto-correct-previous-word flyspell-correct-previous-word-generic)
  :init
  (progn
    (setq ispell-personal-dictionary (expand-file-name "hunspell/words" me:config-directory))
    (add-hook 'prog-mode-hook #'flyspell-prog-mode)
    (add-hook 'text-mode-hook #'flyspell-mode))
  :config
  (progn
    (use-package flyspell-correct-ivy :demand)
    ;; setup spell check, prefer hunspell
    (cond
      ((executable-find "hunspell")
        (setq ispell-program-name "hunspell")
        (setq ispell-local-dictionary "en_US")
        (setq ispell-local-dictionary-alist
              ;; Please note the list `("-d" "en_US")` contains ACTUAL parameters passed to hunspell
              ;; You could use `("-d" "en_US,en_US-med")` to check with multiple dictionaries
              '(("en_US" "[[:alpha:]]" "[^[:alpha:]]" "[']" nil ("-d" "en_US") nil utf-8)
                )))
      ((executable-find "aspell")
        (setq ispell-program-name "aspell")
        ;; Please note ispell-extra-args contains ACTUAL parameters passed to aspell
        (setq ispell-extra-args '("--sug-mode=ultra" "--lang=en_US")))))
  :diminish (flyspell-mode . "Ⓢ"))

(use-package ivy

  :commands fic-mode
  :config
  :init
    (setq fic-highlighted-words `( "TODO" "HACK" "KLUDGE" "FIXME" "TRICKY" "BUG" ))
    (add-hook 'prog-mode-hook #'fic-mode))

(use-package whitespace
  :commands whitespace-mode
  :config
  :init
    (setq whitespace-line-column nil                      ; highlight past fill-column
          whitespace-style '(face trailing tabs tab-mark lines-tail space-before-tab)
          whitespace-display-mappings '((tab-mark 9 [9657 9] [92 9])))
    (add-hook 'whitespace-mode-hook 'me:set-extra-font-attributes)
    (add-hook 'prog-mode-hook #'whitespace-mode)
  :diminish whitespace-mode)

;; N.B. Disabled because it seems to interfere with popups
(use-package fill-column-indicator
  :disabled
  :config
    (add-hook 'after-change-major-mode-hook (lambda () (if buffer-file-name (fci-mode 1))))
    (setq fci-rule-color "white smoke"))

;; Highlight cursor position in buffer
(use-package beacon
