about summary refs log tree commit diff stats
path: root/.emacs.d/lisp/init-packages.el
diff options
context:
space:
mode:
authorDavid Morgan <djm_uk@protonmail.com>2021-08-17 12:49:19 +0100
committerDavid Morgan <djm_uk@protonmail.com>2021-08-17 12:49:19 +0100
commitd0db5660caa836755ea8c99471d816484ea9e837 (patch)
treec7d0456a58e450abaf34b489b0b31c58ddbc8557 /.emacs.d/lisp/init-packages.el
parentc92b18514728245850d31531ce224a74eddfc5a6 (diff)
downloaddotfiles-d0db5660caa836755ea8c99471d816484ea9e837.tar.gz
Add new .emacs.d
Diffstat (limited to '.emacs.d/lisp/init-packages.el')
-rw-r--r--.emacs.d/lisp/init-packages.el57
1 files changed, 57 insertions, 0 deletions
diff --git a/.emacs.d/lisp/init-packages.el b/.emacs.d/lisp/init-packages.el
new file mode 100644
index 0000000..ad501b8
--- /dev/null
+++ b/.emacs.d/lisp/init-packages.el
@@ -0,0 +1,57 @@
+;;; init-packages.el --- Package Configuration File -*- lexical-binding: t -*-
+;;; Commentary:
+;;; Code:
+
+;; TODO - straight.el?
+
+(require 'package)
+(require 'url)
+
+(setq package-archives '(("melpa" . "https://melpa.org/packages/")
+                         ("melpa-stable" . "https://stable.melpa.org/packages/")
+                         ("nongnu" . "https://elpa.nongnu.org/nongnu/")
+                         ("elpa" . "https://elpa.gnu.org/packages/")))
+
+(package-initialize)
+
+(unless package-archive-contents
+  (package-refresh-contents))
+
+(unless (package-installed-p 'use-package)
+   (package-install 'use-package))
+(require 'use-package)
+
+(setq use-package-always-ensure t)
+
+(use-package diminish)
+
+(use-package paradox
+  :config
+  (paradox-enable))
+
+(defvar vertico-extensions-dir (expand-file-name "site-lisp/vertico-extensions" user-emacs-directory))
+(defvar vertico-extensions '("vertico-directory" "vertico-repeat"))
+
+(defun fetch-vertico-extensions ()
+  "Download the latest versions of the required vertico extensions into vertico-extensions-dir"
+  (dolist (extension vertico-extensions)
+    (let ((ext-file (format "%s.el" extension)))
+      (url-copy-file
+       (format "https://raw.githubusercontent.com/minad/vertico/main/extensions/%s" ext-file)
+       (expand-file-name ext-file vertico-extensions-dir)))))
+
+(unless (file-directory-p vertico-extensions-dir)
+  (make-directory vertico-extensions-dir t)
+  (fetch-vertico-extensions))
+
+(use-package epl
+  :config
+  (defun my/upgrade-packages ()
+    (interactive)
+    (epl-refresh)
+    (epl-upgrade)
+    (fetch-vertico-extensions)
+    (message "Package upgrade finished.")))
+
+(provide 'init-packages)
+;;; init-packages.el ends here