   (bind-key "C-M-\\" 'clang-format-region c++-mode-map)
   (bind-key "C-i" 'clang-format c++-mode-map))
 
-(use-package ag)
-(use-package helm-ag
-  :init
-  (setq helm-ag-insert-at-point 'symbol)
-  (add-hook 'helm-ag-mode-hook (lambda () (grep-mode))))
-
-(use-package projectile
-  :diminish projectile-mode
-  :bind ("C-c C-f" . projectile-find-file)
-  :init
-  (projectile-global-mode)
-  :bind ("M-g" . helm-projectile-ag))
-
 (use-package helm
   :defer t
-  :init
-  ;; (setq helm-M-x-fuzzy-match t)
-  (helm-push-mark-mode 1)
-  (define-key global-map [remap list-buffers] 'helm-buffers-list)
+  :config
+  (progn
+    (require 'helm-config)
+    ;; (setq helm-M-x-fuzzy-match t)
+    (helm-push-mark-mode 1)
+    (define-key global-map [remap list-buffers] 'helm-buffers-list))
   ;; (define-key global-map [remap dabbrev-expand] 'helm-dabbrev)
   :bind (("M-x" . helm-M-x)
          ("C-x b" . helm-buffers-list)

         ("M-y" . helm-show-kill-ring)
         ("M-G" . helm-do-grep-ag)
         ("C-c <SPC>" . helm-all-mark-rings)))

(use-package helm-descbinds
  :config (helm-descbinds-mode))

      (browse-url (concat "file://" tmpfile))))
  (add-to-list 'mu4e-view-actions
               '("View in browser" . mu4e-msgv-action-view-in-browser) t)
  (use-package helm-mu
    :config (define-key mu4e-headers-mode-map (kbd "C-s") 'helm-mu))
  (defun run ()
    (interactive)
    (mu4e)
