Skip to content

Latest commit

 

History

History
90 lines (66 loc) · 4.22 KB

README.org

File metadata and controls

90 lines (66 loc) · 4.22 KB

Cyber Angel Emacs

./media/cyber-angel.jpg

This is my Emacs OS. I use it for everything. Here is a summary of my two favorite modules:

EXWM: Emacs X Window Manager

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:

  1. Full Evil mode (Vim) integration globally for every application.
  2. Automatic management of non-floating applications into workspaces.

Misc Applications

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:

  1. Games.
  2. Eyecandy. So screensavers and the like.
  3. System, applications for managing your computer and Emacs OS.
  4. Music.
  5. External, applications which interface with a single external service provider like LeetCode.
  6. Standalone, are Elisp applications which do not communicate with any external service provider or many, so for example elfeed or alarm-clock.

    If you have ideas for apps that should be added or removed from this module, feel free to open an issue!

Custom Emacs Patches

I’ve also added a few custom patches to Emacs, which are available in the emacs-patches folder. These patches are:

  1. use-comp-speed-3.patch: Sets the default compilation speed to 3, which generates faster code than the default of 2.
  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.
  3. 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.

My custom fork of Doom Emacs

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.

Leader key bindings

These are the non-misc-applications leader keybindings for this Emacs config that are in currently enabled modules.

Module or packageKeyCommand
fifile-info-show
kctl-x-map
tTmodus-themes-toggle
c~naming-convention-map
cC-vvline-mode
cC-ffont-lock-mode
fTABfind-sibling-file
:tools lsp and not :tools lsp +eglotcTABlsp-ui-imenu
:editor evilbocae-evil-buffer-org-new
:cae vciIgitignore-templates-insert
:cae gnusog=gnus
:cae debuggerodcae-debugger-run-or-pop-to-gdb
:cae aioccae-ai-toggle-chatgpt-shell
:cae aioCchatgpt-shell
:cae exwm and :editor evil and :cae helm$helm-run-external-command
:cae holyFdoom-leader-fold-map
:cae holytosymbol-overlay-mode