Skip to content

rjray/emacs-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Emacs Config

This is a split off of my dotfiles repo, for just the emacs configuration.

This allows me to install the emacs config in places where I might not need the full set of dot-files, or install the dot-files on systems that don't have emacs.

Packages

I have recently switch from managing my external dependencies via package.el, to use-package. Those parts of the config are still somewhat volatile, as I keep finding bits I did either inefficiently or outright incorrectly.

The init.el File

As of 29.1, I've rewritten my configuration to keep pretty much everything in this file. I have per-host directories that have snippets that are only for the particular host (font settings and frame size/placement, generally). But the parts that matter are all in here. Lightly documented in places, but of course not enough.

Additional Software Needed

This is my attempt at a comprehensive list of what needs to be installed for this configuration to work.

The script setup_deps.sh in this directory will check for and install these dependencies (except for the basic items). It will check for the installer programs (Homebrew, npm, etc.) and only install those elements that can be installed. It does not install Emacs, Homebrew, Node.js, Perl, Python, or Rust. It will install the latest OpenJDK and Go from Homebrew along with their Eglot-supporting tools.

Note that while texlab is for LaTeX, no TeX/LaTeX system is installed automatically by the setup script. This is because texlab does not require such an installation in order to operate. It is left to the user to choose a preferred TeX system.

Emacs 29.1 with tree-sitter support can be installed via Homebrew if the distribution doesn't offer it.

YASnippet and Snippets

The directory emacs.d/snippets contains the hierarchy of YASnippet code I use. The structure and relationships (via .yas-parents files) is inspired by the yasnippet-snippets layout. However, as the code therein is licensed under GPL-3.0, I haven't made direct use of any of their snippets other than as inspiration. I don't know enough about the restrictiveness of GPL-3.0 to know whether using one of their snippets would require a similar license for the resulting personal code, so I am opting to be safe.

Build/Installation Notes

Notes on any issues found with getting the above to work.

pdf-tools installation

The configuration now includes use of the pdf-tools package for viewing PDF files. On Ubuntu with Homebrew installed, this failed to build the server piece of the package (epdfinfo). The solution was to build the server (from within the installation directory) with Homebrew paths moved to later in the sequence within $PATH. See this reddit thread for the details.

License

This repository is licensed under the MIT License. See the file LICENSE for details.