     (indent-according-to-mode)))
 
 (defun complete-or-indent ()
-    (interactive)
-    (if (company-manual-begin)
-        (company-complete-common)
-      (indent-according-to-mode)))
+  (interactive)
+  (if (company-manual-begin)
+      (company-complete-common)
+    (indent-according-to-mode)))
 
 (defadvice kill-line (before check-position activate)
   (if (and (eolp) (not (bolp)))
       (progn (forward-char 1)
 	     (just-one-space 0)
-             (backward-char 1))))
-
+	     (backward-char 1))))
 
 (electric-indent-mode 1)
 
-;;(global-set-key [tab] 'indent-or-complete)
+(use-package lisp-mode
+  :config
+  (progn
+    (bind-key "M-/" 'company-complete emacs-lisp-mode-map)
+    (add-hook 'emacs-lisp-mode-hook 'company-mode t)))
+
+(use-package ffap
+  :config (ffap-bindings))
+
+(setq exec-path-from-shell-debug t)
+
+(use-package exec-path-from-shell
+  :ensure t
+  :init
+  (progn
+    (dolist (var '("GOPATH" "SSH_AUTH_SOCK" "SSH_AGENT_PID" "GPG_AGENT_INFO" "LANG" "LC_CTYPE"))
+      (add-to-list 'exec-path-from-shell-variables var)))
+  :idle (exec-path-from-shell-initialize))
+
+;; (use-package exec-path-from-shell
+;;   :ensure t
+;;   :defer nil
+;;   :init
+;;   (progn
+;;     (dolist (var '("GOPATH" "SSH_AUTH_SOCK" "SSH_AGENT_PID" "GPG_AGENT_INFO" "LANG" "LC_CTYPE"))
+;;       (add-to-list 'exec-path-from-shell-variables var)))
+;;   :idle
+;;   (exec-path-from-shell-initialize))
+
+(defun aim/run-go-buffer ()
+  (interactive)
+  (shell-command (format "go run %s" (buffer-file-name (current-buffer)))))
+
+(use-package git-gutter-fringe
+  :ensure t)
+
+(use-package git-gutter
+  :ensure t
+  :config
+  (global-git-gutter-mode +1))

  :mode ("\\.cmake$" . cmake-mode)
  :ensure t)

(use-package exec-path-from-shell
  :ensure t
  :init
  (progn
    (dolist (var '("GOPATH" "SSH_AUTH_SOCK" "SSH_AGENT_PID" "GPG_AGENT_INFO" "LANG" "LC_CTYPE"))
      (add-to-list 'exec-path-from-shell-variables var)))
  :config
  (exec-path-from-shell-initialize))

(use-package ag
  :ensure t

    (set-face-underline 'flycheck-warning nil)))

(use-package ibuffer
  :config
  (progn
    (global-set-key (kbd "C-x C-b") 'electric-buffer-list)))

