/dotemacs

My Emacs configuration

Primary LanguageOrgDo What The F*ck You Want To Public LicenseWTFPL

DotEmacs

https://img.shields.io/github/license/angrybacon/dotemacs.svg?style=flat-square https://img.shields.io/github/forks/angrybacon/dotemacs.svg?style=flat-square https://img.shields.io/github/stars/angrybacon/dotemacs.svg?style=flat-square https://img.shields.io/github/commit-activity/m/angrybacon/dotemacs.svg?style=flat-square https://img.shields.io/tokei/lines/github/angrybacon/dotemacs.svg?style=flat-square

https://img.shields.io/badge/arch-yes-success.svg?logo=archlinux&style=flat-square https://img.shields.io/badge/macos-yes-success.svg?logo=apple&style=flat-square https://img.shields.io/badge/windows-untested-important.svg?logo=windows&style=flat-square

This repository contains my personal Emacs configuration.

What the .el

If you are wondering where has gone all of the Lisp, fear not, for it is automagically tangled from an Org file into a Lisp file. See dotemacs.org.

Installation

Tested daily on Arch and MacOS.

I trust your Google-fu. Try and make the most of the below notes.

Dependencies

janssonEnable native JSON parsing
libvtermEnable terminal emulation within Emacs
pinentryEnable pass prompts within Emacs
ripgrepPrefer rg over grep

Emacs

Clone the repository into your user directory.

git clone git@github.com:angrybacon/dotemacs.git ~/.config/emacs/

There used to be Git submodules under lisp/. Since I’m basically the only consumer of these packages and that they mostly exist to clean up my configuration, I don’t plan on releasing any of them anytime soon. So they’re back to being simple directories for now.

The configuration is used daily under latest Emacs and doesn’t guard against undefined functions from earlier versions (by choice).

Linux

See https://github.com/angrybacon/dot/blob/master/LINUX.org#emacs.

MacOS

Living on the edge, install Emacs 29.

I prefer emacs-plus for its additional compilation flags, specifically the ability not to have a title bar ie. fake fullscreen since it has its downsides on macOS.

brew tap d12frosted/emacs-plus
brew install emacs-plus@29 --with-native-comp

The configuration also assumes GNU utilities are available, in particular ls since dired relies on it.

Icons

The mode-line utilizes features from all-the-icons.

Run the following command when you start this configuration for the first time in order to download the required fonts on your system.

M-x all-the-icons-install-fonts RET

Language Servers

In order for Emacs to connect to the LSP servers, install the language-specific dependencies.

paru -S typescript-language-server

Window Manager

Emacs can be used as a window manager under Linux. See DESKTOP.org.