spacemacs/packages.el
2013-01-28 12:29:17 -05:00

83 lines
2.2 KiB
EmacsLisp

(require 'package)
(setq package-archives '(("ELPA" . "http://tromey.com/elpa/")
("gnu" . "http://elpa.gnu.org/packages/")
("melpa" . "http://melpa.milkbox.net/packages/")
("marmalade" . "http://marmalade-repo.org/packages/")
("melpa" . "http://melpa.milkbox.net/packages/")
("technomancy" . "http://repo.technomancy.us/emacs/")))
(package-initialize)
(defvar syl:packages
'(
ace-jump-mode
auto-complete
auto-dictionary
autopair
color-moccur
deferred
diminish
elisp-slime-nav
epc
erc
erlang
evil
evil-leader
exec-path-from-shell
expand-region
fill-column-indicator
find-file-in-project
fold-this
fuzzy
ghc
haskell-mode
ido-ubiquitous
jedi
key-chord
magit
move-text
;; multiple-cursors
multi-term
nose
org
p4
paredit
powerline
popup
projectile
puppet-mode
python
rainbow-delimiters
recentf
rfringe
smart-operator
smex
solarized-theme
sr-speedbar
surround
twittering-mode
yasnippet
))
;;; install missing packages
(let ((not-installed (remove-if 'package-installed-p syl:packages)))
(if not-installed
(if (y-or-n-p (format "there are %d packages to be installed. install them? " (length not-installed)))
(progn (package-refresh-contents)
(dolist (package syl:packages)
(when (not (package-installed-p package))
(package-install package)))))))
;;; initialize packages
(setq syl:package-init-dir (concat user-emacs-directory "init-package/"))
(message (format "initializing packages out of %s" syl:package-init-dir))
(dolist (package (append (mapcar 'car package--builtins) package-activated-list))
(let* ((initfile (concat syl:package-init-dir (format "init-%s.el" package))))
(if (and (package-installed-p package)
(file-exists-p initfile))
(progn (load initfile)
(message (format "loaded %s" initfile))))))
(when (memq window-system '(mac ns))
(exec-path-from-shell-initialize))
(provide 'packages)