
Eu tenho um repositório no github que consiste na maioria dos meus arquivos de ponto, incluindo arquivos como .zshrc
.
Quando preciso migrar para um novo ambiente de desenvolvimento, só preciso extrair meus arquivos de ponto do github e ter certeza de que estão nos lugares corretos.
Mas às vezes o novo ambiente é bem diferente do antigo, por exemplo, posso precisar migrar do MacOS para alguma distribuição de Linux.
Essas diferenças podem tornar minhas configurações incorretas, por isso estou pensando se posso mover todas essas configurações dependentes do ambiente .zshrc
e salvá-las em alguns arquivos externos.
Responder1
Você pode carregar arquivos adicionais em seu ~/.zshrc
arquivo source FILENAME
.
Eu tenho o seguinte para ~/.zshrc
fazer isso para todos os arquivos com extensão .zsh
em~/.zshrc.d
# load additional configuration
if [[ -d ~/.zshrc.d ]]; then
for file in ~/.zshrc.d/*.zsh; do
source "$file"
done
unset file
fi
Você pode então colocar apenas os arquivos necessários para um ambiente específico.
Você pode até dar um passo além e criar um subdiretório para cada ambiente e carregar apenas o necessário. Por exemplo, com base no conteúdo de $OSTYPE
:
if [[ -d ~/.zshrc.d/${OSTYPE} ]]; then
for file in ~/.zshrc.d/${OSTYPE}/*.zsh; do
source "$file"
done
unset file
fi