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.
 
 
 
 
 
 

93 lines
2.7 KiB

(require 'cl)
(defvar my-packages '(ag
;; Completion Frameworks
company
company-irony
company-emacs-eclim
jedi-core
;; We don't need the `jedi` package
;; since we are using company. If we
;; include both we get an annoying
;; *Python Completions* buffer that
;; isn't useful to us.
company-jedi
eclim
irony
counsel
swiper
;;;;;;;;;;;;;;;;;;;;;;;;
;; Programming modes
cc-mode
feature-mode
gitignore-mode
gradle-mode
magit
markdown-mode
meson-mode
nasm-mode
paredit
protobuf-mode
python-mode
yaml-mode
slime
;;;;;;;;;;;;;;;;;;;;
;; Cleanup
ws-butler
;;;;;;;;;;
;; Shell helpers
exec-path-from-shell
;;;;;;;;;;;;;;;;;;;;
;; Editing Utility
autopair
;; Keeps things indented even when you don't want it to
aggressive-indent
;;;;;;;;;;;;;;;;;;
;; UI
fill-column-indicator
golden-ratio
linum-relative
powerline
rainbow-delimiters
wrap-region
expand-region
wrap-region
material-theme
;;;;;
;; Project Interaction/Search/Syntax
flycheck
flycheck-pos-tip
flycheck-rtags
grizzl
smex
projectile
counsel-gtags
rtags
company-rtags
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
)
"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))))