hnwの日記

Emacs起動時に自分好みのelispを自動的にインストールする


(2015/04/27追記)Emacs24.4付属のpackage.elでは「野良elispをpackage-installする」が動かなくなっていました。中の人が想定してない使い方で頑張るより、必要なものはMELPAにぶっこんでいくスタイルの方が正しい気がしますね…。


自宅と会社など、複数環境でEmacsを使っていると全環境を同じ状態に保つのは意外と手間がかかります。GitHubなどを利用してinit.elを共有すればそれなりに同じ状態にできますが、完全に同じ状態にしようと思うとelispのインストール状態も共有する必要があり、これが案外面倒だったりします*1


そこで、init.el内に自分が必要なパッケージ名を列挙しておいて、起動時にインストールされていないパッケージがあったらpackage.elでインストールする仕組みを導入しました。さらに、URLで指定されたelispをpackage.el管理する仕組みを組み合わせました。これが予想以上に快適だったので紹介します。これは、次の2つの記事を混ぜ合わせたような内容になっています。


僕と同じことをするには、init.elに下記の内容を貼り付ければ準備完了です。GNU ELPA・Marmalade・MELPAで提供されているパッケージの場合はmy/favorite-packagesのパッケージ名を、それ以外の場合はmy/favorite-package-urlsのURLを、それぞれお好みに合わせて書き換えてください。

*1:他人の書いたelispGitHub管理しちゃうよ派を除く

続きを読む