all repos — nixfiles @ 10f81ec220477c7b8c7ea637639f78e90c7a4c3e

System and user configuration, managed by nix and home-manager

Emacs: Add sync version of tangle-init

Alan Pearce
commit

10f81ec220477c7b8c7ea637639f78e90c7a4c3e

parent

e3c5528891c42d23849d299fd5255f352d821b93

1 file changed, 14 insertions(+), 0 deletions(-)

jump to
M tag-emacs/emacs.d/init.orgtag-emacs/emacs.d/init.org
@@ -2462,6 +2462,20 @@ (use-package async
:commands (async-start) :defer 2) + (defun tangle-init-sync () + (interactive) + (when (string-suffix-p "init.org" (buffer-file-name)) + (message "Tangling init") + ;; Avoid running hooks when tangling. + (let ((prog-mode-hook nil) + (dest (concat user-emacs-directory "init.el"))) + (require 'ob-tangle) + (org-babel-tangle-file (buffer-file-name) dest) + (if (byte-compile-file dest) + dest + (with-current-buffer byte-compile-log-buffer + (buffer-string)))))) + (defun tangle-init () "If the current buffer is 'init.org' the code-blocks are tangled, and the tangled file is compiled."