diff options
author | Guangxiong Lin <[email protected]> | 2022-03-13 01:12:32 +0800 |
---|---|---|
committer | Guangxiong Lin <[email protected]> | 2022-03-13 01:12:32 +0800 |
commit | 36081c6ca6b25fd9c49c259d91ada5180d78a580 (patch) | |
tree | c7778697e0d3aa76f28a4c24404018953afc27eb /.emacs.d/lisp/init-package.el | |
parent | 38ab771977e6511d02df06cb908824707d728303 (diff) | |
download | dotfiles-36081c6ca6b25fd9c49c259d91ada5180d78a580.tar.gz dotfiles-36081c6ca6b25fd9c49c259d91ada5180d78a580.tar.bz2 dotfiles-36081c6ca6b25fd9c49c259d91ada5180d78a580.zip |
Drop use-package at all (emacs)
Diffstat (limited to '.emacs.d/lisp/init-package.el')
-rw-r--r-- | .emacs.d/lisp/init-package.el | 47 |
1 files changed, 38 insertions, 9 deletions
diff --git a/.emacs.d/lisp/init-package.el b/.emacs.d/lisp/init-package.el index 1501de4..dbd520e 100644 --- a/.emacs.d/lisp/init-package.el +++ b/.emacs.d/lisp/init-package.el @@ -2,17 +2,46 @@ (setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/") ("mepla" . "https://melpa.org/packages/") ("melpa-stable" . "https://stable.melpa.org/packages/"))) -(package-initialize) -(dolist (package '(use-package)) - (unless (package-installed-p package) - (package-refresh-contents) - (package-install package))) -(require 'use-package) -(setq use-package-always-ensure t - use-package-always-defer t) +(defun gx/require-package (package &optional min-version no-refresh) + "Install given PACKAGE, optionally requiring MIN-VERSION. If +NO-REFRESH is non-nil, the available package lists will not be +re-downloaded in order to locate PACKAGE. + +This function is copied from +https://github.com/purcell/emacs.d/blob/master/lisp/init-elpa.el" + (or (package-installed-p package min-version) + (let* ((known (cdr (assoc package package-archive-contents))) + (best (car (sort known (lambda (a b) + (version-list-<= (package-desc-version b) + (package-desc-version a))))))) + (if (and best (version-list-<= min-version (package-desc-version best))) + (package-install best) + (if no-refresh + (error "No version of %s >= %S is available" package min-version) + (package-refresh-contents) + (require-package package min-version t))) + (package-installed-p package min-version)))) + +(defun gx/maybe-require-package (package &optional min-version no-refresh) + "Try to install PACKAGE, and return non-nil if successful. +In the event of failure, return nil and print a warning message. +Optionally require MIN-VERSION. If NO-REFRESH is non-nil, the +available package lists will not be re-downloaded in order to +locate PACKAGE. + +This function is copied from +https://github.com/purcell/emacs.d/blob/master/lisp/init-elpa.el" + (condition-case err + (gx/require-package package min-version no-refresh) + (error + (message "Couldn't install optional package `%s': %S" package err) + nil))) + +(setq package-enable-at-startup nil) +(package-initialize) -(use-package auto-package-update) +(gx/maybe-require-package 'auto-package-update) (setq auto-package-update-delete-old-versions t auto-package-update-hide-results t) |