My Emacs Configuration written with a literate programming style
Find a file
2023-04-06 21:58:41 -07:00
data Add generate password system 2021-11-15 16:18:31 -08:00
elisp When Emacs starts, my Mac now pronounces it correctly 2023-03-15 09:28:26 -07:00
screenshots Add a screenshot to show how iCanHazShortcuts look 2022-06-30 12:07:24 -07:00
snippets Convert to lower-case #+BEGIN_SRC blocks 2022-06-17 17:25:47 -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 Sprint numbering for 2023 2023-02-01 08:19:20 -08:00
.gitignore Integration with ripgrep and wgrep 2021-12-29 09:34:48 -08:00
beep-notify.wav Fix my code inclusion, like beep and demo-it 2021-12-27 09:46:10 -08:00
bootstrap.org If I have a bug, let's see if we can keep going. 2023-04-03 09:24:52 -07:00
CONTRIBUTING.md Add CONTRIBUTING and a Code of Conduct 2022-01-10 22:24:49 +00:00
ha-agendas.org Update the copyright year 2023-02-23 09:35:36 -08:00
ha-aux-apps.org Fix a bug 2023-04-01 16:32:16 -07:00
ha-capturing-notes.org Update the copyright year 2023-02-23 09:35:36 -08:00
ha-config.org Add a transpose window orientation 2023-04-01 16:32:16 -07:00
ha-dashboard.org Swap clever parens for lispyville 2023-03-17 19:19:55 -07:00
ha-data.org Update the copyright year 2023-02-23 09:35:36 -08:00
ha-display.org Let's use Prot's backup git clone for pulsar 2023-04-01 16:38:53 -07:00
ha-email.org If I have a bug, let's see if we can keep going. 2023-04-03 09:24:52 -07:00
ha-eshell.org Update the copyright year 2023-02-23 09:35:36 -08:00
ha-feed-reader.org Update the copyright year 2023-02-23 09:35:36 -08:00
ha-irc.org Local leader bound to comma 2023-03-15 09:28:26 -07:00
ha-org-clipboard.org Update the copyright year 2023-02-23 09:35:36 -08:00
ha-org-graphviz-example.png Minor copyright touchups on my snippets. 2022-03-09 17:14:21 -08:00
ha-org-journaling.org Update the copyright year 2023-02-23 09:35:36 -08: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 Update the copyright year 2023-02-23 09:35:36 -08:00
ha-org-sprint.org Update the copyright year 2023-02-23 09:35:36 -08:00
ha-org-word-processor.org Finally got litagures working on my Mac 2023-04-01 16:32:16 -07:00
ha-org.org HTML Export is not more attractive in dark mode. 2023-04-03 09:29:08 -07:00
ha-passwords.org Update the copyright year 2023-02-23 09:35:36 -08:00
ha-programming-clojure.org Change leader to comma and forgot some bindings 2023-04-01 16:32:16 -07:00
ha-programming-elisp.org Ouch. What an embarrassing bug. 2023-04-01 16:32:16 -07:00
ha-programming-haskell.org Update the copyright year 2023-02-23 09:35:36 -08:00
ha-programming-ocaml.org Update the copyright year 2023-02-23 09:35:36 -08:00
ha-programming-python.org Change leader to comma and forgot some bindings 2023-04-01 16:32:16 -07:00
ha-programming-ruby.org Getting Ruby working better 2023-04-01 16:32:16 -07:00
ha-programming-rust.org Update the copyright year 2023-02-23 09:35:36 -08:00
ha-programming-scheme.org Update the copyright year 2023-02-23 09:35:36 -08:00
ha-programming.org Time to play with tree-sitter now that I have v29 2023-04-06 21:58:41 -07:00
ha-remoting.org Update the copyright year 2023-02-23 09:35:36 -08:00
initialize Changes for working on Linux 2023-03-23 22:28:06 -07:00
LICENSE Add LICENSE 2022-01-10 22:10:36 +00:00
README-MacOS.org Capturing windows look better with v29 2023-04-01 16:32:16 -07: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.