#!/usr/bin/env bash run_directory=$(dirname $(readlink -f "$0")) user=$(whoami) source "$run_directory/variables.conf" if [ -f $run_directory/.disabled ]; then echo "Installation is disabled. Exiting..." exit 0 fi if [[ $user != 'root' ]]; then sudo="sudo" else sudo="" fi # NOTE: the handling of init/service manager comes from this discussion: # https://unix.stackexchange.com/questions/18209/detect-init-system-using-the-shell if [ -e /run/systemd/system ]; then # service manager is Systemd echo "Copying Systemd units to system directory..." $sudo cp $run_directory/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:$run_directory:g" /etc/systemd/system/conf-sync.service if [ "$client_type" = "server" ]; then # TODO could be replaced in one line: cp conf-sync-$client_type $sudo cp $run_directory/systemd-templates/conf-sync-server.timer /etc/systemd/system/conf-sync.timer else $sudo cp $run_directory/systemd-templates/conf-sync-desktop.timer /etc/systemd/system/conf-sync.timer fi echo "Reloading Systemd..." $sudo systemctl daemon-reload echo "Enabling timer (not starting it, either do it manually or reboot)..." $sudo systemctl enable conf-sync.timer elif [ "$(uname)" = "OpenBSD" ]; then echo "ERROR: OpenBSD is not yet supported, but this is planned." exit 0 else echo "ERROR: could not determine a supported system. Exiting." exit 1 fi echo "Finished install. Exiting..." exit 0