You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
(require 'cl)
|
|
|
|
|
|
|
|
(defvar my-packages '(ag
|
|
|
|
;; Completion Frameworks
|
|
|
|
company
|
|
|
|
company-irony
|
|
|
|
eclim
|
|
|
|
irony
|
|
|
|
counsel
|
|
|
|
swiper
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
|
|
|
;; Programming modes
|
|
|
|
cc-mode
|
|
|
|
yaml-mode
|
|
|
|
markdown-mode
|
|
|
|
gitignore-mode
|
|
|
|
feature-mode
|
|
|
|
paredit
|
|
|
|
magit
|
|
|
|
;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
|
|
|
;; Navigation
|
|
|
|
neotree
|
|
|
|
;;;;;;;;;;;;;
|
|
|
|
|
|
|
|
;; UI
|
|
|
|
fill-column-indicator
|
|
|
|
golden-ratio
|
|
|
|
linum-relative
|
|
|
|
powerline
|
|
|
|
rainbow-delimiters
|
|
|
|
zenburn-theme
|
|
|
|
wrap-region
|
|
|
|
expand-region
|
|
|
|
wrap-region
|
|
|
|
;;;;;
|
|
|
|
|
|
|
|
;; Project Interaction/Search/Syntax
|
|
|
|
flycheck
|
|
|
|
flycheck-pos-tip
|
|
|
|
grizzl
|
|
|
|
smex
|
|
|
|
projectile
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
|
|
|
)
|
|
|
|
"Packages to make sure are installed")
|
|
|
|
|
|
|
|
(defun my-packages-installed-p ()
|
|
|
|
(loop for p in my-packages
|
|
|
|
when (not (package-installed-p p)) do (return nil)
|
|
|
|
finally (return t)))
|
|
|
|
|
|
|
|
(unless (my-packages-installed-p)
|
|
|
|
;; check for new packages (package versions)
|
|
|
|
(package-refresh-contents)
|
|
|
|
;; install the missing packages
|
|
|
|
(dolist (p my-packages)
|
|
|
|
(when (not (package-installed-p p))
|
|
|
|
(package-install p))))
|