環境毎に.emacs.d/init.elの設定を分ける

自宅、ノマド、 会社、全ての Mac で開発環境は Emacs を使っているのだけど、init.el の設定をどうにかして共有出来ないかと悩んでた。

Dropbox や git で同期したとしても、画面サイズが違うので Emacs の縦横サイズはその都度設定しなければならない!

と、思っていたが、elisp では if が使えるので条件分岐させてみました。

;;ウィンドウサイズの位置、サイズ
(if window-system (progn
    (if (string-match "iMac" system-name)
        ;;iMac 21.5inch
        (setq initial-frame-alist '((width . 268)(height . 59)(top . 0)(left . 00)))
    )
    (if (string-match "MBA" system-name)
        ;;MacBook Air 11inch
        (setq initial-frame-alist '((width . 189)(height . 41)(top . 0)(left . 00)))
    )
    (set-background-color "Black")
    (set-foreground-color "White")
    (set-cursor-color "Gray")
))

system-name で表示される端末名の違いによって、ウィンドウサイズを変更しています。

全ての端末の OS が違うのならば、system-configuration で OS の種類を取得しても良いかも。