【emacs】CaskとGitでパッケージ管理を共通化して別PCへ簡単に移行
PCの移行でEmacsの設定やパッケージもそのまま持っていきたくて、.emacs.dをzipで固めて移行先のPCに移行。みたいなことをしていたのだが、プログラムではgitで設定ファイルだけ管理してとかみんなやってるのに何でこんなことしてるんだと思ったのでCaskというのを使って設定ファイルで管理してみることにした。
Caskを使う
ここに書いてあるとおりにやったらいけた
http://vdeep.net/emacs-cask
Caskのインストール
$ brew install cask
Caskの初期化
$ cd ~/.emacs $ cask init
~/.emacs/Cask が作成されるのでここに管理したいパッケージを以下みたいに追加していく。
(depends-on "auto-complete") ・・・
~/.emacs.d/init.el にCaskを使うように追加
(require 'cask) (cask-initialize) ・・・
パッケージインストール
$ cd ~/.emacs.d $ cask install
あとは、emacsを起動すればパッケージが使える
別PCでセットアップ
Caskファイルとinit.elをgitで管理して、別PCではcloneしてセットアップ用のスクリプトを叩くだけという形にしたい。
これはこちらを参考にした
https://qiita.com/okamos/items/7f5461814e8ed8916870
$ tree ~/dotofiles/
/Users/xxxxx/dotofiles/
├── emacs
│ ├── Cask
│ └── init.el
└── setup.sh
で、こんな感じの構成で3ファイル管理。
setup.sh に以下のようにシンボリックを貼るだけのスクリプトを用意
#!/bin/sh ## emacs ln -sf ~/dotofiles/emacs/Cask ~/.emacs.d/Cask ln -sf ~/dotofiles/emacs/init.el ~/.emacs.d/init.el
これをgitで管理して別PCで、git cloneしてsh setup.shすれば必要なパッケージのインストールと設定もそのまま使えた。以上です。