package-loader.el 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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. (package-initialize)
  17. ;; Configure use-package
  18. (unless (package-installed-p 'use-package)
  19. (package-refresh-contents)
  20. (package-install 'use-package))
  21. (require 'use-package)
  22. (setq use-package-always-ensure t)
  23. ;; Auto update packages
  24. (use-package auto-package-update
  25. :config
  26. (add-hook 'auto-package-update-before-hook
  27. (lambda () (package-refresh-contents)))
  28. (setq auto-package-update-delete-old-versions t
  29. auto-package-update-interval 4
  30. auto-package-update-prompt-before-update t
  31. auto-package-update-hide-results t)
  32. (auto-package-update-maybe))
  33. (provide 'package-loader)