My Emacs Configuration written with a literate programming style
Find a file
2022-11-24 23:16:34 -08:00
data Add generate password system 2021-11-15 16:18:31 -08:00
elisp Beep to call consult instead of counsel. 2022-05-10 11:26:55 -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 Convert to lower-case #+BEGIN_SRC blocks 2022-06-17 17:25:47 -07: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 Better Dashboard 2022-11-02 20:59:00 -07:00
CONTRIBUTING.md Add CONTRIBUTING and a Code of Conduct 2022-01-10 22:24:49 +00:00
ha-agendas.org Convert to lower-case #+BEGIN_SRC blocks 2022-06-17 17:25:47 -07:00
ha-aux-apps.org Let's hear it for Mastodon! 2022-11-15 11:07:18 -08:00
ha-capturing-notes.org Fix capturing bug to better hold source code 2022-10-31 20:58:15 -07:00
ha-config.org Replace neotree with dirvish 2022-11-24 23:05:39 -08:00
ha-dashboard.org Fix dashboard display 2022-11-24 23:16:34 -08:00
ha-data.org Global regular expression replacement 2022-10-25 21:47:48 -07:00
ha-display.org Replace neotree with dirvish 2022-11-24 23:05:39 -08:00
ha-email.org Send email without invoking notmuch's backend 2022-09-23 22:03:52 -07:00
ha-eshell.org Fix dashboard display 2022-11-24 23:16:34 -08:00
ha-feed-reader.org Minor tweaks ... starting on repeating commands 2022-10-25 22:07:12 -07:00
ha-irc.org Convert to lower-case #+BEGIN_SRC blocks 2022-06-17 17:25:47 -07:00
ha-org-clipboard.org Converted my piper to a data-oriented functions 2022-10-17 20:49:00 -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 Convert to lower-case #+BEGIN_SRC blocks 2022-06-17 17:25:47 -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 Convert to lower-case #+BEGIN_SRC blocks 2022-06-17 17:25:47 -07:00
ha-org-sprint.org Fixed bug in my Sprint renumbering system 2022-11-07 20:47:03 -08:00
ha-org-word-processor.org Consistent straight access to github/gitlab projects 2022-08-09 09:57:20 -07:00
ha-org.org Add block level movement in org-files. 2022-11-03 22:18:08 -07:00
ha-passwords.org Convert to lower-case #+BEGIN_SRC blocks 2022-06-17 17:25:47 -07:00
ha-programming-clojure.org Minor formatting changes for Clojure setup 2022-09-12 22:09:26 -07:00
ha-programming-elisp.org Fixed that single quotes should behave in Lisp modes. 2022-08-22 15:58:30 -07:00
ha-programming-haskell.org Basic Haskell configuration 2022-08-25 11:24:14 -07:00
ha-programming-ocaml.org Swapping corfu in for company 2022-10-21 22:08:02 -07:00
ha-programming-python.org Replacing LSP-Mode with EGLOT 2022-08-09 21:29:41 -07:00
ha-programming-ruby.org Initial configuration for Ruby programming 2022-09-02 16:14:10 -07:00
ha-programming-rust.org Initial integration for Rust programming 2022-08-29 09:22:51 -07:00
ha-programming-scheme.org Consistent straight access to github/gitlab projects 2022-08-09 09:57:20 -07:00
ha-programming.org Compile command can "send" commands to shells 2022-11-24 23:13:09 -08:00
ha-remoting.org Fix some bugs based in eshell and vterm 2022-11-24 23:10:38 -08:00
initialize Sqlite in a tailspin 2022-07-26 21:10:25 -07:00
LICENSE Add LICENSE 2022-01-10 22:10:36 +00:00
README-MacOS.org Instructions for rebuilding Emacs the link error 2022-10-01 22:05:17 -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.