emacsを使っていて, aptのようにemacsのパッケージが簡単にインストールできたら良いと思ったことはありませんか?
auto-installという便利なものがありますが, 個人的にはコマンドラインからやりたいなあ, と思ったりします.
というのも, 対話的なものだとスクリプト一発で俺環境構築!みたいなことができないじゃないですか.
というわけで作りました. 名前はemacs-settings. emacsのためのaptです.
これはclbuildとrosinstallに多大な影響をうけています.
たとえばこんな感じになります
$ emacs-settings packages
navi-2ch
2ch viewer
clmemo
ChangeLog Memo
goby
Presentation Mode
slime
Common Lisp IDE
twittering
Post to twitter and get your time line
で, パッケージのインストールは
$ emacs-settings install navi-2ch
now downloading http://sourceforge.net/projects/navi2ch/files/navi2ch/navi2ch-1.8.3/navi2ch-1.8.3.tar.gz/download to /Users/garaemon/prog/emacs-settings/emacs.d/navi-2ch...
now expanding /Users/garaemon/prog/emacs-settings/emacs.d/navi-2ch/navi2ch-1.8.3.tar.gz to /Users/garaemon/prog/emacs-settings/emacs.d/navi-2ch...
checking for a BSD-compatible install... /usr/bin/install -c
といった感じにすすんでいきます.
このemacs-settings自体はgithubからとってくることで利用できます.
$ git clone git://github.com/garaemon/emacs-settings.git
このemacs-settingsというディレクトリにパスを通してください.
次にこのemacs-settingsでインストールしたパッケージが利用できるように.emacsをいじります.
$ emacs-settings setup >> ~/.emacs
これで設定はおしまいです. あとはemacs-settings packagesで欲しいパッケージをみつけて, emacs-settings installするだけです. 詳しいことはemacs-settings helpしてね. (サポートしてない機能も多いです).
次にemacs-settingsディレクトリの構成をみていきましょう.
emacs-settings/
emacs-settings # shell script. コマンドラインではこれを呼び出してる
emacs-settings.el # emacs lisp script. じつは裏でこれを呼んでる
init.el # 普通にemacsを起動するときにこれを呼び込む
emacs.d/ #downloadしたパッケージの置き場所
sources/ # /etc/apt/sources.list的なもの
list.el #ここにパッケージのurlとかを書く
addコマンドでsourcesにリストファイルを追加できます.
$ emacs-settings add http://garaemon.net/emacs-settings-repo/garaemon.el
例えばこの後,
$ emacs-settings install garaemon-all-settings
とやると僕のすべての設定をinstallできます.
このリストファイルは以下のようなフォーマットになってます.
(http://garaemon.net/emacs-settings-repo/garaemon.el ;このファイルの最新版のありか
;; ここからパッケージの記述
(emacs-wiki ;名前
library ;パッケージのタイプ. library, bootstrap, virtualがあります. bootstrapは起動時に読み込まれる
;; tar-ball, cvs, svnとかがかけます
(tar-ball http://mwolson.org/static/dist/emacs-wiki/emacs-wiki-2.72.tar.gz)
"Implementation of a Wiki by JohnWiegley" ;description
(planner) ;依存してる他のパッケージ
("cd emacs-wiki-2.72 && EMACS=$EMACS make")) ;インストールするときにすべきコマンド. 文字列だとshellで実行
...)
まぁmigemoにまだ対応してないとか, いろいろと問題もあるんですがねー. バグいっぱいありそうだし…