46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| run_directory=$(dirname "$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 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
 | |
|     $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
 | |
|   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
 |