diff options
-rw-r--r-- | README.md | 73 | ||||
-rw-r--r-- | init.el | 11 |
2 files changed, 58 insertions, 26 deletions
diff --git a/README.md b/README.md index f2923d1..0c76ef5 100644 --- a/README.md +++ b/README.md | |||
@@ -33,20 +33,35 @@ Let’s configure Emacs using Org mode, they said. It’ll be fun, they said. | |||
33 | 33 | ||
34 | ### Straight.el | 34 | ### Straight.el |
35 | 35 | ||
36 | This still doesn’t work under Windows – I have to manually download the [repo archive](https://github.com/raxod502/straight.el/archive/master.zip) and unzip it. Not the biggest burden, I suppose. | 36 | Since for whatever reason, Straight can't bootstrap itself on Windows |
37 | 37 | – I've wrapped it in a function here and added the direct git command | |
38 | (defvar bootstrap-version) | 38 | when it errors. |
39 | (let ((bootstrap-file | 39 | |
40 | (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory)) | 40 | (defun acdw/bootstrap-straight () |
41 | (bootstrap-version 5)) | 41 | (defvar bootstrap-version) |
42 | (unless (file-exists-p bootstrap-file) | 42 | (let ((bootstrap-file |
43 | (with-current-buffer | 43 | (expand-file-name |
44 | (url-retrieve-synchronously | 44 | "straight/repos/straight.el/bootstrap.el" |
45 | "https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el" | 45 | user-emacs-directory)) |
46 | 'silent 'inhibit-cookies) | 46 | (bootstrap-version 5)) |
47 | (goto-char (point-max)) | 47 | (unless (file-exists-p bootstrap-file) |
48 | (eval-print-last-sexp))) | 48 | (with-current-buffer |
49 | (load bootstrap-file nil 'nomessage)) | 49 | (url-retrieve-synchronously |
50 | (concat "https://raw.githubusercontent.com/" | ||
51 | "raxod502/straight.el/develop/install.el") | ||
52 | 'silent 'inhibit-cookies) | ||
53 | (goto-char (point-max)) | ||
54 | (eval-print-last-sexp))) | ||
55 | (load bootstrap-file nil 'nomessage))) | ||
56 | |||
57 | (unless (ignore-errors (acdw/bootstrap-straight)) | ||
58 | (message "Straight.el didn't bootstrap correctly. Cloning directly...") | ||
59 | (call-process "git" nil (get-buffer-create "*bootstrap-straight-messages*") nil | ||
60 | "clone" | ||
61 | "https://github.com/raxod502/straight.el" | ||
62 | (expand-file-name "straight/repos/straight.el" | ||
63 | user-emacs-directory)) | ||
64 | (acdw/bootstrap-straight)) | ||
50 | 65 | ||
51 | 66 | ||
52 | ### Use-package | 67 | ### Use-package |
@@ -384,14 +399,25 @@ from [Stack Overflow](https://stackoverflow.com/questions/23659909/reverse-evalu | |||
384 | # Interactivity | 399 | # Interactivity |
385 | 400 | ||
386 | 401 | ||
387 | ## Selectrum | 402 | ## Completing-read |
403 | |||
404 | |||
405 | ### Shadow file names | ||
406 | |||
407 | (cuss file-name-shadow-properties | ||
408 | '(invisible t)) | ||
409 | |||
410 | (file-name-shadow-mode +1) | ||
411 | |||
412 | |||
413 | ### Selectrum | ||
388 | 414 | ||
389 | (use-package selectrum | 415 | (use-package selectrum |
390 | :config | 416 | :config |
391 | (selectrum-mode +1)) | 417 | (selectrum-mode +1)) |
392 | 418 | ||
393 | 419 | ||
394 | ## Prescient | 420 | ### Prescient |
395 | 421 | ||
396 | (use-package prescient | 422 | (use-package prescient |
397 | :config | 423 | :config |
@@ -403,7 +429,7 @@ from [Stack Overflow](https://stackoverflow.com/questions/23659909/reverse-evalu | |||
403 | (selectrum-prescient-mode +1)) | 429 | (selectrum-prescient-mode +1)) |
404 | 430 | ||
405 | 431 | ||
406 | ## Consult | 432 | ### Consult |
407 | 433 | ||
408 | (use-package consult | 434 | (use-package consult |
409 | :after (selectrum) | 435 | :after (selectrum) |
@@ -427,7 +453,7 @@ from [Stack Overflow](https://stackoverflow.com/questions/23659909/reverse-evalu | |||
427 | :repo "minad/consult")) | 453 | :repo "minad/consult")) |
428 | 454 | ||
429 | 455 | ||
430 | ## Marginalia | 456 | ### Marginalia |
431 | 457 | ||
432 | (use-package marginalia | 458 | (use-package marginalia |
433 | :straight (marginalia | 459 | :straight (marginalia |
@@ -1140,11 +1166,14 @@ from [karthinks](https://karthinks.com/software/more-batteries-included-with-ema | |||
1140 | 1166 | ||
1141 | inspired by [Protesilaos Stavrou](https://protesilaos.com/dotemacs/#h:584c3604-55a1-49d0-9c31-abe46cb1f028). | 1167 | inspired by [Protesilaos Stavrou](https://protesilaos.com/dotemacs/#h:584c3604-55a1-49d0-9c31-abe46cb1f028). |
1142 | 1168 | ||
1143 | (let ((conf (expand-file-name "config" | 1169 | (let* ((conf (expand-file-name "config" |
1144 | user-emacs-directory))) | 1170 | user-emacs-directory)) |
1145 | (unless (load conf 'no-error) | 1171 | (conf-el (concat conf ".el")) |
1172 | (conf-org (concat conf ".org"))) | ||
1173 | (unless (and (file-newer-than-file-p conf-el conf-org) | ||
1174 | (load conf 'no-error)) | ||
1146 | (require 'org) | 1175 | (require 'org) |
1147 | (org-babel-load-file (concat conf ".org")))) | 1176 | (org-babel-load-file conf-org))) |
1148 | 1177 | ||
1149 | 1178 | ||
1150 | ### early-init.el | 1179 | ### early-init.el |
diff --git a/init.el b/init.el index 5230d23..71d8816 100644 --- a/init.el +++ b/init.el | |||
@@ -1,7 +1,10 @@ | |||
1 | ;; init.el -*- lexical-binding: t -*- | 1 | ;; init.el -*- lexical-binding: t -*- |
2 | 2 | ||
3 | (let ((conf (expand-file-name "config" | 3 | (let* ((conf (expand-file-name "config" |
4 | user-emacs-directory))) | 4 | user-emacs-directory)) |
5 | (unless (load conf 'no-error) | 5 | (conf-el (concat conf ".el")) |
6 | (conf-org (concat conf ".org"))) | ||
7 | (unless (and (file-newer-than-file-p conf-el conf-org) | ||
8 | (load conf 'no-error)) | ||
6 | (require 'org) | 9 | (require 'org) |
7 | (org-babel-load-file (concat conf ".org")))) | 10 | (org-babel-load-file conf-org))) |