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.
123 lines
3.2 KiB
123 lines
3.2 KiB
9 years ago
|
(require 'cl)
|
||
9 years ago
|
|
||
5 years ago
|
(defvar my-packages '(ag
|
||
7 years ago
|
;; Completion Frameworks
|
||
|
company
|
||
7 years ago
|
company-irony
|
||
7 years ago
|
company-emacs-eclim
|
||
5 years ago
|
jedi-core
|
||
5 years ago
|
|
||
|
;; 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.
|
||
5 years ago
|
company-jedi
|
||
5 years ago
|
|
||
7 years ago
|
eclim
|
||
|
irony
|
||
4 years ago
|
ivy
|
||
7 years ago
|
counsel
|
||
|
swiper
|
||
4 years ago
|
|
||
|
;; LSP is compatible with company and the lsp-ui gives a
|
||
|
;; vscode-like experience.
|
||
|
lsp-mode
|
||
|
lsp-ui
|
||
|
lsp-python-ms
|
||
5 years ago
|
;;;;;;;;;;;;;;;;;;;;;;;;
|
||
|
|
||
|
cmake-ide
|
||
|
cmake-mode
|
||
4 years ago
|
clang-format+
|
||
5 years ago
|
|
||
7 years ago
|
;;;;;;;;;;;;;;;;;;;;;;;;
|
||
|
|
||
|
;; Programming modes
|
||
|
feature-mode
|
||
5 years ago
|
gitignore-mode
|
||
6 years ago
|
gradle-mode
|
||
5 years ago
|
magit
|
||
|
markdown-mode
|
||
7 years ago
|
meson-mode
|
||
5 years ago
|
nasm-mode
|
||
7 years ago
|
paredit
|
||
5 years ago
|
protobuf-mode
|
||
5 years ago
|
elpy
|
||
5 years ago
|
yaml-mode
|
||
5 years ago
|
slime
|
||
4 years ago
|
|
||
|
;; Rails
|
||
|
rinari
|
||
|
|
||
|
;; RVM support
|
||
|
rvm
|
||
7 years ago
|
;;;;;;;;;;;;;;;;;;;;
|
||
|
|
||
4 years ago
|
;; Test helpers
|
||
|
python-pytest
|
||
|
|
||
7 years ago
|
;; Cleanup
|
||
|
ws-butler
|
||
|
;;;;;;;;;;
|
||
5 years ago
|
|
||
5 years ago
|
;; Shell helpers
|
||
|
exec-path-from-shell
|
||
|
;;;;;;;;;;;;;;;;;;;;
|
||
|
|
||
5 years ago
|
;; Keeps things indented even when you don't want it to
|
||
|
aggressive-indent
|
||
5 years ago
|
;;;;;;;;;;;;;;;;;;
|
||
5 years ago
|
|
||
7 years ago
|
;; UI
|
||
|
fill-column-indicator
|
||
|
golden-ratio
|
||
|
linum-relative
|
||
|
powerline
|
||
|
rainbow-delimiters
|
||
|
wrap-region
|
||
|
expand-region
|
||
|
wrap-region
|
||
5 years ago
|
material-theme
|
||
4 years ago
|
oceanic-theme
|
||
|
arjen-grey-theme
|
||
7 years ago
|
;;;;;
|
||
|
|
||
|
;; Project Interaction/Search/Syntax
|
||
|
flycheck
|
||
|
flycheck-pos-tip
|
||
5 years ago
|
flycheck-rtags
|
||
4 years ago
|
flx
|
||
7 years ago
|
smex
|
||
|
projectile
|
||
5 years ago
|
counsel-gtags
|
||
5 years ago
|
rtags
|
||
|
company-rtags
|
||
5 years ago
|
|
||
4 years ago
|
;; Environments
|
||
|
pyenv-mode
|
||
|
|
||
4 years ago
|
;; Python specific stuff
|
||
|
py-autopep8
|
||
|
|
||
5 years ago
|
;;General
|
||
|
use-package
|
||
4 years ago
|
|
||
7 years ago
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
5 years ago
|
|
||
|
)
|
||
9 years ago
|
"Packages to make sure are installed")
|
||
9 years ago
|
|
||
9 years ago
|
(defun my-packages-installed-p ()
|
||
|
(loop for p in my-packages
|
||
4 years ago
|
when (not (package-installed-p p)) do (return nil)
|
||
|
finally (return t)))
|
||
9 years ago
|
|
||
9 years ago
|
(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))))
|