aboutsummaryrefslogtreecommitdiff
path: root/lisp/core/init-packages.el
blob: b7d56cfd926821b6831c0905ce81a64fd7e13748 (plain)
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
50
51
52
;;; init-packages.el --- Package management -*- lexical-binding: t; -*-

;; Copyright (C) 2026 Richard Qin
;; SPDX-License-Identifier: GPL-3.0-or-later

;; Author: Richard Qin
;; This file is not part of GNU Emacs.

;;; Commentary:

;; Configure package archives and initialize package.el.
;; Use use-package for declarative package configuration.

;;; Code:

;; ------------------------------------------------------------
;; Package archives
;; ------------------------------------------------------------

(require 'package)

(setq package-archives
      '(("gnu"    . "https://elpa.gnu.org/packages/")
        ("nongnu" . "https://elpa.nongnu.org/nongnu/")
        ("melpa"  . "https://melpa.org/packages/")))

;; Prefer GNU ELPA and NonGNU ELPA.
(setq package-archive-priorities
      '(("gnu"    . 30)
        ("nongnu" . 20)
        ("melpa"  . 10)))


;; ------------------------------------------------------------
;; Initialize package.el
;; ------------------------------------------------------------

(package-initialize)


;; ------------------------------------------------------------
;; use-package
;; ------------------------------------------------------------

(require 'use-package)

;; Enable package loading diagnostics.
(setq use-package-verbose t)

(provide 'init-packages)

;;; init-packages.el ends here