This is my Emacs OS. I use it for everything. Here is a summary of my two favorite modules:
EXWM is a window manager for Emacs. It allows you to use Emacs as a window manager. Here are some features my EXWM module provides:
- Full Evil mode (Vim) integration globally for every application.
- Automatic management of non-floating applications into workspaces.
This module provides an entire suite of desktop applications written in Elisp, mostly through Helm and Consult autocompletion interfaces. The current categories of applications are:
- Games.
- Eyecandy. So screensavers and the like.
- System, applications for managing your computer and Emacs OS.
- Music.
- External, applications which interface with a single external service provider like LeetCode.
- Standalone, are Elisp applications which do not communicate with any external
service provider or many, so for example
elfeed
oralarm-clock
.If you have ideas for apps that should be added or removed from this module, feel free to open an issue!
I’ve also added a few custom patches to Emacs, which are available in the
emacs-patches
folder. These patches are:
use-comp-speed-3.patch
: Sets the default compilation speed to 3, which generates faster code than the default of 2.use-custom-cflags-for-native-comp.patch
: Sets custom CFLAGS for native compilation. These flags are specific to my computer but they serve as a good example.use-compilation-safety-0.patch
: Allows native-compiled elisp to misbehave and crash Emacs. This allows for greater speed but less safety. For example, if an elisp function is declared to take a string and return a string, it could crash emacs if it’s passed a nil argument instead if it is compiled with compilation-safety set to 0.
Note: If you use any of these patches on your version of Emacs, you must ensure
bugs are reproducible in an unmodified version of Emacs before reporting them
upstream with M-x report-emacs-bug
.
I am also maintaining my own fork of Doom Emacs where I pre-emptively merge specific Doom Emacs PRs that I am currently using:
https://github.com/lemonbreezes/doomemacs
Note: If you use my version of Doom Emacs and want to report a bug upstream, make sure it is reproducible in an unmodified version Doom Emacs first or report it to my fork’s repository instead.
These are the non-misc-applications leader keybindings for this Emacs config that are in currently enabled modules.
Module or package | Key | Command |
---|---|---|
fi | file-info-show | |
k | ctl-x-map | |
tT | modus-themes-toggle | |
c~ | naming-convention-map | |
cC-v | vline-mode | |
cC-f | font-lock-mode | |
fTAB | find-sibling-file | |
:tools lsp and not :tools lsp +eglot | cTAB | lsp-ui-imenu |
:editor evil | bo | cae-evil-buffer-org-new |
:cae vc | iI | gitignore-templates-insert |
:cae gnus | og | =gnus |
:cae debugger | od | cae-debugger-run-or-pop-to-gdb |
:cae ai | oc | cae-ai-toggle-chatgpt-shell |
:cae ai | oC | chatgpt-shell |
:cae exwm and :editor evil and :cae helm | $ | helm-run-external-command |
:cae holy | F | doom-leader-fold-map |
:cae holy | to | symbol-overlay-mode |