How to automatically install Emacs packages by specifying a list of package names?

后端 未结 11 2650
隐瞒了意图╮
隐瞒了意图╮ 2020-12-22 15:22

I am using package to manage my Emacs extensions. In order to synchronize my Emacs settings on different computers, I\'d like a way to specify a list of package

11条回答
  •  青春惊慌失措
    2020-12-22 15:40

    (require 'cl)
    (require 'package)
    
    (setq cfg-var:packages '(
           emmet-mode
           ergoemacs-mode
           flycheck
           flycheck-pyflakes
           monokai-theme
           py-autopep8
           py-isort
           rainbow-mode
           yafolding
           yasnippet))
    
    (defun cfg:install-packages ()
        (let ((pkgs (remove-if #'package-installed-p cfg-var:packages)))
            (when pkgs
                (message "%s" "Emacs refresh packages database...")
                (package-refresh-contents)
                (message "%s" " done.")
                (dolist (p cfg-var:packages)
                    (package-install p)))))
    
    (add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/") t)
    (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
    (add-to-list 'package-archives '("melpa-stable" . "http://stable.melpa.org/packages/") t)
    (add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)
    (package-initialize)
    
    (cfg:install-packages)
    

提交回复
热议问题