Personal Emacs configure
My environment:
- Emacs master branch (check Install)
- macOS
All configure files store in ~/.emacs.d that Emacs default path.
Use this repo to compile emacs in my local.
Use straight.el to manage packages. Don't need to install packages manually.
List all languages support and the dependencies that need install in system. All packages which Emacs need in packages file.
- Common Lisp
- SBCL
- Clojure
- lein
- clojure
- Tex
- mactex
- Markdown
- Java (not write for a long while)
- jdk
- Python
- ipython
- autopep8
- Golang
- gopls for lsp
- Swift (not write for a long while)
- Haskell
- cabal
- stylish-haskell (installed by cabal)
- hasktags
- hindent
- Rust
- cargo
- cargo-fmt
- racer
- rustfmt
- HTML & PHP
- Ocaml
- opam
- coq
- elm
- elm-oracle
- julia
- C/Cpp
- gcc install by homebrew, flycheck settings in
lisp/init-c.el
- gcc install by homebrew, flycheck settings in
LSP configuration in lisp/init-lsp.el
Golang
Use Gopls be my LSP
Javascript/Typescript
Use deno be my LSP
Rust
Use rust-analyzer be Rust LSP. Update/Install it by using sbcl --load ./plugins/update-rust-analyzer-v2.lisp. You need has sbcl and quicklisp installed.
Or, which I am using now, rustup component add rust-analyzer can install the rust-analyzer directly.
I use aspell as ispell backend which installed by homebrew in my local machine. Flyspell config does not have single .el file, its require rule in /lisp/init-markdown.el
org-agenda-files is be set by environment variable $ORG_PATH
The custom setting configure at the bottle of init.el. Focus on jdee-jdk-registry, you should change jdk path to your java home dir, or use /Library/Java/Home symbolic link instead of true jdk path.
Some scripts or tools. Get more detail in plugins README
helm uses Ag be "grep" implement. So I install ag in my local and define command in init-helm.el.
forge is the package binding with magit for getting details from Github of this repo.
Several configurations links:
For me, I just make ~/.authinfo like
machine api.github.com login {username}^forge password {github_token}
CAUTION: not stable yet
I use tree-sitter-module build the tree-sitter libraries.
Then move the dylib files to the treesit-extra-load-path ("~/.emacs.d/tree-sitter-libs/"), which set in lisp/init-custom.el)