環境毎に.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の種類を取得しても良いかも。

Emacs