summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmin Bandali <bandali@gnu.org>2018-12-24 23:23:06 -0500
committerAmin Bandali <bandali@gnu.org>2018-12-24 23:23:06 -0500
commitc145ffd981a65b0556b25611aeb8064c05f67812 (patch)
tree7c14c5e90e057e370f793d22700bb64ffbdd648c
parente724cc402f5c4fd2fc84536c2806d0d2f46926d9 (diff)
downloadconfigs-c145ffd981a65b0556b25611aeb8064c05f67812.tar.gz
configs-c145ffd981a65b0556b25611aeb8064c05f67812.tar.xz
configs-c145ffd981a65b0556b25611aeb8064c05f67812.zip
[emacs][wip] hack together a bootstrap path
-rw-r--r--Makefile19
-rw-r--r--init.org41
2 files changed, 46 insertions, 14 deletions
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 ()