emodule | ||
init-buffer | ||
modules | ||
snippets/org-mode | ||
themes | ||
.gitignore | ||
.gitmodules | ||
CHANGELOG.org | ||
init.el | ||
LICENSE.txt | ||
README.org |
.emacs.d
Emacs version
This configuration is maintained only for the Emacs master branch version. It may work on some older version or you may have to remove the features that rely on the newer Emacs versions. Currently, this configuration uses a few features from Emacs 26 and 27.
Installation
Clone this repository into your home directory:
$ git clone https://github.com/Wojtek242/.emacs.d ~/.emacs.d
This configuration uses the Source Code Pro font. If you do not have it installed and it isn't available through your distribution you can install the font by running
$ git clone https://github.com/adobe-fonts/source-code-pro.git --branch release ~/.local/source-code-pro
$ sudo cp ~/.local/source-code-pro/OTF/*.otf /usr/local/share/fonts
External Support for Programming Languages
This configuration relies uses lsp-mode
for language-specific features.
However, in order to use the LSP features, you need to have the appropriate
language servers installed.
C/C++
Install ccls
from source
$ apt install clang libclang-dev
$ git clone --depth=1 --recursive https://github.com/MaskRay/ccls
$ cd ccls
$ cmake -H. -BRelease
$ cmake --build Release
Ensure Release/ccls
is in your $PATH
.
Python
This configuration assumes python3
and to use the auto-formatting features
you need to have autopep8
installed.
Install the Python language server using pip3
$ pip3 install 'python-language-server[all]'
Rust
Install RLS using rustup
$ rustup component add rls rust-analysis rust-src
Package Management
This .emacs.d
uses its own small framework for package management located
in the emodule directory. Its operation is heavily inspired by Spacemacs,
but is much smaller with fewer features and thus simpler. For instructions,
see its own README file.