45 lines
2.1 KiB
EmacsLisp
45 lines
2.1 KiB
EmacsLisp
;;; install-packages.el
|
|
|
|
;; Author: Rachel Fae Fox <fox@foxiepa.ws>
|
|
;; URL: https://git.foxiepa.ws/foxiepaws/dotfiles/
|
|
|
|
(add-to-list 'load-path (expand-file-name "~/.emacs.d/defaultcontent/"))
|
|
(setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3")
|
|
(require 'package)
|
|
(add-to-list 'package-archives
|
|
'("melpa" . "https://melpa.org/packages/") t)
|
|
(package-initialize)
|
|
|
|
(defvar eyecandy '(smex abyss-theme airline-themes powerline powerline-evil
|
|
rainbow-delimiters purple-haze-theme org-beautify-theme))
|
|
(defvar osx '(osx-plist osx-dictionary osx-clipboard osx-browse swift-mode
|
|
swift-playground-mode swift3-mode swift-helpful osx-lib osx-trash))
|
|
(defvar orgstuff '(org org-journal org-journal-list org-kindle org-multi-wiki org-projectile org-wc ego
|
|
org-analyzer org-board org-d20 org-ac
|
|
org-brain org-clock-today org-gcal org-static-blog org-sync
|
|
org-sync-snippets org-timeline org-trello))
|
|
(defvar langs '(python racket-mode yaml-mode nixpkgs-fmt nix-mode haskell-mode elixir-mode
|
|
arduino-mode qml-mode qt-pro-mode))
|
|
(defvar evil '(evil evil-leader evil-org evil-smartparens evil-surround evil-collection))
|
|
(defvar extras '(magit elscreen projectile flx flx-ido diminish diminish-buffer neotree
|
|
paradox use-package editorconfig editorconfig-custom-majormode))
|
|
(defvar progtools '(flycheck ac-c-headers ac-html ac-html-bootstrap elixir-yasnippets ac-clang
|
|
auto-complete-distel auto-complete-c-headers auto-complete-exuberant-ctags
|
|
yasnippet-classic-snippets yasnippet-snippets snippet))
|
|
(defvar projectmanagement '(projectile projectile-rails projectile-codesearch projectile-variable project-shells))
|
|
|
|
(let ((my-packages (append eyecandy osx orgstuff langs evil extras progtools projectmanagement)))
|
|
|
|
(defun my-packages-installed-p ()
|
|
(cl-loop for p in my-packages
|
|
when (not (package-installed-p p)) do (cl-return nil)
|
|
finally (cl-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)))))
|