   )
 
 
-;; -- multi-term settings
-(require 'multi-term)
-(setq multi-term-program "/usr/local/bin/bash")
-
-
-;; -- Git gutter
-(prelude-require-packages '(git-gutter))
-(require 'git-gutter)
-(require 'zenburn-theme)
-(require 'diff-hl)
-
-(global-diff-hl-mode -1)    ;; git-gutter works better in terminal than diff-hl
-(global-git-gutter-mode +1)
-(git-gutter:linum-setup)
+;; -- multi-term
+(prelude-require-package 'multi-term)
+(use-package multi-term
+  :config
+  (setq multi-term-program "/usr/local/bin/bash"))
+
+
+;; -- git / diff
+(prelude-require-package 'git-gutter)
+
+(use-package diff-hl
+  :config
+  (global-diff-hl-mode -1))
+
+(use-package git-gutter
+  :after (diff-hl)
+  :requires (linum)
+  :config
+  (global-git-gutter-mode +1)
+  (git-gutter:linum-setup))
 
 (custom-set-variables
  '(git-gutter:modified-sign "!")
  '(git-gutter:added-sign "+")
  '(git-gutter:deleted-sign "-"))
 
-;; copied from zenburn colors set for diff-hl
+(require 'zenburn-theme)
+
 (zenburn-with-color-variables
   (custom-theme-set-faces
    'zenburn
+   ;; copied from zenburn-theme colors set for diff-hl
    `(git-gutter:modified ((t (:foreground ,zenburn-blue
                               :background ,zenburn-blue-2))))
    `(git-gutter:added ((t (:foreground ,zenburn-green+1

(menu-bar-mode 0)
(scroll-bar-mode 0)


;; -- split windows preferably
;;(setq split-width-threshold nil)  ;; vertical split.


;; -- counsel projectile
(prelude-require-package 'counsel-projectile)
(use-package counsel-projectile
  :config
  (counsel-projectile-mode +1))


;; -- calfw
(prelude-require-packages '(calfw calfw-org))


(provide 'general)
