 (require-package 'go-mode)
 (require-package 'go-autocomplete)
 (require-package 'flycheck-gometalinter)
+(require-package 'go-eldoc)
 
 ; dafuq is up with autoloads?
-;(load "go-mode.el")
+(load "go-mode.el")
 
 (require 'go-autocomplete)
 (setq-default ac-go-expand-arguments-into-snippets t)
 
-; Installed by thesetup
-(load-file (concat "/Users/" (getenv "USER") "/src/golang.org/x/tools/cmd/guru/go-guru.el"))
-(load-file (concat "/Users/" (getenv "USER") "/src/golang.org/x/tools/refactor/rename/go-rename.el"))
+; Needs to be installed
+(load-file (concat (getenv "HOME") "/src/golang.org/x/tools/refactor/rename/go-rename.el"))
 
 (eval-after-load 'flycheck
   '(add-hook 'flycheck-mode-hook #'flycheck-gometalinter-setup))

;; Only run the 'fast' linters
(setq flycheck-gometalinter-fast t)

(defun my-go-mode-hook ()
  ;; Use goimports instead of go-fmt
  (setq gofmt-command "goimports")
  ;; Call Gofmt before saving
  (add-hook 'before-save-hook 'gofmt-before-save)


;; skips 'vendor' directories and sets GO15VENDOREXPERIMENT=1
(setq flycheck-gometalinter-vendor t)
;; disable linters
(setq flycheck-gometalinter-disable-linters '("vetshadow")) ; this is noisy with if err := blocks
;; Only enable selected linters
;(setq flycheck-gometalinter-disable-all t)
;(setq flycheck-gometalinter-enable-linters '("golint"))
