el-getから package.el + use-packageに移行した
Emacsをあまりヘビーに使っていないし、できれば標準のものだけで済ませたいと思ってパッケージマネージャを el-getから標準ツールに移行した。前から考えていたんだけど、MELPAなどに登録されていないパッケージをいくつか使っていてそれで el-get使っていたんだけど、Emacs29から use-packageが標準パッケージ化、さらに package-vc.elも加わり、使い勝手はさておき移行は可能になったので移行してみた。(el-getが開発中の Emacsで動かない問題がありそのパッチが全然マージされないなどの理由もある)
package-vcは以下のようなシグネチャで url
に git repositoryなどを渡せばそれをパッケージとして使える
(package-vc-install url rev nil name)
use-packageと組み合わせて使う
以下のような helperを用意し
(cl-defun from-github (&key repo name rev) (unless (package-installed-p name) (let ((url (format "https://github.com/%s" repo))) (package-vc-install url rev nil name))))
:init
でインストール済みかをチェックするようにしてそれっぽく使えるようにした
(use-package editutil :init (from-github :repo "syohex/emacs-editutil" :name 'editutil) :config (editutil-default-setup) (set-face-attribute 'editutil-clean-space nil :foreground "purple") (set-face-attribute 'editutil-vc-branch nil :foreground "color-202" :weight 'extra-bold))
とりあえず標準のパッケージマネジャーだけで必要なものだけはインストールできるようにはなった. まあただインストールが失敗することがあったり、使い勝手が el-getに比べると微妙な部分があるように思える. でもまあそこまでヘビーには使っていないのでひとまずこれでしばらくやってみる