annotate .elisp/settings/00.bootstrap.el @ 498:ab38b9bf226d

bootstrap: always install exec-path-from-shell-initialize Required fixing the melpa URL, which has been broken ~forever.
author Augie Fackler <raf@durin42.com>
date Sat, 03 Oct 2020 11:14:06 -0400
parents b60cd2f46acd
children 7d298a83fceb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
219
bb74667967e1 emacs bootstrap: record setup command for sanity
Augie Fackler <durin42@gmail.com>
parents: 214
diff changeset
1 ;; emacs -l .elisp/settings/00.bootstrap.el --batch -f af-bootstrap-packages
bb74667967e1 emacs bootstrap: record setup command for sanity
Augie Fackler <durin42@gmail.com>
parents: 214
diff changeset
2 ;; Use the above for moving into a new machine
214
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
3 (add-to-list 'load-path (expand-file-name "~/.elisp"))
336
ea73ef5dc38c emacs: avoid weird package.el breakage with newish packages
Augie Fackler <raf@durin42.com>
parents: 328
diff changeset
4
ea73ef5dc38c emacs: avoid weird package.el breakage with newish packages
Augie Fackler <raf@durin42.com>
parents: 328
diff changeset
5 ;; emacs 23 compat hack from Lucas Bergman
ea73ef5dc38c emacs: avoid weird package.el breakage with newish packages
Augie Fackler <raf@durin42.com>
parents: 328
diff changeset
6 (unless (fboundp 'package-refresh-contents)
ea73ef5dc38c emacs: avoid weird package.el breakage with newish packages
Augie Fackler <raf@durin42.com>
parents: 328
diff changeset
7 ;; If ELPA support isn't built in, we're in Emacs <=23. Normally, one
ea73ef5dc38c emacs: avoid weird package.el breakage with newish packages
Augie Fackler <raf@durin42.com>
parents: 328
diff changeset
8 ;; would bootstrap ELPA from the source, tromey.com, but that sucks,
ea73ef5dc38c emacs: avoid weird package.el breakage with newish packages
Augie Fackler <raf@durin42.com>
parents: 328
diff changeset
9 ;; because that version of package.el doesn't support multiple archives
ea73ef5dc38c emacs: avoid weird package.el breakage with newish packages
Augie Fackler <raf@durin42.com>
parents: 328
diff changeset
10 ;; even in 2012. old/package.el is from http://bit.ly/pkg-el23, which is
393
08755f0a9f1f bootstrap: drop trailing whitespace
Augie Fackler <raf@durin42.com>
parents: 385
diff changeset
11 ;; cited at https://github.com/technomancy/package.el as the last emacs23
336
ea73ef5dc38c emacs: avoid weird package.el breakage with newish packages
Augie Fackler <raf@durin42.com>
parents: 328
diff changeset
12 ;; version of package.el.
ea73ef5dc38c emacs: avoid weird package.el breakage with newish packages
Augie Fackler <raf@durin42.com>
parents: 328
diff changeset
13 (unless (load (expand-file-name "~/.elisp/old/package.el"))
ea73ef5dc38c emacs: avoid weird package.el breakage with newish packages
Augie Fackler <raf@durin42.com>
parents: 328
diff changeset
14 (error "ELPA is not in Emacs, and local package.el failed to load.")))
ea73ef5dc38c emacs: avoid weird package.el breakage with newish packages
Augie Fackler <raf@durin42.com>
parents: 328
diff changeset
15
ea73ef5dc38c emacs: avoid weird package.el breakage with newish packages
Augie Fackler <raf@durin42.com>
parents: 328
diff changeset
16
214
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
17 (package-initialize)
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
18
498
ab38b9bf226d bootstrap: always install exec-path-from-shell-initialize
Augie Fackler <raf@durin42.com>
parents: 455
diff changeset
19 (setq package-archives '(("melpa-stable" . "https://stable.melpa.org/packages/")
328
4f49d70f1b69 emacs: update path to ELPA repository
Augie Fackler <raf@durin42.com>
parents: 323
diff changeset
20 ("elpa" . "http://elpa.gnu.org/packages/")))
214
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
21
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
22 (defun af-bootstrap-packages ()
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
23 (interactive)
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
24 (unless package-archive-contents (package-refresh-contents))
452
c2a49960f11f emacs: clean up obsolete packages and archives
Augie Fackler <raf@durin42.com>
parents: 410
diff changeset
25 (dolist (pack '(http-twiddle
214
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
26 nose
397
98484e1f564f rust: lots of new configs to make working with rust code easy
Augie Fackler <raf@durin42.com>
parents: 393
diff changeset
27 use-package
410
76eb2c250b6f emacs: start using smart-modeline and rich-minority
Augie Fackler <raf@durin42.com>
parents: 397
diff changeset
28 smart-mode-line
76eb2c250b6f emacs: start using smart-modeline and rich-minority
Augie Fackler <raf@durin42.com>
parents: 397
diff changeset
29 rich-minority
453
6f3342c9e53d emacs: use exec-path-from-shell-initialize on OS X
Augie Fackler <raf@durin42.com>
parents: 452
diff changeset
30 exec-path-from-shell
455
b60cd2f46acd emacs: add rainbow-delimiters
Augie Fackler <raf@durin42.com>
parents: 453
diff changeset
31 rainbow-delimiters
336
ea73ef5dc38c emacs: avoid weird package.el breakage with newish packages
Augie Fackler <raf@durin42.com>
parents: 328
diff changeset
32
214
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
33 ;; disabled until I don't need a modified version
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
34 ;; textmate
336
ea73ef5dc38c emacs: avoid weird package.el breakage with newish packages
Augie Fackler <raf@durin42.com>
parents: 328
diff changeset
35
214
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
36 iedit
336
ea73ef5dc38c emacs: avoid weird package.el breakage with newish packages
Augie Fackler <raf@durin42.com>
parents: 328
diff changeset
37
214
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
38 ;; from elpa
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
39 js2-mode
220
07c671c9610c emacs: require magit
Augie Fackler <durin42@gmail.com>
parents: 219
diff changeset
40 magit
314
7cb31ed262f0 emacs: require markdown-mode
Augie Fackler <raf@durin42.com>
parents: 303
diff changeset
41 markdown-mode
214
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
42 paredit
236
3e1ec121efaf emacs: use smex as a replacement for execute-extended-command
Augie Fackler <durin42@gmail.com>
parents: 220
diff changeset
43 smex
276
46979cef73b6 emacs: require and configure company mode
Augie Fackler <raf@durin42.com>
parents: 248
diff changeset
44 yaml-mode
303
6fd7c78744a6 emacs: install wgrep all the time
Augie Fackler <raf@durin42.com>
parents: 299
diff changeset
45 company
6fd7c78744a6 emacs: install wgrep all the time
Augie Fackler <raf@durin42.com>
parents: 299
diff changeset
46 wgrep
385
98480bc457ab emacs: load and use monky
Augie Fackler <raf@durin42.com>
parents: 384
diff changeset
47 monky
384
7e97572ac429 emacs: start using git-gutter-mode with Mercurial enabled
Augie Fackler <raf@durin42.com>
parents: 336
diff changeset
48 git-gutter
498
ab38b9bf226d bootstrap: always install exec-path-from-shell-initialize
Augie Fackler <raf@durin42.com>
parents: 455
diff changeset
49 exec-path-from-shell
323
aa5afa13e12c emacs: add go-eldoc for better go programming
Augie Fackler <raf@durin42.com>
parents: 314
diff changeset
50 ;; for go-eldoc
aa5afa13e12c emacs: add go-eldoc for better go programming
Augie Fackler <raf@durin42.com>
parents: 314
diff changeset
51 popup
aa5afa13e12c emacs: add go-eldoc for better go programming
Augie Fackler <raf@durin42.com>
parents: 314
diff changeset
52 auto-complete
aa5afa13e12c emacs: add go-eldoc for better go programming
Augie Fackler <raf@durin42.com>
parents: 314
diff changeset
53 go-autocomplete
aa5afa13e12c emacs: add go-eldoc for better go programming
Augie Fackler <raf@durin42.com>
parents: 314
diff changeset
54 go-eldoc
397
98484e1f564f rust: lots of new configs to make working with rust code easy
Augie Fackler <raf@durin42.com>
parents: 393
diff changeset
55 ;; rust
98484e1f564f rust: lots of new configs to make working with rust code easy
Augie Fackler <raf@durin42.com>
parents: 393
diff changeset
56 rust-mode
98484e1f564f rust: lots of new configs to make working with rust code easy
Augie Fackler <raf@durin42.com>
parents: 393
diff changeset
57 cargo
98484e1f564f rust: lots of new configs to make working with rust code easy
Augie Fackler <raf@durin42.com>
parents: 393
diff changeset
58 racer
98484e1f564f rust: lots of new configs to make working with rust code easy
Augie Fackler <raf@durin42.com>
parents: 393
diff changeset
59 company-racer
98484e1f564f rust: lots of new configs to make working with rust code easy
Augie Fackler <raf@durin42.com>
parents: 393
diff changeset
60 flycheck-rust
303
6fd7c78744a6 emacs: install wgrep all the time
Augie Fackler <raf@durin42.com>
parents: 299
diff changeset
61 ))
214
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
62 (unless (or (member pack package-activated-list)
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
63 (functionp pack))
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
64 (message "Installing %s" (symbol-name pack))
2a4efba0fe8b emacs: move package bootstrap to its own file
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
65 (package-install pack))))