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.
94 lines
2.7 KiB
94 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 |
|
python-mode |
|
yaml-mode |
|
markdown-mode |
|
gitignore-mode |
|
feature-mode |
|
gradle-mode |
|
protobuf-mode |
|
meson-mode |
|
paredit |
|
magit |
|
;;;;;;;;;;;;;;;;;;;; |
|
|
|
;; Navigation |
|
neotree |
|
;;;;;;;;;;;;; |
|
|
|
;; Cleanup |
|
ws-butler |
|
;;;;;;;;;; |
|
|
|
;; Shell helpers |
|
exec-path-from-shell |
|
;;;;;;;;;;;;;;;;;;;; |
|
|
|
;; Editing Utility |
|
autopair |
|
;;;;;;;;;;;;;;;;;; |
|
|
|
;; UI |
|
fill-column-indicator |
|
golden-ratio |
|
linum-relative |
|
powerline |
|
rainbow-delimiters |
|
zenburn-theme |
|
wrap-region |
|
expand-region |
|
wrap-region |
|
material-theme |
|
;;;;; |
|
|
|
;; 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)))) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|