既に時代遅れだったemacsのパッケージ管理

Getting Started Emacs - エンジニアですよ! でpackage.elを使ってパッケージ管理を始めた。

しかし!!

時代は既に先に進んでいた。

Cask, Palletなるものが現れていた

OMG

https://github.com/cask/cask

あのnaoya-itoも既に乗り換えているではないか

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

別にこのメリットにそこまで魅力を感じるわけでもないが、なんとなく便利そうなので使ってみたいというw

ということで早速導入することにする

まずはCaskをインストール

brew install cask

Caskの初期化

~/.emacs.d(など設定ファイルをおいている場所) で、

cask init

を実行する。するとそのディレクトリにCaskというファイルができる。

今後このファイルでパッケージを管理する

Palletを入れる準備

さきほど作られたCaskに、下記の設定を書く。

(depends-on "pallet")

Palletを使い、pallet-modeを有効にしておくとpackage-list-packagesなどでインストールしてもCaskファイルに追記してくれるらしい。

整理しやすさとか考えるとpallet-modeはオフにしておいてコメントとかつけながら書こうと思っている。

(1回コメントつけながら書いていたけど、試すためにpallet-modeを使ったらコメント消えてソートされてしまった・・)

もし手書きがお好みならこの時点でファイルに諸々パッケージを書いていく。

使うパッケージを書く

手で設定ファイルを書かない場合はここは飛ばす

使うパッケージを書いていく。

単にMelpa?とかから入れる場合は

(depends-on "package-name")

githubとかから入れる場合は

(depends-on "package" :git "https://github.com/user/package-repo.git")

こういう書き方ができる。

詳しくはCaskのページで。

パッケージをインストール

cask install

Caskファイルに記述したパッケージをインストールする。Palletもこの時点でインストールされる

palletを使う設定を書く

僕の場合は設定ファイルを~/.emacs.d/init.elにしているので、init.elに以下の設定を書く。

(require 'cask "path/to/cask.el")
(cask-initialize)
(require 'pallet)
;; (pallet-mode t) ;; pallet-modeを有効にする場合

cask.elのパスはbrewで入れた場合は/opt/local/share/emacs/site-lispになると思う

これでemacsを使い始めればOKのはずだ

もし、ファイルにパッケージを書くんじゃなくてpackage-list-packagesとかで入れていくのがおこのみならpallet-modeを有効にして好みのパッケージを入れていけばいい。

naoya-itoさんのページにあったこのファイルなどなどを参考にして、以下のように設定している。(くそっ、コメント消されてしまった・・・)