 
 ;; built-in "simple" package
 (use-package simple
+  :hook (( prog-mode text-mode ) . visual-line-mode )
   :ensure nil
   :general
     ("s-n"        #'next-error)
     ("s-p"        #'previous-error)
   :init
-  (add-hook 'prog-mode-hook #'visual-line-mode)
-  (add-hook 'text-mode-hook #'visual-line-mode)
   (add-hook 'visual-line-mode-hook (lambda () (diminish 'visual-line-mode "¶")))
   (add-hook 'auto-fill-mode-hook (lambda () (diminish 'auto-fill-function "⤶")))
   (setq kill-ring-max 200                      ; More killed items

  (evil-mode 1))

(use-package ws-butler
  :init
  (add-hook 'prog-mode-hook #'ws-butler-mode)
  (add-hook 'text-mode-hook #'ws-butler-mode)
  :config
  (setq ws-butler-convert-leading-tabs-or-spaces t)       ; convert according to indent-tabs-mode (but not when smart-tabs-mode on)
  :diminish ws-butler-mode "△")

  :config)

(use-package undo-tree
  :hook ((prog-mode text-mode) . undo-tree-mode)
  :config
  :general
    ("<f4> v"     #'undo-tree-visualize)
