This repository has been archived on 2022-11-18. You can view files and clone it, but cannot push or open issues or pull requests.
emacs/README.org

105 lines
3.2 KiB
Org Mode
Raw Normal View History

#+TITLE: .emacs.d
#+AUTHOR: Wojciech Kozlowski
#+EMAIL: wk@wojciechkozlowski.eu
* Emacs version
2019-08-07 12:10:46 +02:00
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.
2019-08-07 12:10:46 +02:00
To fully leverage the features used in this configuration, Emacs must be
compiled with the right options.
** Native JSON
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).
2019-08-07 12:33:22 +02:00
** Vterm
2019-08-07 12:10:46 +02:00
2019-08-07 12:33:22 +02:00
*** Dynamic modules
~vterm~ uses dynamic modules. In order to enable dynamic modules, Emacs must
be compiled with the ~--with-modules~ option (not enabled by default).
*** Pre-requisites
~vterm~ requires =cmake= and =libtool= to be installed.
*** Directory tracking
To enable directory tracking in vterm, put this in =.zshrc=
#+BEGIN_SRC
2021-09-30 00:06:47 +02:00
vterm_printf(){
printf "\e]%s\e\\" "$1"
2019-08-07 12:33:22 +02:00
}
2021-09-30 00:06:47 +02:00
vterm_prompt_end() {
vterm_printf "51;A$(whoami)@$(hostname):$(pwd)";
}
setopt PROMPT_SUBST
PROMPT=$PROMPT'%{$(vterm_prompt_end)%}'
2019-08-07 12:33:22 +02:00
#+END_SRC
2019-08-07 12:10:46 +02:00
* Installation
Clone this repository into your home directory:
#+BEGIN_SRC
$ git clone https://github.com/Wojtek242/.emacs.d ~/.config/emacs
#+END_SRC
2019-08-07 12:10:46 +02:00
This configuration uses the [[https://github.com/adobe-fonts/source-code-pro][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
#+BEGIN_SRC
$ 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
#+END_SRC
2019-08-07 12:10:46 +02:00
Once the initial setup completes, you also need to run the following in Emacs
#+BEGIN_SRC
M-x all-the-icons-install-fonts
#+END_SRC
* 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++
2021-08-30 18:00:51 +02:00
Emacs will automatically download ~clangd~ if it isn't installed already.
** Python
2021-08-30 18:00:51 +02:00
Emacs will automatically download ~pyright~ if it isn't installed already. Note that this
requires ~npm~ to be installed.
2019-08-07 12:10:46 +02:00
** Rust
2021-08-30 18:00:51 +02:00
Install ~rust-analyzer~.
* Package Management
2019-08-07 12:10:46 +02:00
This =.emacs.d= uses its own small framework for package management located in
the [[emodule][emodule]] directory. Its operation is heavily inspired by [[http://spacemacs.org/][Spacemacs]], but is
much smaller with fewer features and thus simpler. For instructions, see its
own [[emodule/README.org][README file]].
* Theme
The theme in use started with the =underwater= theme and has been heavily
modified, with inspiration from the [[http://spacemacs.org/][Spacemacs]] theme, to add support for all
new faces introduced by the installed packages.
The theme files are located in the [[themes][themes]] directory.