[emacs][wip] hack together a bootstrap path
authorAmin Bandali <bandali@gnu.org>
Tue, 25 Dec 2018 04:23:06 +0000 (23:23 -0500)
committerAmin Bandali <bandali@gnu.org>
Tue, 25 Dec 2018 04:23:06 +0000 (23:23 -0500)
Makefile [new file with mode: 0644]
init.org

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
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
index 0503414..60031a4 100644 (file)
--- 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
 =straight.el= allows me to have a fully reproducible Emacs setup.
 
 #+begin_src emacs-lisp
+;; Main engine start...
+
 (setq straight-repository-branch "develop")
 
 (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
 
 (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/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.")
 
     "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 ()
     "If non-nil, byte-recompile the file on successful tangle.")
 
   (defun a/async-babel-tangle ()