Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

109 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Emacs configuration

This repository simultaneously contains and documents my GNU Emacs configuration using the literate initialisation style. The configuration is written using org-mode and executed using org-babel-load-file. The init.el file is only used to boot-strap the process.

The main aims and features of this configuration are:

  • Literate programming paradigm via Org-mode Babel
  • Configuration simultaneously versioned and documented on GitHub
  • Package installation and updates managed by use-package
  • Modular configuration

General

GeneralBasic user interface settings
Line numbersLine and column numbering
Global mapDefine modifications to global key map
BackupsConfigure backup~ and #auto-save# management
SpellingSpelling program and on-the-fly spell checking
UndoConfigure undo system
WhitespaceWhitespace management
Recent filesConfigure recently opened files management
RepeatConvenient way to repeat previous commands

Completion

BackendConfigure completion style (backend)
MinibufferConfigure minibuffer completions
At pointConfigure completion at point

Navigation

HydraHydra menu definitions
CursorModifications to default cursor movements
isearchIncremental search
WindowWindow movement and management

Text processing

TextGlobal configuration for text modes
LaTeXConfigurations for LaTeX documents
MarkdownConfigurations for Markdown documents

Programming

ProgrammingGlobal configuration for programming modes
Project managementProject management
GitGit configuration
EdiffEdiff configuration
PythonConfigurations for python development
DockerDocker configuration
YAMLConfigurations for YAML development

Compiling Emacs from source

The Emacs sources can be retrieved from the FTP server of the the GNU project or the development sources can be access via Git on Savannah. An overview of compiling Emacs 29 on a Debian-based distribution is given here. For more information, see the manual and the build instructions in the sources INSTALL file.

Clone the Emacs repository

git clone git://git.savannah.gnu.org/emacs.git
cd emacs

Checkout desired tag

git checkout emacs-29.4

Install dependencies

sudo apt install build-essential
sudo apt build-dep emacs
sudo apt install gcc-12 libgccjit0 libgccjit-12-dev libtree-sitter-dev

Review configuration options

./configure --help

Configure build

./autogen.sh
CC="gcc-12" ./configure         \
  --build=x86_64-linux-gnu      \
  --with-x                      \
  --with-x-toolkit=gtk3         \
  --with-sound=alsa             \
  --without-mailutils           \
  --with-imagemagick            \
  --without-compress-install    \
  --with-tree-sitter            \
  --with-native-compilation=aot \
  --with-json

Compile

make NATIVE_FULL_AOT=1 -j16

Install

sudo make install

About

Emacs configuration

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages