working system
This commit is contained in:
commit
e0ad4ea627
53 changed files with 2927 additions and 0 deletions
52
lisp/init-elpa.el
Normal file
52
lisp/init-elpa.el
Normal file
|
@ -0,0 +1,52 @@
|
|||
;;; Package --- config -*- lexical-binding: t -*-
|
||||
(require 'package)
|
||||
|
||||
;; We install seperate package repositories for each Emacs version to prevent bytecode incompatibility
|
||||
(setq package-user-dir
|
||||
(expand-file-name (format "elpa-%s.%s" emacs-major-version emacs-minor-version)
|
||||
user-emacs-directory))
|
||||
|
||||
|
||||
; Standard Package repository
|
||||
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
||||
|
||||
(defun 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."
|
||||
(when (stringp min-version)
|
||||
(setq min-version (version-to-list min-version)))
|
||||
(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 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."
|
||||
(condition-case err
|
||||
(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)
|
||||
(setq package-native-compile t)
|
||||
(package-initialize)
|
||||
|
||||
(provide 'init-elpa)
|
||||
;;; init-elpa.el end of file
|
Loading…
Add table
Add a link
Reference in a new issue