-
Notifications
You must be signed in to change notification settings - Fork 4
/
dependencies.el
49 lines (42 loc) · 1.66 KB
/
dependencies.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
(require 'package)
;; Add MELPA Stable and GNU ELPA to package archives
(add-to-list 'package-archives (cons "melpa-stable" "https://stable.melpa.org/packages/") t)
(add-to-list 'package-archives (cons "gnu" "https://elpa.gnu.org/packages/") t)
(message "Running package-initialize...")
(package-initialize)
(message "Running package-refresh-contents...")
(package-refresh-contents)
;; Upgrade all packages
(let ((package-menu-async nil)) ; Ensure synchronous operations
(package-list-packages) ; Fetch list of packages
(package-menu-mark-upgrades) ; Mark available upgrades
(package-menu-execute t)) ; Execute upgrades
;; Install Dependencies
;; List of packages to install
(setq package-list
'(
company ; https://melpa.org/#/company
compat ; https://elpa.gnu.org/packages/compat.html
dash ; https://melpa.org/#/dash
direnv ; https://melpa.org/#/direnv
f ; https://melpa.org/#/f
flycheck ; https://melpa.org/#/flycheck
helm ; https://melpa.org/#/helm
jsonrpc ; https://elpa.gnu.org/packages/jsonrpc.html
keycast ; https://melpa.org/#/keycast
s ; https://melpa.org/#/s
which-key ; https://melpa.org/#/which-key
;; Optional Modules for Productivity
; org
; org-trello
; Deprecated
; lsp-mode
; helm-lsp
))
;; Loop through each package and install if not already installed
(dolist (pkg package-list)
(if (package-installed-p pkg)
(message "Skipping %s (already installed)" (symbol-name pkg))
(progn
(message "Installing %s" (symbol-name pkg))
(package-install pkg))))