]> git.rkrishnan.org Git - .emacs.d.git/blob - packages.el
78b8458dd66f69e1adcd6b76dcb009b8e4fa9344
[.emacs.d.git] / packages.el
1 ; my-packages.el
2 (require 'package)
3
4 (defconst emacs-d
5   (file-name-directory
6    (file-chase-links load-file-name))
7   "The giant turtle on which the world rests.")
8
9 (setq package-user-dir
10       (expand-file-name "elpa" emacs-d))
11
12 (add-to-list 'package-archives
13              '("melpa" . "https://melpa.org/packages/") t)
14 (add-to-list 'package-archives
15              '("gnu" . "https://elpa.gnu.org/packages/") t)
16 (package-initialize)
17
18 ; fetch the list of packages available
19 (package-refresh-contents)
20
21 ;; make sure my list of packages are installed
22 (setq package-list '(go-mode
23                      rust-mode
24                      haskell-mode
25                      hindent
26                      restclient
27                      tangotango-theme
28                      fill-column-indicator
29                      paredit
30                      leuven-theme
31                      notmuch
32                      railscasts-theme
33                      racket-mode
34                      auto-complete
35                      magit
36                      ledger-mode
37                      company
38                      company-racer
39                      markdown-mode
40                      flycheck
41                      flycheck-rust
42                      flycheck-haskell
43                      racer))
44
45 ; install the missing packages
46 (defun install-all-packages ()
47   (dolist (package package-list)
48     (unless (package-installed-p package)
49       (package-install package))))
50
51 ;; upgrade installed
52 (defun upgrade-all-packages ()
53   (save-window-excursion
54     (package-list-packages t)
55     (package-menu-mark-upgrades)
56     (package-menu-execute t)))
57