blob: cef583c3ee6b1efb4211bb4852e42940ef0952e8 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
;; add melpa repo
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)
(defun require-package (package &optional min-version no-refresh)
"Install given PACKAGE, optionally requiring MIN-VERSION.
If NO-REFRESH is non-nil, the available package lists will not be
re-downloaded in order to locate PACKAGE."
(if (package-installed-p package min-version)
t
(if (or (assoc package package-archive-contents) no-refresh)
(package-install package)
(progn
(package-refresh-contents)
(require-package package min-version t)))))
;; dash - a better list api
(require-package 'dash)
(require 'dash)
(defun require-packages (packages)
"Install a list of PACKAGES."
(--each packages (require-package it)))
;; add ~/.emacs.d/site-lisp to load path, if it exists
;; used for backported code and overriding existing packages
(let ((site-lisp (expand-file-name "site-lisp" user-emacs-directory)))
(when (file-directory-p site-lisp)
(add-to-list 'load-path site-lisp)))
(provide 'init-package)
|