summaryrefslogtreecommitdiff
path: root/README.org
blob: 5b6d98e5e7de8920e73dbf8c65bcf85f1b73310f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#+title: dotemacs

This repository contains Craig Jennings' modular Emacs configuration.  It is
mirrored at [[https://git.cjennings.net/dotemacs.git][git.cjennings.net]].

* Structure
- *early-init.el* – minimal bootstrap settings loaded before package auto-initialisation.
- *init.el* – orchestrates configuration by loading modules.
- *modules/* – the bulk of the configuration, split into focused modules (Org, programming languages, UI, etc.).
- *custom/* and *assets/* – supporting files, personal data, and extra utilities.
- *themes/* – custom theme tweaks.
- *scripts/* – helper scripts for maintaining this setup.
- *tests/* – ERT tests for many helper functions.

* Highlights
- *Custom helpers* – over *33* ~cj/~ prefixed functions collected in ~modules/custom-functions.el~, bound under a personal ~C-;~ keymap for quick action on text and files.
- *Flyspell & Abbrev* – ~flyspell-and-abbrev.el~ coordinates flyspell with abbrev so every correction can automatically become an expansion.
- *E-book and PDF integration* – ~calibredb~ manages the library, ~nov~ reads EPUBs with custom rendering, and ~pdf-tools~ provides a feature rich PDF viewer (with quick hand-off to external viewers when needed).
- *Org-roam workflow* – daily journals and templated project/topic/recipe notes, helper commands to find nodes by tag, capture tasks straight into projects, and automatically copy completed TODOs to the day’s journal.
- *Org-drill & capture* – flashcard sessions via ~C-d~ bindings and capture templates that pull content from the web, EPUBs, or PDFs for spaced repetition.
- *Org webpage clipper* – ~cj/org-webpage-clipper~ saves a rendered copy of the current page from EWW or W3M directly into an Org file.
- *Org-agenda setup* – ~F8~ opens a custom agenda showing high priority tasks, the schedule, and remaining work; additional commands build task lists from all agenda files or just the current buffer.
- *Dirvish* – replaces Dired with a modern file manager offering quick access shortcuts, external open commands, image conversion, and more.
- *Programmer tools* – relative line numbers, project management with Projectile, ripgrep searching, Yasnippet snippets, symbol overlays, rainbow colors, Tree-sitter, LSP, and other language-specific modules.

* Misc
The configuration is tested with ERT; see the ~tests/~ directory for examples of how functions are exercised.