-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup_env.sh
69 lines (58 loc) · 2.2 KB
/
setup_env.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/bash
# Obtener el hostname
HOSTNAME=$(hostname)
# Definir un array asociativo con los nombres de los entornos y sus hostnames
declare -A HOSTNAMES
HOSTNAMES=(
["LAP-321"]="oficina"
["buzort"]="casa"
["ubuntu"]="escuela" # Ajusta esto según el hostname de tu live USB
)
# Directorio del repositorio de dotfiles
DOTFILES_DIR="$HOME/MyDotFiles"
# Configuración por defecto
ZSHRC="$DOTFILES_DIR/zsh/.zshrc"
ZSHENV="$DOTFILES_DIR/zsh/.zsh_env.gpg"
ZSHFUNCTIONS="$DOTFILES_DIR/zsh/.zsh_functions"
NVIM_CONFIG="$DOTFILES_DIR/.config/nvim"
STARSHIP_CONFIG="$DOTFILES_DIR/starship/starship.toml"
# Detectar el entorno basado en el hostname
ENV=${HOSTNAMES[$HOSTNAME]}
# Configuración específica por entorno
case $ENV in
oficina)
ZSHRC="$DOTFILES_DIR/zsh/.zshrc_oficina"
ZSHENV="$DOTFILES_DIR/zsh/.zsh_env_oficina.gpg"
ZSHFUNCTIONS="$DOTFILES_DIR/zsh/.zsh_functions_oficina"
NVIM_CONFIG="$DOTFILES_DIR/.config/nvim_oficina"
STARSHIP_CONFIG="$DOTFILES_DIR/starship/starship_oficina.toml"
;;
casa)
ZSHRC="$DOTFILES_DIR/.zshrc_casa"
ZSHENV="$DOTFILES_DIR/.zsh_env_casa.gpg"
ZSHFUNCTIONS="$DOTFILES_DIR/.zsh_functions_casa"
NVIM_CONFIG="$DOTFILES_DIR/.config/nvim_casa"
STARSHIP_CONFIG="$DOTFILES_DIR/.config/starship_casa.toml"
;;
escuela)
ZSHRC="$DOTFILES_DIR/.zshrc_escuela"
ZSHENV="$DOTFILES_DIR/.zsh_env_escuela.gpg"
ZSHFUNCTIONS="$DOTFILES_DIR/.zsh_functions_escuela"
NVIM_CONFIG="$DOTFILES_DIR/.config/nvim_escuela"
STARSHIP_CONFIG="$DOTFILES_DIR/.config/starship_escuela.toml"
;;
esac
# Desencriptar archivos específicos del entorno
gpg --decrypt $ZSHENV > $HOME/.zsh_env
# Crear directorios si no existen
mkdir -p $HOME/.config
# Crear enlaces simbólicos
ln -sf $ZSHRC $HOME/.zshrc
ln -sf $ZSHFUNCTIONS $HOME/.zsh_functions
ln -sf $NVIM_CONFIG $HOME/.config/nvim
ln -sf $STARSHIP_CONFIG $HOME/.config/starship.toml
# Mensajes de log
echo "Configuración aplicada para el entorno: $ENV"
echo "Enlace simbólico creado para .zshrc -> $ZSHRC"
echo "Enlace simbólico creado para nvim -> $NVIM_CONFIG"
echo "Enlace simbólico creado para starship.toml -> $STARSHIP_CONFIG"