Literate and reproducible emacs config using twist.nix
0

Configure Feed

Select the types of activity you want to include in your feed.

Add *** pm section: load pm.el integration from canonical repo

Wires the standalone Emacs package shipped from
~/.repos/project-manager/extensions/emacs/. Hooks the pm container
finder into project.el, binds C-x p P (pm-dispatch) and C-x p .
(pm-project-dispatch), and registers pm-project-dispatch as the post-
project-switch entry "PM". Initial pm-refresh runs on an idle timer
out of after-init-hook.

Jordan Isaacs (Apr 27, 2026, 6:27 AM UTC) 06d9cc57 9d83ab70

+28
+28
init.org
··· 2226 2226 (consult-fd "Fd" ?d))))) 2227 2227 #+end_src 2228 2228 2229 + *** pm 2230 + 2231 + Integration with the =pm= CLI (project_manager: a pool of git worktrees 2232 + bound to named projects via symlinks). Recognizes pm containers 2233 + (=~/.projects/<name>/=) as first-class =project.el= projects via a 2234 + custom backend, exposes a transient menu (=C-x p P=) for project / 2235 + worktree / pool / repo verbs, and treats every git worktree under a 2236 + container as a "subproject" — federated =project-files=, parent / 2237 + sibling navigation, and =project-name= advice that renders worktree 2238 + buffers as =<container>/<alias>=. Source lives in the pm repo at 2239 + =extensions/emacs/=. 2240 + 2241 + #+begin_src emacs-lisp :tangle init.el 2242 + (use-package pm 2243 + :load-path "~/.repos/project-manager/extensions/emacs/" 2244 + :commands (pm-dispatch pm-project-dispatch pm-refresh 2245 + pm--project-finder pm-jump-parent pm-jump-sibling) 2246 + :init 2247 + (with-eval-after-load 'project 2248 + (add-hook 'project-find-functions #'pm--project-finder) 2249 + (add-to-list 'project-switch-commands 2250 + '(pm-project-dispatch "PM" ?P) t)) 2251 + (global-set-key (kbd "C-x p P") #'pm-dispatch) 2252 + (global-set-key (kbd "C-x p .") #'pm-project-dispatch) 2253 + (add-hook 'after-init-hook 2254 + (lambda () (run-with-idle-timer 0.5 nil #'pm-refresh)))) 2255 + #+end_src 2256 + 2229 2257 *** Direnv 2230 2258 2231 2259 Use basic envrc, but investigate hacks from [[https://github.com/doomemacs/doomemacs/blob/98d753e1036f76551ccaa61f5c810782cda3b48a/modules/tools/direnv/config.el#L27][doom]].