view .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
line wrap: on
line source

;; emacs -l .elisp/settings/00.bootstrap.el --batch -f af-bootstrap-packages
;; Use the above for moving into a new machine
(add-to-list 'load-path (expand-file-name "~/.elisp"))

;; emacs 23 compat hack from Lucas Bergman
(unless (fboundp 'package-refresh-contents)
  ;; If ELPA support isn't built in, we're in Emacs <=23. Normally, one
  ;; would bootstrap ELPA from the source, tromey.com, but that sucks,
  ;; because that version of package.el doesn't support multiple archives
  ;; even in 2012. old/package.el is from http://bit.ly/pkg-el23, which is
  ;; cited at https://github.com/technomancy/package.el as the last emacs23
  ;; version of package.el.
  (unless (load (expand-file-name "~/.elisp/old/package.el"))
    (error "ELPA is not in Emacs, and local package.el failed to load.")))


(package-initialize)

(setq package-archives '(("melpa-stable" . "https://stable.melpa.org/packages/")
                         ("elpa" . "http://elpa.gnu.org/packages/")))

(defun af-bootstrap-packages ()
  (interactive)
  (unless package-archive-contents (package-refresh-contents))
  (dolist (pack '(http-twiddle
                  nose
                  use-package
                  smart-mode-line
                  rich-minority
                  exec-path-from-shell
                  rainbow-delimiters

                  ;; disabled until I don't need a modified version
                  ;; textmate

                  iedit

                  ;; from elpa
                  js2-mode
                  magit
                  markdown-mode
                  paredit
                  smex
                  yaml-mode
                  company
                  wgrep
                  monky
                  git-gutter
                  exec-path-from-shell
                  ;; for go-eldoc
                  popup
                  auto-complete
                  go-autocomplete
                  go-eldoc
                  ;; rust
                  rust-mode
                  cargo
                  racer
                  company-racer
                  flycheck-rust
                  ))
    (unless (or (member pack package-activated-list)
                (functionp pack))
      (message "Installing %s" (symbol-name pack))
      (package-install pack))))