conf-sync/install.sh

59 lines
2.0 KiB
Bash
Raw Normal View History

2022-03-13 12:18:06 +01:00
#!/usr/bin/env bash
2022-03-12 18:15:04 +01:00
2022-03-17 15:10:44 +01:00
run_directory=$(dirname "$0")
2022-07-24 15:26:04 +02:00
user=$(whoami)
2022-03-12 18:15:04 +01:00
2022-03-17 15:10:44 +01:00
source "$run_directory/variables.conf"
2022-03-12 18:15:04 +01:00
2022-03-17 14:55:37 +01:00
if [ -f $run_directory/.disabled ]; then
echo "Installation is disabled. Exiting..."
exit 0
fi
# NOTE: the handling of init/service manager comes from this discussion:
# https://unix.stackexchange.com/questions/18209/detect-init-system-using-the-shell
2022-03-12 18:15:04 +01:00
if [ -e /run/systemd/system ]; then # service manager is Systemd
echo "Copying Systemd units to system directory..."
2022-07-24 15:23:33 +02:00
if [[ $user != 'root' ]]; then
sudo cp systemd-templates/conf-sync.service /etc/systemd/system/
sudo sed -i -e "s/PH_USER/$(whoami)/g" /etc/systemd/system/conf-sync.service
sudo sed -i -e "s:PH_DIRECTORY:$(pwd):g" /etc/systemd/system/conf-sync.service
if $client_type == "server"; then
sudo cp systemd-templates/conf-sync-server.timer /etc/systemd/system/conf-sync.timer
else
sudo cp systemd-templates/conf-sync-desktop.timer /etc/systemd/system/conf-sync.timer
fi
2022-07-24 15:19:59 +02:00
else
2022-07-24 15:23:33 +02:00
cp systemd-templates/conf-sync.service /etc/systemd/system/
sed -i -e "s/PH_USER/$(whoami)/g" /etc/systemd/system/conf-sync.service
sed -i -e "s:PH_DIRECTORY:$(pwd):g" /etc/systemd/system/conf-sync.service
if $client_type == "server"; then
cp systemd-templates/conf-sync-server.timer /etc/systemd/system/conf-sync.timer
else
cp systemd-templates/conf-sync-desktop.timer /etc/systemd/system/conf-sync.timer
fi
2022-07-24 15:19:59 +02:00
fi
echo "Reloading Systemd..."
2022-07-24 15:23:33 +02:00
if [[ $user != 'root' ]]; then
sudo systemctl daemon-reload
2022-07-24 15:19:59 +02:00
else
2022-07-24 15:23:33 +02:00
systemctl daemon-reload
2022-07-24 15:19:59 +02:00
fi
echo "Enabling timer (not starting it, either do it manually or reboot)..."
2022-07-24 15:23:33 +02:00
if [[ $user != 'root' ]]; then
sudo systemctl enable conf-sync.timer
else
systemctl enable conf-sync.timer
fi
elif [ "$(uname)" = "OpenBSD" ]; then
echo "ERROR: OpenBSD is not yet supported, but this is planned."
exit 0
2022-07-24 15:19:59 +02:00
else
echo "ERROR: could not determine a supported system. Exiting."
exit 1
2022-07-24 15:19:59 +02:00
fi
2022-03-12 18:15:04 +01:00
echo "Finished install. Exiting..."
exit 0