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
)