-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsafe_dotfiles_adopt.sh
executable file
·46 lines (39 loc) · 1.27 KB
/
safe_dotfiles_adopt.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
#!/bin/bash
: '
@author Marco A Gallegos
@Date 2020/12/18
@Descripcion
este archivo debe hacer un backup de los archivos originales de los dotfiles configurados
solo si no existe alguno, despues se debe usar el stow sobre los dotfiles.
'
dotfiles=(
"bash" "alacritty" "htop"
)
declare -A context_of_original_files # especificamos que es un array
context_of_original_files=(
[bash]="$HOME"
[alacritty]="$HOME"
[htop]="$HOME"
)
declare -A original_files # especificamos que es un array
original_files=(
[bash]="/.bashrc"
[alacritty]="/.config/alacritty/alacritty.yml"
[htop]="/.config/htop/htoprc"
)
for i in ${dotfiles[@]}
do
# backup
if [[ -f "${context_of_original_files[$i]}${original_files[$i]}.bak" ]]; then
echo "ya tenemos respaldo de $i"
else
#echo "${original_files[$i]}" "${original_files[$i]}.bak"
cp -v "${context_of_original_files[$i]}${original_files[$i]}" "${context_of_original_files[$i]}${original_files[$i]}.bak"
if [[ -f "${context_of_original_files[$i]}${original_files[$i]}.bak" ]]; then
echo "se creo el respaldo de $i"
fi
fi
rm -v "${context_of_original_files[$i]}${original_files[$i]}"
# stow
stow --adopt -vt ${context_of_original_files[$i]} $i
done