From c145ffd981a65b0556b25611aeb8064c05f67812 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Mon, 24 Dec 2018 23:23:06 -0500 Subject: [PATCH] [emacs][wip] hack together a bootstrap path --- Makefile | 19 +++++++++++++++++++ init.org | 41 +++++++++++++++++++++++++++-------------- 2 files changed, 46 insertions(+), 14 deletions(-) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3b3a23f --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +EMACS ?= emacs +EMACS_ARGUMENTS ?= -Q + +.PHONY: all help clean build build-init quick bootstrap +.FORCE: + +tangle-init: init.el +init.el: init.org + @$(EMACS) $(EMACS_ARGUMENTS) \ + --batch --load org \ + --eval '(org-babel-tangle-file "init.org")' 2>&1 + +build-init: + @rm -f init.elc + @$(EMACS) $(EMACS_ARGUMENTS) \ + --batch -l init.el --eval '(a/build-init)' 2>&1 + +ti: tangle-init +bi: build-init diff --git a/init.org b/init.org index 0503414..60031a4 100644 --- a/init.org +++ b/init.org @@ -199,20 +199,33 @@ hacker. =straight.el= allows me to have a fully reproducible Emacs setup. #+begin_src emacs-lisp +;; Main engine start... + (setq straight-repository-branch "develop") -(defvar bootstrap-version) -(let ((bootstrap-file - (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory)) - (bootstrap-version 5)) - (unless (file-exists-p bootstrap-file) - (with-current-buffer - (url-retrieve-synchronously - "https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el" - 'silent 'inhibit-cookies) - (goto-char (point-max)) - (eval-print-last-sexp))) - (load bootstrap-file nil 'nomessage)) +(defun a/bootstrap-straight () + (defvar bootstrap-version) + (let ((bootstrap-file + (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory)) + (bootstrap-version 5)) + (unless (file-exists-p bootstrap-file) + (with-current-buffer + (url-retrieve-synchronously + "https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el" + 'silent 'inhibit-cookies) + (goto-char (point-max)) + (eval-print-last-sexp))) + (load bootstrap-file nil 'nomessage))) + +;; Solid rocket booster ignition... + +(defun a/build-init () + (a/bootstrap-straight) + (byte-compile-file "init.el")) + +(a/bootstrap-straight) + +;; We have lift off! (setq straight-use-package-by-default t) #+end_src @@ -851,10 +864,10 @@ file. (defvar a/show-async-tangle-time nil "Show the time spent tangling the file.") - (defvar a/async-tangle-post-compile nil + (defvar a/async-tangle-post-compile "make bi" "If non-nil, pass to `compile' after successful tangle.") - (defvar a/async-tangle-byte-recompile t + (defvar a/async-tangle-byte-recompile nil "If non-nil, byte-recompile the file on successful tangle.") (defun a/async-babel-tangle () -- 2.20.1