This setup guide is a collection of suggestions to turn Emacs into a (sort of) complete development environment for Erlang and Elixir.
It is not a complete solution like Spacemacs, but instead it shows various options for setting up Your environment.
The only prerequisites are that the following components are installed on Your system:
This setup guide is currently developped and tested only on a Ubuntu 14.04 64 bit system. It has to be tested and verified on other systems as well!!!
- basic things
- setup
git
user information
- setup
- basic emacs stuff
- user setup
- neotree
- projectile
- helm
- help-projectile
- projective (optional)
- magit
- company
- powerline
- markdown-mode+
- VI for Emacs
- EVIL (optional)
- powerline-evil
- Erlang/OTP related
- erlang-mode
- alchemist
- Elixir related
- elixir-mode
- alchemist
Before You clone this repository, You should check Your environment:
- Can You start Erlang's shell
erl
? Hint: To terminateerl
enterq().
followed byRETURN
. - Can You start Elixir's shell
iex
? Hint: To terminateiex
enterCTRL+c
followed by 'a'. - Can You start Emacs?
Hint: To exit
emacs
with only keystrokes enterCTRL+x
followed byCTRL+c
. - Do You know where Your
.emacs
file is? - Do You know where Your
.gitconfig
file is?
There are three example files:
dot-emacs-example
: an emacs configuration file.emacs
dot-gitconfig-example
: a git configuration file.gitconfig
dot-gitignore_global-example
: an additional file for git with default excludes.gitignore_global
TBD: There are files in an unixish environment, like Linux, Ubuntu, and should be the same for Mac OS X. Are they also valid for Windows systems?
This is an optional step, but You should really do this. If You don't use git, but another source control management system, check with it manuals for similar steps.
Check if Your Name and E-Mail address is correct.
This is information is located in Your .gitconfig
file:
[user]
name = Firstname Lastname
email = emailname@example.com
Having global exclude patterns, so You don't have to include them in every project as well, is a two part process:
First check You .gitconfig
file:
[core]
excludesfile = ~/.gitignore_global
And afterwards have a look at .gitignore_global
:
# editor files
*~
.*.swp
.~lock.*.od*#
core
# erlang related
*.beam
erl_crash.dump
There are just some example patterns.
Careful with the patterns used... Just don't forget about the .gitignore_global
file.
- Ubuntu 14.04, but it should run on 12.x and more recent systems as well