かわちょでぶろぐ

Visual Basic を……、強いられているんだ! → 強いられなくなった!

.emacs.d 全部を Dropbox 同期させるのをやめて init.el だけにした

(ちょっと前の連休に遠出しなかったので、Cocoa Emacs の新しいバージョンを入れ直したり ~/.emacs.d/init.el の整理をした。)

今まで ~/.emacs.d/ 全体を Dropbox で同期させていた。

  • 複数の環境で同じ Emacs の設定を使いたい、同期させたい。
  • ダウンロードしてきた *.el を他の環境でも入れ直すのがめんどうなのでそれも同期させたい。

が、次の理由から、~/.emacs.d/ 全体でなく init.el だけ Dropbox に置いてリンクすることにした。

  • ~/.emacs.d/ には設定ファイル以外に、自動的に作られるファイルが多数あって自動的に同期されると逆に面倒。
    • ~/.emacs.d/auto-save-list
    • ~/.emacs.d/.session
    • などなど
    • これらを環境やバージョンごとにファイル名を変えたり ~.emacs.d の外に保存するよう変数の値を変えたりしてて、逆に管理が面倒になってきてた。
  • package.el や auto-install などのおかげで Emacs Lisp パッケージのインストールは簡単になってきたので、各環境ごとに入れ直すのが手間でなくなってきた。
  • また、各環境の Emacs バージョンの差によって同じパッケージバージョンではエラーになることが発生してきた
    • メジャーバージョンごとにパッケージのインストールフォルダは分けてたりしたけど、
    • cl-lib が必要かどうかとか Emacs 24.3 前後で違うのが出てきたし。

というわけで、Dropbox へのシンボリックリンクを作り直し。

今まで ~/.emacs.d/ 自体がリンクだったのをやめて、

~/.emacs.d/ --> ~/Dropbox/dot.emacs.d/
                            |-- init.el
                            |-- auto-install23/
                            |-- auto-install24/
                            |    :

これからは、~/.emacs.d/ 内の自分のファイルのみリンクに。

~/.emacs.d
   |-- init.el --> ~/Dropbox/dot.emacs.d/init.el
   |-- inits/  --> ~/Dropbox/dot.emacs.d/inits/
   |-- auto-install/
   |-- elpa/
   |     :
  • init.el を分割する場合は、init-loader を使い 1 ディレクトリにまとめて、そこを同期させればいいかな。今は使ってないやつを削りまくったので init.el だけにおさまっているが、Windows, Cocoa Emacs 固有の設定は分けておいた方が更新が楽かも。