This is my config for GNU Emacs. It won’t work with GNU Emacs 24 and older versions. Tables with customized keybindings are here.
If you want to reuse any of my own code from this repository, feel free to do it. I’d appreciate comments linking to my repository before function definitions from here, but they’re not necessary. I didn’t put any license on this repository to avoid possible conflicts with extensions.
I hold my settings specific to my Arch installation in
~/.emacs.d/config/my-local.el
. You can put your own customizations there if
you want to use my config.
- Arch GNU/Linux
- Android 5.0 with Termux (wasn’t tested in a while)
- Multiple versions of Windows (using the native build from the GNU FTP)
- Haiku
On Unix-like operating systems such as GNU/Linux and on Termux:
cd ~ git clone https://github.com/UwUnyaa/.emacs.d.git
You can update this config with git pull
.
You’ll need git installed to pull in dependencies with straight.el. Most packages are pulled straight from the master branch of each repo.
Make sure you don’t have a file named .emacs
in your home directory, because
it overrides ~/.emacs.d/init.el
.
If you are on Windows NT, copy .emacs.d
to %appdata%
. You’ll need to set
up the HOME
environment variable on older versions of Windows, and copy this
config there.
The default font is set to DejaVu Sans Mono, it tends to come with modern versions of Windows and might be preinstalled in your distro. Emacs should fall back to something sane, but installing it is highly recommended.
README.org
- This file.
init.el
- The first file from this repo that is loaded. It only contains code that loads other files. No customizations should go in there.
my-defuns.el
- Definitions of custom functions (in this case ones that use default dynamic scoping.)
my-defuns-lexical.el
- Definitions of functions that rely on lexical scoping. Mostly functions that generate closures.
my-customization.el
- Contains basic general Emacs customization, and customization for modes that come with it out of the box.
my-straight-init.el
- Contains the straight.el bootstrap snippet.
my-straight-packages.el
- Defines dependencies of this config.
my-extensions.el
- Customization for added extensions.
my-local.el
- Untracked file for installation-specific settings.
This directory contains .org
files with additional documentation. More files
might be added to it in the future.
changed-keybindings.org
- Tables listing changed keybindings.
This directory contains snippets for yasnippet
, each major mode gets its own
directory, and file names reflect the key that triggers snippet expansion.
Since this configuration is version controlled via git, you can check out old commits to see how this repository changed over time as well as seeing parts of it that were deprecated.
Here are some possibly interesting commits in this repository:
- fd2a7db84e315ed3980fe3ce86535e36aa6c7b0a
- the last commit before I moved
to use
straight.el
as my package manager, contains code that automagically sets upload-path
as well as a simple function to generate autoload files.