Having some issues with PATH
settings on Emacs that are affecting my Haskell environment:
I'm using ZSH, and when I go to the command line and call echo $PATH
, it returns: /Users/g/Library/Haskell/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
This is coming from .zprofile
configuration where I have:
# Set the list of directories that Zsh searches for programs.
path=(
~/Library/Haskell/bin
/usr/local/{bin,sbin}
$path
)
So, from command line, when I call which cabal
, I correctly get: /Users/g/Library/Haskell/bin/cabal
When I start Emacs and go to the shell
and call which cabal
, I get: /usr/bin/cabal
which is causing me issue since it's a different version.
When I inspect echo $PATH
from the Emacs shell
, I see: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/g/Library/Haskell/bin:/usr/local/sbin
I've no idea how on earth the PATH
can be different...
Anyone knows how to get my ZSH
shell and Emacs to agree on the same PATH
? I suspect that's what's controlling where cabal
is being loaded from.
UPDATE: Running echo $SHELL
from Emacs prints: /bin/zsh
UPDATE 2: This is on OSX.
UPDATE 3: I have tried to use exec-path-from-shell module and it does not work. I still have same issues, and as a side effect, it messes up my terminal theme colours :(
UPDATE 4: I've installed Emacs via brew install --cocoa --srgb emacs
and I run emacs that's linked this way:
~ ❯❯❯ which emacs
/usr/local/bin/emacs
~ ❯❯❯ l /usr/local/bin/emacs
lrwxr-xr-x 1 g admin 30B 29 Jan 18:34 /usr/local/bin/emacs -> ../Cellar/emacs/24.4/bin/emacs
~ ❯❯❯ l /usr/local/Cellar/emacs/24.4/bin/emacs
-r-xr-xr-x 1 g admin 87B 29 Jan 18:34 /usr/local/Cellar/emacs/24.4/bin/emacs