dotfiles/emacs/super-emacs/packages.el
2017-10-27 12:11:44 -06:00

107 lines
2.1 KiB
EmacsLisp

;Create repositories cache, if required
(when (not package-archive-contents)
(package-refresh-contents))
;Declare a list of required packages
(defvar super-emacs--required-packages
'(helm
multiple-cursors
ace-jump-mode
ace-window
powerline
buffer-move
ztree
undo-tree
neotree
material-theme
dired-launch
which-key
meta-presenter
myterminal-controls
theme-looper
magit
rust-mode
yaml-mode
jinja2-mode
json-mode
terraform-mode
company-terraform
racer
company
projectile
helm-projectile
))
;Install required packages
(mapc (lambda (p)
(package-install p))
super-emacs--required-packages)
;Start undo-tree
(global-undo-tree-mode)
;Set hooks for dired-launch-mode
(add-hook 'dired-mode-hook
'dired-launch-mode)
;Start which-key-mode
(which-key-mode)
;Setup company-mode
(setq company-dabbrev-downcase nil)
(setq company-idle-delay 0)
(setq company-minimum-prefix-length 2)
(defvar company-mode-whitelist
'(
js-mode-hook
python-mode-hook
rust-mode-hook
lisp-mode-hook
terraform-mode-hook
))
(mapc (lambda (h)
(add-hook h #'company-mode))
company-mode-whitelist)
;Set up ace-jump-mode
(autoload 'ace-jump-mode
"ace-jump-mode"
"Emacs quick move minor mode"
t)
(autoload 'ace-jump-mode-pop-mark
"ace-jump-mode"
"Ace jump back:-"
t)
;Enable powerline
(powerline-center-theme)
(setq powerline-default-separator
'slant)
;Configure theme-looper
(theme-looper-set-theme-set '(deeper-blue
wheatgrass
wombat
material))
(theme-looper-set-customizations 'powerline-reset)
;Configure myterminal-controls
(myterminal-controls-set-controls-data
'(("t" "Change color theme" theme-looper-enable-next-theme)
("r" "Reload file" super-emacs-reload-current-file)))
;Set up helm-mode
(helm-mode 1)
(helm-autoresize-mode 1)
(setq helm-split-window-in-side-p
t)
;Set up racer for rust-mode
(add-hook 'rust-mode-hook #'racer-mode)
(add-hook 'rust-mode-hook #'eldoc-mode)
(add-hook 'racer-mode-hook #'company-mode)