Change how shell env is injected #449

Changes the behavior of the :env setting to fetch the shell variables
immediately on call.
This commit is contained in:
Henrik Lissner 2018-03-02 19:55:03 -05:00
parent 45096c2ab6
commit 738f39d21a
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
3 changed files with 11 additions and 9 deletions

View file

@ -37,12 +37,12 @@
;; Emacs picks up. `exec-path-from-shell' fixes this.
(when (require 'exec-path-from-shell nil t)
(def-setting! :env (&rest vars)
"Ensure VARs are grabbed from your shell environment."
`(nconc exec-path-from-shell-variables (list ,@vars)))
"Inject VARS from your shell environment into Emacs."
`(exec-path-from-shell-copy-env (list ,@vars)))
(setq exec-path-from-shell-check-startup-files nil
exec-path-from-shell-arguments (delete "-i" exec-path-from-shell-arguments))
(defvaralias 'exec-path-from-shell-debug 'doom-debug-mode)
(add-hook 'emacs-startup-hook #'exec-path-from-shell-initialize)))
(exec-path-from-shell-initialize)))
((require 'osx-clipboard nil t)
(osx-clipboard-mode +1))))

View file

@ -1,20 +1,23 @@
;;; lang/go/config.el -*- lexical-binding: t; -*-
(set! :env "GOPATH" "GOROOT")
;;
;; Plugins
;;
(def-package! go-mode
:mode "\\.go$"
:interpreter "go"
:config
(when (executable-find "goimports")
(setq gofmt-command "goimports"))
(set! :env "GOPATH" "GOROOT")
(set! :repl 'go-mode #'gorepl-run)
(set! :lookup 'go-mode
:definition #'go-guru-definition
:references #'go-guru-referrers
:documentation #'godoc-at-point)
(when (executable-find "goimports")
(setq gofmt-command "goimports"))
(setq gofmt-show-errors nil) ; Leave it to flycheck
(add-hook 'go-mode-hook #'flycheck-mode)
(add-hook! go-mode

View file

@ -1,7 +1,5 @@
;;; lang/python/config.el -*- lexical-binding: t; -*-
(set! :env "PYTHONPATH" "PYENV_ROOT")
(defvar +python-pyenv-root nil
"The path to pyenv's root directory. This is automatically set when `python'
is loaded.")
@ -26,6 +24,7 @@ is loaded.")
:config
(add-hook! 'python-mode-hook #'(flycheck-mode highlight-numbers-mode))
(set! :env "PYTHONPATH" "PYENV_ROOT")
(set! :company-backend 'python-mode '(company-anaconda))
(set! :electric 'python-mode :chars '(?:))
(set! :repl 'python-mode #'+python/repl)