write script to automatically copy system configs to repo

This commit is contained in:
mykola2312 2024-09-10 04:59:43 +03:00
parent 8a4c37b8d9
commit 29c0e5be15

50
_sync.sh Executable file
View file

@ -0,0 +1,50 @@
#!/usr/bin/env bash
# Since git doesn't follow symlinks and hard links
# on ZFS aren't that easy, this script is made to
# manually copy files from system to this git repo
mkdirs=(
"X11"
"i3wm"
)
dirs=(
"/var/unbound:."
"$HOME/bhyve:."
"$HOME/.config/i3:i3wm"
"$HOME/.config/i3status:i3wm"
)
files=(
"/root/kernels/GOONBSD_ASUS-LAPTOP:GOONBSD_ASUS-LAPTOP"
"/usr/local/etc/dnsmasq.conf:dnsmasq.conf"
"/etc/fstab:fstab"
"/etc/hosts:hosts"
"/boot/loader.conf:loader.conf"
"/etc/ntp.conf:ntp.conf"
"/etc/pf.conf:pf.conf"
"/etc/rc.conf:rc.conf"
"/usr/local/etc/smb4.conf:smb4.conf"
"/etc/sysctl.conf:sysctl.conf"
)
# create directories
for newdir in "${mkdirs[@]}"; do
mkdir -p $newdir
done
# copy directories
for entry in "${dirs[@]}"; do
src=${entry%%:*}
dst=${entry#*:}
cp -R $src $dst
done
# copy files
for entry in "${files[@]}"; do
src=${entry%%:*}
dst=${entry#*:}
cp $src $dst
done