読者です 読者をやめる 読者になる 読者になる

やろーじだい

ブログです

Cask と Pallet の導入

 

elispの管理をCask + Palletで行うようにしました。

 

Cask

https://github.com/cask/cask

Pallet

https://github.com/rdallasgray/pallet

 

導入の参考

http://d.hatena.ne.jp/syohex/20140424/1398310931

http://gongo.hatenablog.com/entry/2014/05/09/230836

 

github

https://github.com/iyahoo/dotemacs

 

導入は上記の参考サイトでとくに問題なくできました。

Palletを確認する前だったので、使っていないものの掃除もかねて.emacs.dをまるごと作りなおすことにしましたが、

M-x pallet init

でpackageでインストールしたものから自動的にcaskファイルを作成してくれます。

packageを知る前のelisp群、packageでインストールしたもの、el-getでインストールしたものと非常に散らかっていた.emacs.d内がかなり綺麗に。 なにより嬉しいのが、バージョンアップに対する管理はほとんど放棄していた状態でしたが、

cask upgrade

とコマンド一つでできるように。

caskはあたりまえですが名前を間違えるとインストールされません。 例えば

誤り
(depends-on "haskell")
(depends-on "erlang-mode")
正しい
(depends-on "haskell-mode")
(depends-on "erlang")

のように、しっかり確認する必要がありすこし面倒なので、list-packageのように一覧でインストールする機能が欲しいなあと思っていたところ、Palletにより、

つまり M-x package-install や M-x list-packages からパッケージの install or uninstall を行うと 自動的に Cask ファイルに反映してくれる ということです。

とのことだったので、導入しました。

これのインストール先はどうなるのかと思いましたが、Palletインストール後はしっかり.cask下にインストールしてくれます。

これで導入、削除はpackageを、アップデートや複数マシンでの環境構築はCaskで、またelispはほぼ全て一箇所に集められるようになり、かなり便利になりました。

caskファイルは、はじめは自分でコメントなどをいれてグループごとに整理して書いていましたが、package-listからのインストール時のPalletのCask自動編集により 無駄のないアルファベット順に書き換えられますので、Palletを利用する人は注意して下さい。