Emacsのほとんどのカスタマイズは通常のinitファイルに配置するべきです。Emacs初期化ファイルを参照してください。しかしEmacsのスタートアップで通常のinitファイルを処理するより早い段階で効果をもつカスタマイズが必要な場合があります。そのようなカスタマイゼーションは早期initファイル~/.config/emacs/early-init.elまたは~/.emacs.d/early-init.elに配置することができます。このファイルはパッケージシステムとGUIの初期化前にロードされるのでpackage-enable-at-startup
、package-load-list
、package-user-dir
のようなパッケージ初期化プロセスに影響を与える変数をカスタマイズできます。新たなパッケージのインストールだけに影響があるpackage-archives
のような変数やインストール済みパッケージを利用可能にするプロセス以外は正規のinitファイルでカスタマイズできます。パッケージのインストールを参照してください。
通常のinitファイルに残すことができるカスタマイゼーションをearly-init.elに移動することは推奨できません。早期initファイルはGUIの初期化前に読み込まれるので。GUI機能に関連するカスタマイゼーションはearly-init.elでは信頼性をもって機能しないからです。対照的に通常のinitファイルはGUIの初期化後に読み込まれます。GUI機能に依存するカスタマイズを早期initファイルで行わなければならない場合には、Emacsがスタートアップ時に提供するwindow-setup-hook
やtty-setup-hook
のようなフックを外して実行してください。フックを参照してください。
早期initファイルの詳細な情報はInit File in The Emacs Lisp Reference Manualを参照してください。