lib | ||
logos | ||
thwap.d | ||
.gitignore | ||
config.png | ||
early-init.el | ||
init.el | ||
README.org |
T.H.W.A.P. Emacs Configuration
I recently advised someone against rolling their own emacs configuration. Then I did it, because I'm smart like that. As it turns out, yeah, I was wrong. The result of rolling my own is a nice fast distribution that is somewhat opinionated.
No doubt I've been helped along that journey by much reading and worthy YouTube Emacs content. And in that spirit I am publishing this configuration, and endeavoring to ensure that it is well commented and documented. If you have questions, concerns, or suggestions, feel free to start a discussion by opening an issue. If you have suggestions, and can't be asked to interact with someone, I get it, feel free to send a PR and we can communicate through code if that works for you.
Installation
Simply clone this repository as your ~/.emacs.d directory and start emacs.
$ test -d ~/.emacs.d && mv ~/.emacs.d ~/emacs.d
$ git clone https://github.com/fuzzy/thwapmacs ~/.emacs.d
$ emacs # start up emacs in the normal way and let it bootstrap
This configuration bootstraps and uses straight.el to manage all package installations.
Once you get emacs started, you will quickly find, that it is nearly as minimal as it can be. straight.el and use-package will have been bootstrapped, along with golden-ratio. There is a handy note in the keybindings listed on the dashboard telling you which keys to press, in order to get to the customization group. From there, you can enable and configure all of the avaiable layers of support. That keybinding for reference, is C-c t C-c.
Help
All keybindings set in this configuration are listed on the dashboard. Any other keybindings set by this configuration were the recommended defaults from the package. If a non-default was chosen, it is listed in the help information on the dashboard.
Additionally, with any custom configuration you may do, if you wish your keybindings to be added to the thwap-map, you may do so with the provided thwap/add-key-binding function, like so:
(thwap/add-key-binding
"M-s"
'org-edit-special
"Edit the source at this point, in it's native mode")
This will prefix it with C-c t like all other T.H.W.A.P. Emacs commands, but it will also place the help message into the dashboard's greeting message as a reminder.
Features
T.H.W.A.P. Emacs (or thwapmacs) is configured to be minimal out of the box, however has rich support for many different packages. All of these are off by default with VERY few exceptions. Below you will find a list of all the optional packages that are natively supported. Further, we'll go over how you can add your own configuration options and take advantage of the configuration interface.
Non-Optional packages
- straight.el - straight works with use-package to fetch and setup local installations.
- use-package - use-package is a fantastic package management system for local installs.
- golden-ratio.el - Window size management for split buffers. Quite handy.
- emacs-dashboard - A nice handy startup screen, filled with fun facts and stuff.
- yasnippet - A handy snippet/macro system for commonly used bits.
Optional packages
- eglot - Emacs Polyglot LSP library (seems like everything uses this).