This is the package manager configuration for CCE: The Complete Computing Environment
I use MELPA and GNU ELPA to get my Emacs packages, as much as I can. It seems like a lot of folks are heading towards using straight.el or using another thing which pulls in packages directly from the sources, but I use these for now, unless I can't.
emacs-lisp source:(provide 'cce/packaging)
package.el
emacs-lisp source:(package-initialize) (add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/") t) (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
yaml source:- name: emacs is installed dnf: name: emacs state: installed when: ansible_pkg_mgr=="dnf" tags: - install-emacs - name: emacs is installed apt: name: emacs state: present when: ansible_pkg_mgr=="apt" tags: - install-emacs - name: emacs is installed shell: creates: /data/data/com.termux/files/usr/bin/emacs cmd: pkg install -y emacs when: ansible_pkg_mgr=="unknown" tags: - install-emacs - name: org-mode installed become: "{{needs_become_deescalate}}" become_user: "{{local_account}}" shell: emacs --batch -q --eval "(progn (package-initialize) (setq package-archives '((\"org\" . \"http://orgmode.org/elpa/\"))) (setq package-pinned-archives '((org . \"org\") (org-plus-contrib . \"org\"))) (package-refresh-contents) (package-install 'org) (package-install 'org-plus-contrib))" register: org_install changed_when: not org_install.stdout == "" tags: - install-emacs
straight.el
emacs-lisp source: :tangle no(defvar bootstrap-version) (let ((bootstrap-file (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory)) (bootstrap-version 5)) (unless (file-exists-p bootstrap-file) (with-current-buffer (url-retrieve-synchronously "https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el" 'silent 'inhibit-cookies) (goto-char (point-max)) (eval-print-last-sexp))) (load bootstrap-file nil 'nomessage))
use-package
I want to use use-package for most packages which I currently install using this hand-built function, which I plan to only use for ... installing use-package.
emacs-lisp source:(setq cce/did-refresh-packages nil) (defun install-pkg (pkg) (unless (package-installed-p pkg) (unless cce/did-refresh-packages (package-refresh-contents) (setq cce/did-refresh-packages t)) (package-install pkg)))
emacs-lisp source:(install-pkg 'use-package) (require 'use-package) (setq use-package-always-ensure t use-package-compute-statistics t)