This is a repository for Emacs Lisp packages that I think could be useful for friends and coworkers. It’s an experimental, low-pressure space for me just to hack on Lisp with the garage door open.
If something reaches a stable state I may publish it if there’s interest.
This repository contains a mix of end-user libraries and supporting libraries. The interesting stuff is listed below.
org-roam-review (incubating)
Implements a system for managing Evergreen Notes on top of org-roam. Provides a spaced-repetition system that prompts you to review notes or revisit stubs and help them grow to maturity.
org-roam-dblocks (incubating)
Add org dynamic blocks that implement “canned searches” for org-roam. You can search for notes or list backlinks, then do additional filtering based on title or tags.
org-roam-search (incubating)
Search your org-roam files for a string and display a buffer of results. Results are shown with collapsible previews, like in the org-roam buffer.
org-roam-links (incubating)
Display a tree of backlinks and forward links up to a configurable depth. Useful for looking for unexpected connections without busting open a full-fledged graph UI. Contrasts with the normal org-roam buffer, which only shows backlinks.
org-roam-consult (incubating)
A version of consult-ripgrep
that shows node titles instead of filenames so you
don’t have to guess anymore.
org-roam-slipbox (incubating)
Automatically tag nodes according to the name of the directory they’re in, and easily refile between these directories.
org-roam-gc (spike)
Automatically delete empty dailies files so they don’t build up forever.
org-roam-rewrite (spike)
Commands for renaming nodes, rewriting links and deleting nodes with redirection so you can refactor notes without leaving broken links.
timekeep (spike)
Provides a structured way to use org-roam for representing multiple clients/employers. It provides a simple clocking interface built on org-clock and provides integrations with org-capture.
org-roam-refill-previews (spike)
Refill previews in the backlinks buffer so they fit the window.
org-roam-lazy-previews (spike)
Compute previews lazily for much better performance in buffers with many backlinks or reflinks.
org-format (spike)
Formatter for org-mode files to ensure consistency.
ert-bdd (spike)
BDD-style test syntax for ERT.
Most packages should be manually installable via package.el
, assuming you have
MELPA set up. But honestly, you’re better off just cloning this repo and putting
its lisp directory in your load path, then installing anything missing. 🤷
- Clone the repo:
$ git clone [email protected]:chrisbarrett/nursery.git <path>
- Add to load path:
(add-to-list 'load-path "<path>/lisp")
- load desired features in your
~/.config/emacs/init.el
, e.g.:(use-package org-roam-review :commands (org-roam-review org-roam-review-list-by-maturity org-roam-review-list-recently-added) ;; ;; Optional - tag all newly-created notes as seedlings. ;; :hook (org-roam-capture-new-node . org-roam-review-set-seedling) ;; ;; Optional - keybindings for applying Evergreen note properties. ;; :general ;; (:keymaps 'org-mode-map ;; "C-c r r" '(org-roam-review-accept :wk "accept") ;; "C-c r u" '(org-roam-review-bury :wk "bury") ;; "C-c r x" '(org-roam-review-set-excluded :wk "set excluded") ;; "C-c r b" '(org-roam-review-set-budding :wk "set budding") ;; "C-c r s" '(org-roam-review-set-seedling :wk "set seedling") ;; "C-c r e" '(org-roam-review-set-evergreen :wk "set evergreen")) ;; ;; Optional - bindings for evil-mode compatability. ;; :general ;; (:states '(normal) :keymaps 'org-roam-review-mode-map ;; "TAB" 'magit-section-cycle ;; "g r" 'org-roam-review-refresh) ) (use-package org-roam-search :commands (org-roam-search)) (use-package org-roam-links :commands (org-roam-links)) (use-package org-roam-dblocks :hook (org-mode . org-roam-dblocks-autoupdate-mode)) (use-package org-roam-rewrite :commands (org-roam-rewrite-rename org-roam-rewrite-remove org-roam-rewrite-inline org-roam-rewrite-extract)) (use-package org-roam-slipbox :after org-roam :demand t :config (org-roam-slipbox-buffer-identification-mode +1) (org-roam-slipbox-tag-mode +1))