(require 'package) (defvar my/packages '(centered-cursor-mode dired-details dired+ erc-hl-nicks expand-region fill-column-indicator guide-key hungry-delete ido-vertical-mode info+ page-break-lines paren-face perspective rich-minority scss-mode shell-switcher skewer-mode smart-mode-line tagedit znc)) (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/")) (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/")) (package-initialize) (unless (file-exists-p "~/.emacs.d/elpa/archives/melpa") (package-refresh-contents)) (defun packages-install (packages) (mapcar (lambda (package) (when (not (package-installed-p package)) (package-install package))) packages) (delete-other-windows)) ;; Install extensions if they're missing (defun init--install-packages () (packages-install my/packages)) (condition-case nil (init--install-packages) (error (package-refresh-contents) (init--install-packages)))