My Emacs Configuration written with a literate programming style
Find a file
Howard Abrams a61b214239 Fix by having dir-locals.el a template
This solves a problem by having it overshadow the emacs lisp template.
2023-12-18 17:16:45 -08:00
data
elisp Fixed a bit of the startup 2023-08-29 12:00:32 -07:00
screenshots Add a screenshot to show how iCanHazShortcuts look 2022-06-30 12:07:24 -07:00
snippets More snippets! 2023-10-10 08:16:42 -07:00
support Fix the dashboard including a function to tell me what is available 2022-04-01 11:35:27 -07:00
templates Fix by having dir-locals.el a template 2023-12-18 17:16:45 -08:00
.gitignore Removing Tree Sitter 2023-09-08 10:58:17 -07:00
beep-notify.wav Fix my code inclusion, like beep and demo-it 2021-12-27 09:46:10 -08:00
bootstrap.org New Mac system shook out some MacOS changes needing incorporation 2023-11-06 09:45:45 -08:00
CONTRIBUTING.md Add CONTRIBUTING and a Code of Conduct 2022-01-10 22:24:49 +00:00
ha-agendas.org Tangling was a mistake 2023-07-10 09:25:40 -07:00
ha-aux-apps.org Fix by having dir-locals.el a template 2023-12-18 17:16:45 -08:00
ha-capturing-notes.org Moved org commands to the main leader, under SPC o 2023-10-12 15:51:12 -07:00
ha-config.org Fix by having dir-locals.el a template 2023-12-18 17:16:45 -08:00
ha-dashboard.org Clean the dashboard by removing all items 2023-09-09 22:10:29 -07:00
ha-data.org Added some more sort features to my "data" commands 2023-08-11 16:38:43 -07:00
ha-display.org New monitors. Font too big! 2023-12-13 11:27:32 -08:00
ha-email.org fix the mail 2023-10-12 21:00:09 -07:00
ha-eshell.org New Mac system shook out some MacOS changes needing incorporation 2023-11-06 09:45:45 -08:00
ha-feed-reader.org Re-org the elfeed-org configuration 2023-10-10 08:12:35 -07:00
ha-irc.org Eschewing a ZNC approach for just directly going into IRC 2023-12-13 11:27:32 -08:00
ha-org-clipboard.org Moved org commands to the main leader, under SPC o 2023-10-12 15:51:12 -07:00
ha-org-graphviz-example.png Minor copyright touchups on my snippets. 2022-03-09 17:14:21 -08:00
ha-org-journaling.org Tangling was a mistake 2023-07-10 09:25:40 -07:00
ha-org-plantuml-example.png Get PlantUML back to working in org mode documents 2022-04-11 20:37:15 -07:00
ha-org-publishing.org Moved org commands to the main leader, under SPC o 2023-10-12 15:51:12 -07:00
ha-org-sprint.org Easier approach to Sprint Names 2023-07-10 09:25:40 -07:00
ha-org-word-processor.org Tangling was a mistake 2023-07-10 09:25:40 -07:00
ha-org.org New Mac system shook out some MacOS changes needing incorporation 2023-11-06 09:45:45 -08:00
ha-passwords.org Redact sensitive information with regular expressions 2023-09-18 10:32:59 -07:00
ha-programming-clojure.org Tangling was a mistake 2023-07-10 09:25:40 -07:00
ha-programming-elisp.org Need to debug Elisp functions more often. 2023-09-09 21:09:28 -07:00
ha-programming-haskell.org Tangling was a mistake 2023-07-10 09:25:40 -07:00
ha-programming-ocaml.org Tangling was a mistake 2023-07-10 09:25:40 -07:00
ha-programming-python.org Tangling was a mistake 2023-07-10 09:25:40 -07:00
ha-programming-ruby.org New Mac system shook out some MacOS changes needing incorporation 2023-11-06 09:45:45 -08:00
ha-programming-rust.org New Mac system shook out some MacOS changes needing incorporation 2023-11-06 09:45:45 -08:00
ha-programming-scheme.org Tangling was a mistake 2023-07-10 09:25:40 -07:00
ha-programming.org Better approach to dealing with the switch in Homebrew 2023-11-18 20:59:22 -08:00
ha-remoting.org Tangling was a mistake 2023-07-10 09:25:40 -07:00
initialize Fix a couple of bugs for 29.1 2023-08-04 08:29:54 -07:00
LICENSE Add LICENSE 2022-01-10 22:10:36 +00:00
README-Linux.org Little more tweaks for Linux and Emacs 2023-07-08 22:26:43 -07:00
README-MacOS.org New Mac system shook out some MacOS changes needing incorporation 2023-11-06 09:45:45 -08:00
README.org Better Dashboard 2022-11-02 20:59:00 -07:00

My Emacs Configuration

My Emacs configuration, that I'm cheekily calling hamacs is a literate programming model heavily inspired by my recent journey into Henrik Lissner's Doom Emacs and Spacemacs. I used both extensively, but decided that I would roll my own as Emacs people tend to be control freaks (at least a little bit).

The other advantage to rolling yer own is that you may use what you add, leading to less bloat, and a more fun experience.

Why yes, feel free to steal whatever you find interesting, as sharing is what makes our community great. Notice that functions and features that I have written begin with ha-, but everything else is either stock Emacs or a package that I download using straight (see bootstrap for how) and configured with use-package (see either this introduction or this wiki page for details)… meaning that most blocks of code should work on its own. Hit me up with questions, @howardabrams. If you want to try this out, after installing Emacs, and cloning this repo, run:

./initialize

This creates ~/.emacs.d/init.el that starts the process loading the files:

bootstrap
configures straight and loads basic libraries the rest of the code depends on. It then loads the following files in order:
config
contains most of my configuration, setting up my sequence key menus, evil, etc.
display
sets up the visual aspects of an Emacs GUI, including themes and fonts.
dashboard
sets up initial window layout of the main project with a dashboard.
org
configures the basics for org-mode formatted files. Specific features come from their own files.
org-word-processor
attempts to make Org files visually look like a word processor, including turning off the colors for headers, and instead increasing their size.
org-clipboard
automatically converting HTML from a clipboard into Org-formatted content.
org-journaling
for writing journal entries and tasks.
org-publishing
code for publishing my website, www.howardism.org.
org-sprint
functions for working with the my Org-focused sprint file.
data
functions for dealing with a buffer-full of data.
eshell
customization and enhancement to the Emacs shell.
remoting
my interface to systems using SSH and Vterm.
email
reading email using notmuch in a Hey fashion.
feed-reader
configuration of elfeed as well as my RSS feeds.
aux-apps
optional applications, like Twitter and Telegram.
capturing-notes
my engineering notebook.
agendas
attempts to "supe-up" my task list.
irc
connection to IRC servers using rcirc and bitlbee.
passwords
code for generating passwords.
programming
configuration for all programming languages, or at least, the simple ones.
programming-elisp
additions to Emacs Lisp programming.
programming-python
configuration for working with Python and LSP.
programming-scheme
configuration for Racket.

Note: Other functions and files come from essays written on my blog. To help with this, see support/final-initialize.el file.