2022-03-13 12:18:06 +01:00
|
|
|
#!/usr/bin/env bash
|
2022-03-12 18:15:04 +01:00
|
|
|
|
2022-09-22 18:43:48 +02:00
|
|
|
run_directory=$(dirname $(readlink -f "$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
|
|
|
|
|
2022-08-28 12:49:38 +02:00
|
|
|
if [[ $user != 'root' ]]; then
|
|
|
|
sudo="sudo"
|
|
|
|
else
|
|
|
|
sudo=""
|
|
|
|
fi
|
|
|
|
|
2022-03-13 15:47:15 +01:00
|
|
|
# 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
|
|
|
|
2022-03-13 15:47:15 +01:00
|
|
|
if [ -e /run/systemd/system ]; then # service manager is Systemd
|
|
|
|
echo "Copying Systemd units to system directory..."
|
2022-09-22 18:17:43 +02:00
|
|
|
$sudo cp $run_directory/systemd-templates/conf-sync.service /etc/systemd/system/
|
2022-08-28 12:49:38 +02:00
|
|
|
$sudo sed -i -e "s/PH_USER/$(whoami)/g" /etc/systemd/system/conf-sync.service
|
|
|
|
$sudo sed -i -e "s:PH_DIRECTORY:$run_directory:g" /etc/systemd/system/conf-sync.service
|
2022-09-22 18:19:19 +02:00
|
|
|
if [ "$client_type" = "server" ]; then # TODO could be replaced in one line: cp conf-sync-$client_type
|
2022-09-22 18:17:43 +02:00
|
|
|
$sudo cp $run_directory/systemd-templates/conf-sync-server.timer /etc/systemd/system/conf-sync.timer
|
2022-07-24 15:19:59 +02:00
|
|
|
else
|
2022-09-22 18:17:43 +02:00
|
|
|
$sudo cp $run_directory/systemd-templates/conf-sync-desktop.timer /etc/systemd/system/conf-sync.timer
|
2022-07-24 15:19:59 +02:00
|
|
|
fi
|
2022-03-13 15:47:15 +01:00
|
|
|
echo "Reloading Systemd..."
|
2022-08-28 12:49:38 +02:00
|
|
|
$sudo systemctl daemon-reload
|
2022-03-13 15:47:15 +01:00
|
|
|
echo "Enabling timer (not starting it, either do it manually or reboot)..."
|
2022-08-28 12:49:38 +02:00
|
|
|
$sudo systemctl enable conf-sync.timer
|
2022-03-13 15:47:15 +01:00
|
|
|
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
|
2022-03-13 15:47:15 +01:00
|
|
|
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
|