2025-02-15 17:45:49 +13:00
2022-08-17 00:38:49 +12:00
2025-02-15 17:45:49 +13:00
2022-08-16 21:37:54 +12:00
2022-08-16 21:37:54 +12:00
2023-12-27 23:44:27 +13:00

nursery

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.

Curiosities On Show

This repository contains a mix of end-user libraries and supporting libraries. The interesting stuff is listed below.

INCUBATING 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.

./images/org-roam-review.png

INCUBATING 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.

images/org-roam-dblocks.gif

INCUBATING 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.

images/org-roam-search.gif

INCUBATING 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.

images/org-roam-links.png

INCUBATING org-roam-consult (incubating)

A version of consult-ripgrep that shows node titles instead of filenames so you don't have to guess anymore.

INCUBATING org-roam-slipbox (incubating)

Automatically tag nodes according to the name of the directory they're in, and easily refile between these directories.

SPIKE org-roam-gc (spike)

Automatically delete empty dailies files so they don't build up forever.

SPIKE org-roam-rewrite (spike)

Commands for renaming nodes, rewriting links and deleting nodes with redirection so you can refactor notes without leaving broken links.

SPIKE 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.

SPIKE org-roam-refill-previews (spike)

Refill previews in the backlinks buffer so they fit the window.

SPIKE org-roam-lazy-previews (spike)

Compute previews lazily for much better performance in buffers with many backlinks or reflinks.

SPIKE org-format (spike)

Formatter for org-mode files to ensure consistency.

SPIKE ert-bdd (spike)

BDD-style test syntax for ERT.

Installation

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 git@github.com: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))
Description
Programs and libs that I haven't gotten around to formally packaging
Readme GPL-3.0 4.7 MiB
Languages
Emacs Lisp 100%