See more here
I would highly recommend you do not use it as-is. Here are a few reasons to hopefully discourage you:
- I have no syntax highlighting
- Not everyone likes Solarized Light as much as I do
- My bindings are haphazard at best, and a chaotic mix between the Emacs & Vim philosophies
- I don't support that one language mode that you can't live without
- I don't use yasnippet
If you're looking for a starting point, check out Chris Barrett's config for tips on getting started
Fine, but you were warned.
- Emacs 25+
- Fira Code
- Fira Code Symbol (this is for ligatures in all
prog-mode
buffers)
wget -O - https://raw.githubusercontent.com/d4ncer/.emacs.d/master/setup.sh | bash
mv ~/.emacs.d ~/.emacs.d.bak
git clone [email protected]:d4ncer/.emacs.d.git ~/.emacs.d
Go setup
Packages to install for Go config:
go get -u -v github.com/nsf/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/kardianos/govendor
go get -u -v golang.org/x/tools/cmd/guru
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v golang.org/x/tools/cmd/goimports
JS setup
Tern setup:
cd lisp/tern
npm install
Required binaries:
npm install -g stylefmt
Binaries for global fallback (this is optional, but highly recommended):
npm install -g eslint flow prettier eslint-config-airbnb eslint-config-prettier \
eslint-plugin-flowtype eslint-plugin-import eslint-plugin-jsx-a11y \
eslint-plugin-prettier eslint-plugin-react
If you do use a global eslint
, you should add a fallback .eslintrc.json
in
your root folder. A sample:
{
"extends": ["airbnb", "prettier", "prettier/flowtype", "prettier/react"],
"env": {
"browser": true,
"jest": true,
"node": true
},
"plugins": ["react", "flowtype"],
"parser": "babel-eslint",
"rules": {
"flowtype/define-flow-type": 1,
"import/no-extraneous-dependencies": ["error", {
"devDependencies": true,
"optionalDependencies": false,
"peerDependencies": false
}
]
}
}
Most of my work is on the frontend, which is reflected in my setup. Some packages of note:
- Evil
- Ivy (with
ripgrep
) - Spacemacs leader keys
- Projectile
- Flycheck
- Magit
- Org
- IBuffer
- Neotree
- Smartparens
- Web
- JS/JSX/HTML/CSS
- Flow
- Tern
- Stylelint
- Prettier
- Elisp
- Go
- Scala
- Haskell
- YAML
- Markdown
- CoffeeScript
- Dockerfile
- Groovy
- RNC
NB In order of importance to me. If you're using my setup and want something supported not on this list, feel free to issue a PR.
- Python
- Java
- OCaml
- TypeScript
- Racket
- I use Marked 2 to preview markdown files. If you
don't have it, or you want to use something, set
markdown-open-command
to point to something else. If you are using Marked 2, here is how you set it up - If you want to tweak the font settings look in
config/rk-faces/rk-theme-base.el
. - I put more effort into some modes than others, hence there are some modes with considered chordal bindings, and some with none. If you notice this, and you'd like to flesh these modes out, please send me a PR!
- Heavily
copiedborrowed & adapted from Chris Barrett's wonderful setup. - Thanks to JH for the setup script