
Tengo un repositorio en github que consta de la mayoría de mis archivos dot, incluidos archivos como .zshrc
.
Cuando necesito pasar a un nuevo entorno de desarrollo, solo necesito extraer mis archivos dot de github y asegurarme de que estén en los lugares correctos.
Pero a veces el nuevo entorno es bastante diferente al anterior; por ejemplo, es posible que necesite pasar de MacOS a alguna distribución de Linux.
Estas diferencias pueden hacer que mis configuraciones sean incorrectas, por lo que me pregunto si puedo sacar todas esas configuraciones dependientes del entorno .zshrc
y guardarlas en algunos archivos externos.
Respuesta1
Puede cargar archivos adicionales en su ~/.zshrc
formato source FILENAME
.
Tengo lo siguiente en mi ~/.zshrc
para hacerlo para todos los archivos con extensión .zsh
en~/.zshrc.d
# load additional configuration
if [[ -d ~/.zshrc.d ]]; then
for file in ~/.zshrc.d/*.zsh; do
source "$file"
done
unset file
fi
Luego puede colocar allí solo los archivos que necesita para un entorno específico.
Incluso podrías ir un paso más allá y crear un subdirectorio para cada entorno y cargar sólo el necesario. Por ejemplo, según el contenido de $OSTYPE
:
if [[ -d ~/.zshrc.d/${OSTYPE} ]]; then
for file in ~/.zshrc.d/${OSTYPE}/*.zsh; do
source "$file"
done
unset file
fi