My personal Emacs configuration. It requires Emacs 28.
This repository should be cloned in the home folder of the current user.
This Emacs configuration requires the creation of a file named local-settings.el
in the folder ~/.emacs.d
.
The local-settings.el
file is used for configurations that vary depending on the computer. Refer to the example below.
;; org-settings.el calls this function to configure the directory for org agenda
(defun local-settings-set-org-agenda-files ()
(setq org-agenda-files (list "~/notes")))
;; Configure which folders are scanned by Magit when listing repositories (`C-c g r`)
(setq magit-repository-directories '(("~/.emacs.d" . 0)
("~/repos" . 1)))
;; Path to the LanguageTool jar
(setq langtool-language-tool-jar "~/bin/LanguageTool-4.7/languagetool-commandline.jar")
An environment variable named HOME
is required on a Windows OS to allow Emacs to find the .emacs.d
folder. The value of HOME
must be the absolute path to the home folder of the current Windows user (where the .emacs.d
repo should have been cloned). Magit also needs the HOME
variable to execute git push from Windows.
The fonts from all-the-icons.el must be installed since many packages use them.
Pandoc is necessary to preview markdown documents with markdown-mode.
Many packages depend on the search tool RipGrep.
ShellCheck is used for static analysis of shell scripts by flycheck.
Node and npm are required for many JavaScript libraries.
Run install-node-deps.sh
to install the Node dependencies of this configuration.
./install-node-deps.sh
This Emacs configuration needs a JDK available in the path of the OS.
LanguageTool is a tool for language spelling, style and grammar.
The variable langtool-language-tool-jar
must be configured with its path in the file local-settings.el
.
The tables of contents of this repository are generated with a Bash script.
./generate-toc.sh
See keybindings.md for a list of commonly used keybindings.
The packages used by this Emacs configuration are grouped in categories. The package management is defined in init.el
. For the other categories, a file suffixed with -settings.el
is available in /settings
.
See packages.md for a list of all the included packages.