101 lines
3.4 KiB
EmacsLisp
101 lines
3.4 KiB
EmacsLisp
;;; init-package.el --- -*- lexical-binding: t -*-
|
|
;;
|
|
;; Filename: init-package.el
|
|
;; Description: Initialize Package Management for M-EMACS
|
|
;; Author: Mingde (Matthew) Zeng
|
|
;; Copyright (C) 2019 Mingde (Matthew) Zeng
|
|
;; Created: Thu Mar 14 10:53:00 2019 (-0400)
|
|
;; Version: 2.0.0
|
|
;; Last-Updated: Thu Dec 26 03:37:58 2019 (-0500)
|
|
;; By: Mingde (Matthew) Zeng
|
|
;; URL: https://github.com/MatthewZMD/.emacs.d
|
|
;; Keywords: M-EMACS .emacs.d packages use-package
|
|
;; Compatibility: emacs-version >= 26.1
|
|
;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;
|
|
;;; Commentary:
|
|
;;
|
|
;; This file initializes packages from melpa using use-package macro
|
|
;; as well as auto-package-update, diminish, gnu-elpa-keyring-update
|
|
;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;
|
|
;; This program is free software: you can redistribute it and/or modify
|
|
;; it under the terms of the GNU General Public License as published by
|
|
;; the Free Software Foundation, either version 3 of the License, or (at
|
|
;; your option) any later version.
|
|
;;
|
|
;; This program is distributed in the hope that it will be useful, but
|
|
;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
;; General Public License for more details.
|
|
;;
|
|
;; You should have received a copy of the GNU General Public License
|
|
;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
|
;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;
|
|
;;; Code:
|
|
|
|
;; MelpaPackages
|
|
;; Select the folder to store packages
|
|
;; Comment / Uncomment to use desired sites
|
|
(setq package-user-dir (expand-file-name "elpa" user-emacs-directory)
|
|
package-archives
|
|
'(("gnu" . "http://elpa.gnu.org/packages/")
|
|
("melpa" . "https://melpa.org/packages/")
|
|
("cselpa" . "https://elpa.thecybershadow.net/packages/")
|
|
;; ("melpa-cn" . "http://mirrors.cloud.tencent.com/elpa/melpa/")
|
|
;; ("gnu-cn" . "http://mirrors.cloud.tencent.com/elpa/gnu/")
|
|
))
|
|
;; -MelpaPackages
|
|
|
|
;; ConfigurePackageManager
|
|
(unless (bound-and-true-p package--initialized)
|
|
(setq package-enable-at-startup nil) ; To prevent initializing twice
|
|
(package-initialize))
|
|
|
|
;; set use-package-verbose to t for interpreted .emacs,
|
|
;; and to nil for byte-compiled .emacs.elc.
|
|
(eval-and-compile
|
|
(setq use-package-verbose (not (bound-and-true-p byte-compile-current-file))))
|
|
;; -ConfigurePackageManager
|
|
|
|
;; ConfigureUsePackage
|
|
;; Install use-package if not installed
|
|
(unless (package-installed-p 'use-package)
|
|
(package-refresh-contents)
|
|
(package-install 'use-package))
|
|
|
|
(eval-and-compile
|
|
(setq use-package-always-ensure t)
|
|
(setq use-package-expand-minimally t)
|
|
(setq use-package-compute-statistics t)
|
|
(setq use-package-enable-imenu-support t))
|
|
|
|
(eval-when-compile
|
|
(require 'use-package)
|
|
(require 'bind-key))
|
|
;; -ConfigureUsePackage
|
|
|
|
;; AutoPackageUpdate
|
|
(use-package auto-package-update
|
|
:if (not (daemonp))
|
|
:custom
|
|
(auto-package-update-interval 7) ;; in days
|
|
(auto-package-update-prompt-before-update t)
|
|
(auto-package-update-delete-old-versions t)
|
|
(auto-package-update-hide-results t)
|
|
:config
|
|
(auto-package-update-maybe))
|
|
;; -AutoPackageUpdate
|
|
|
|
;; DimPac
|
|
(use-package diminish)
|
|
;; -DimPac
|
|
|
|
(provide 'init-package)
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;; init-package.el ends here
|