summaryrefslogtreecommitdiff
path: root/lisp/init-pkg.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/init-pkg.el')
-rw-r--r--lisp/init-pkg.el53
1 files changed, 53 insertions, 0 deletions
diff --git a/lisp/init-pkg.el b/lisp/init-pkg.el
new file mode 100644
index 0000000..0b248ef
--- /dev/null
+++ b/lisp/init-pkg.el
@@ -0,0 +1,53 @@
+;; http://www.aaronbedra.com/emacs.d/
+
+(require 'package)
+(add-to-list 'package-archives
+ '("melpa" . "http://melpa.milkbox.net/packages/") t)
+(setq package-enable-at-startup nil)
+(package-initialize)
+
+(require 'cl)
+(defvar km/packages '(ace-jump-mode
+ auctex
+ dash
+ ess
+ expand-region
+ flx
+ flx-ido
+ git-annex
+ git-commit-mode
+ haskell-mode
+ htmlize
+ key-chord
+ less-css-mode
+ lua-mode
+ magit
+ markdown-mode
+ mocker
+ multiple-cursors
+ paredit
+ pkgbuild-mode
+ projectile
+ smex
+ wrap-region
+ yasnippet)
+ "Default packages")
+
+(defun km/packages-installed-p ()
+ (loop for pkg in km/packages
+ when (not (package-installed-p pkg)) do (return nil)
+ finally (return t)))
+
+(unless (km/packages-installed-p)
+ (message "%s" "Refreshing package database...")
+ (package-refresh-contents)
+ (dolist (pkg km/packages)
+ (when (not (package-installed-p pkg))
+ (message "installing %s" pkg)
+ (package-install pkg))))
+
+(add-to-list 'load-path "~/.emacs.d/vendor/")
+(add-to-list 'load-path "~/src/emacs/org-mode/lisp")
+(add-to-list 'load-path "~/src/emacs/org-mode/contrib/lisp" t)
+
+(provide 'init-pkg)