package-loader.el 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. ;; --- Package configuration file ---
  2. ;; Set up package loading utilities, including:
  3. ;; * use-package
  4. ;; * Installing needed packages
  5. ;; * Auto-hooking packages
  6. ;; * auto-updating
  7. ;; The package manager
  8. (require 'package)
  9. ;; Add package sources
  10. (setq package-archives
  11. '(("melpa" . "https://melpa.org/packages/")
  12. ("melpa-stable" . "https://stable.melpa.org/packages/")
  13. ("gnu" . "https://elpa.gnu.org/packages/")
  14. ("org" . "https://orgmode.org/elpa/"))
  15. package-archive-priorities '(("melpa" . 1)))
  16. ;; Added by Package.el. This must come before configurations of
  17. ;; installed packages. Don't delete this line. If you don't want it,
  18. ;; just comment it out by adding a semicolon to the start of the line.
  19. ;; You may delete these explanatory comments.
  20. (package-initialize)
  21. ;; Configure use-package
  22. (unless (package-installed-p 'use-package)
  23. (package-refresh-contents)
  24. (package-install 'use-package))
  25. (require 'use-package)
  26. (setq use-package-always-ensure t)
  27. ;; Auto update packages
  28. (use-package auto-package-update
  29. :config
  30. (add-hook 'auto-package-update-before-hook
  31. (lambda () (package-refresh-contents)))
  32. (setq auto-package-update-delete-old-versions t
  33. auto-package-update-interval 4
  34. auto-package-update-prompt-before-update t
  35. auto-package-update-hide-results t)
  36. (auto-package-update-maybe))
  37. (provide 'package-loader)