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.
To fully leverage the features used in this configuration, Emacs must be compiled with the right options.
This configuration uses lsp-mode
for some programming languages which is
much faster if Emacs is compiled with native JSON support. Emacs will by
default compile with native JSON support if the jansson
library is present
(including headers).
vterm
uses dynamic modules. In order to enable dynamic modules, Emacs must
be compiled with the --with-modules
option (not enabled by default).
vterm
requires cmake
and libtool
to be installed.
To enable directory tracking in vterm, put this in .zshrc
vterm_printf(){ printf "\e]%s\e\\" "$1" } vterm_prompt_end() { vterm_printf "51;A$(whoami)@$(hostname):$(pwd)"; } setopt PROMPT_SUBST PROMPT=$PROMPT'%{$(vterm_prompt_end)%}'
Clone this repository into your home directory:
$ git clone https://github.com/Wojtek242/.emacs.d ~/.config/emacs
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
Once the initial setup completes, you also need to run the following in Emacs
M-x all-the-icons-install-fonts
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.
Emacs will automatically download clangd
if it isn’t installed already.
Emacs will automatically download pyright
if it isn’t installed already. Note that this
requires npm
to be installed.
Install rust-analyzer
.
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.
The theme in use started with the underwater
theme and has been heavily
modified, with inspiration from the Spacemacs theme, to add support for all
new faces introduced by the installed packages.
The theme files are located in the themes directory.