Added Make target to preinstall packages from ELPA.
authorOleksandr Gavenko <gavenkoa@gmail.com>
Sat, 02 Jan 2021 22:42:24 +0200
changeset 1687 3f69332472cb
parent 1686 bedbd1cd366d
child 1688 0bab53c47567
Added Make target to preinstall packages from ELPA.
.emacs-defs
.emacs-my
Makefile
README.rst
init.el
--- a/.emacs-defs	Sat Jan 02 22:41:10 2021 +0200
+++ b/.emacs-defs	Sat Jan 02 22:42:24 2021 +0200
@@ -28,6 +28,39 @@
 (setq bookmark-default-file (concat user-emacs-directory "bookmarks"))
 (setq ido-save-directory-list-file (concat user-emacs-directory ".ido.last"))
 
+(setq
+ package-archives
+ '(("gnu" . "http://elpa.gnu.org/packages/")
+   ;; ("marmalade" . "http://marmalade-repo.org/packages/")
+   ("melpa-stbl" . "https://stable.melpa.org/packages/")
+   ("melpa" . "http://melpa.org/packages/"))
+ package-archive-priorities
+ '(("gnu" . 10)
+   ("melpa-stbl" . 5)
+   ("melpa" . 0)) )
+
+(setq
+ package-selected-packages
+ '(adoc-mode
+   apache-mode
+   dockerfile-mode
+   groovy-mode
+   markdown-mode
+   terraform-mode
+   web-mode
+   yaml-mode
+   expand-region
+   helm
+   ))
+
+(defun my-lisp--install-external-packages ()
+  ;; (package-initialize)
+  ;; Update `package-archive-contents'.
+  (advice-add #'y-or-n-p :override (lambda (prompt) t))
+  (package-refresh-contents)
+  ;; (package-install 'yaml-mode)
+  (package-install-selected-packages))
+
 (defun my-lisp--load-pre ()
   (mapc (lambda (f)
           (when (file-exists-p f)
--- a/.emacs-my	Sat Jan 02 22:41:10 2021 +0200
+++ b/.emacs-my	Sat Jan 02 22:42:24 2021 +0200
@@ -340,26 +340,6 @@
   (setq w32-apps-modifier 'super))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-(message "package, elpa")
-
-(eval-when 'compile (require 'package nil t))
-
-;; (setq package-enable-at-startup t)
-(when (fboundp 'package-initialize)
-  (package-initialize))
-
-(setq
- package-archives
- '(("gnu" . "http://elpa.gnu.org/packages/")
-   ;; ("marmalade" . "http://marmalade-repo.org/packages/")
-   ("melpa-stbl" . "https://stable.melpa.org/packages/")
-   ("melpa" . "http://melpa.org/packages/"))
- package-archive-priorities
- '(("gnu" . 10)
-   ("melpa-stbl" . 5)
-   ("melpa" . 0)) )
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 (message "appearance")
 
 ;; To maximize frame on full screen, not work with Windows Emacs 21.4.
--- a/Makefile	Sat Jan 02 22:41:10 2021 +0200
+++ b/Makefile	Sat Jan 02 22:42:24 2021 +0200
@@ -135,6 +135,10 @@
 install-all: install
 	install -m 0644 -t $(emacsdir) .emacs-pre .emacs-post
 
+.PHONY: install-packages
+install-packages:
+	$(EMACS) --batch -l "$(curdir)/.emacs-defs" -f my-lisp--install-external-packages
+
 .PHONY: install
 install: upgrade
 	rm -rf $(mylispdir)
--- a/README.rst	Sat Jan 02 22:41:10 2021 +0200
+++ b/README.rst	Sat Jan 02 22:42:24 2021 +0200
@@ -7,8 +7,19 @@
 
 :Author: Oleksandr Gavenko <gavenkoa@gmail.com>
 
-Config files structure.
-=======================
+Installation
+===
+
+To install::
+
+  make install
+
+To download external packages::
+
+  mymake install-packages
+
+Config files structure
+===
 
 I use ``~/.emacs.d/init.d`` as main entry point for customisation. Tha file load
 anoth files in such order:
--- a/init.el	Sat Jan 02 22:41:10 2021 +0200
+++ b/init.el	Sat Jan 02 22:42:24 2021 +0200
@@ -6,14 +6,23 @@
 ;;
 ;; For load order see README.
 
-;; ======================================================================
-;; Load path.
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(message "load-path")
 
 (load "~/.emacs.d/.emacs-defs")
+
+(load custom-file t)
+(load my-lisp-autogen t)
+(load my-lisp-auth t)
+(load my-lisp-pre)
+
 (my-lisp--load-usr-home)
 
-(mapc
- (lambda (fname) (if (>= emacs-major-version 23)
-                (load fname t)
-              (load fname t nil t)))
- (list custom-file my-lisp-autogen my-lisp-auth my-lisp-pre my-lisp-autoload my-lisp-dotemacs my-lisp-post))
+;; (setq package-enable-at-startup t)
+(when (fboundp 'package-initialize)
+  (package-initialize))
+
+(load my-lisp-autoload t)
+(load my-lisp-dotemacs t)
+(load my-lisp-post t)
+