zsh の環境依存の設定はどこに配置すればよいですか?

zsh の環境依存の設定はどこに配置すればよいですか?

私は github に、 などのファイルを含むほとんどのドット ファイルで構成されたリポジトリを持っています.zshrc

新しい開発環境に移行する必要がある場合は、github からドット ファイルを取得して、正しい場所にあることを確認するだけです。

しかし、新しい環境が古い環境と大きく異なる場合もあります。たとえば、MacOS から Linux のディストリビューションに移行する必要があるかもしれません。

これらの違いにより、設定が不正確になる可能性があるため、環境に依存する設定をすべて.zshrc外部ファイルから移動して保存できるかどうか疑問に思っています。

答え1

~/.zshrcで追加のファイルを読み込むことができますsource FILENAME

私は、拡張子が「」のすべてのファイルに対して、次のようにしています~/.zshrc.zsh~/.zshrc.d

# load additional configuration
if [[ -d ~/.zshrc.d ]]; then
    for file in ~/.zshrc.d/*.zsh; do
        source "$file"
    done
    unset file
fi

特定の環境に必要なファイルだけをそこに配置することができます。

さらに一歩進んで、環境ごとにサブディレクトリを作成し、必要なものだけをロードすることもできます。たとえば、次の内容に基づきます$OSTYPE

if [[ -d ~/.zshrc.d/${OSTYPE} ]]; then
    for file in ~/.zshrc.d/${OSTYPE}/*.zsh; do
        source "$file"
    done
    unset file
fi

関連情報