63 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| # exit on errors
 | |
| set -e
 | |
| # Check that we are root
 | |
| if [[ ! $(whoami) == 'root' ]]; then
 | |
|   echo 'This is intended to be ran as root'
 | |
|   exit 1
 | |
| fi
 | |
| 
 | |
| # Check if the truetool repo already exists
 | |
| if [[ -d $HOME/truetool ]]; then
 | |
|   cd "$HOME/truetool" || exit
 | |
|   git log -n1|cat
 | |
| else
 | |
|   cd "$HOME" || exit
 | |
|   git clone https://github.com/truecharts/truetool.git
 | |
| fi
 | |
| 
 | |
| # Check if $HOME/bin exists, or make it
 | |
| if [[ ! -d $HOME/bin ]]; then
 | |
|   mkdir -p "$HOME/bin"
 | |
| fi
 | |
| 
 | |
| # Check if the truetool wrapper exists, or make it
 | |
| if [[ ! -x "$HOME/bin/truetool" ]]; then
 | |
|   install -m555 -v "$HOME/truetool/bin/truetool" "$HOME/bin/"
 | |
| fi
 | |
| 
 | |
| # these vars are used by the following functions
 | |
| LINE_TO_ADD=''
 | |
| TARGET_FILE_FOR_ADD="$HOME/.profile"
 | |
| 
 | |
| check_if_line_exists()
 | |
| {
 | |
|   if [[ "$VERBOSITY" -gt '7' ]]; then
 | |
|     echo "Checking for '$LINE_TO_ADD'  in $TARGET_FILE_FOR_ADD"
 | |
|   fi
 | |
|   grep -qsFx "$LINE_TO_ADD" "$TARGET_FILE_FOR_ADD"
 | |
| }
 | |
| 
 | |
| add_line_to()
 | |
| {
 | |
|   if [[ "$VERBOSITY" -gt '5' ]]; then
 | |
|     echo "Adding '$LINE_TO_ADD'  to $TARGET_FILE_FOR_ADD"
 | |
|   fi
 | |
|   TARGET_FILE=$TARGET_FILE_FOR_ADD
 | |
|     [ -w "$TARGET_FILE" ] || TARGET_FILE=$TARGET_FILE_FOR_ADD
 | |
|     printf "%s\n" "$LINE_TO_ADD" >> "$TARGET_FILE"
 | |
| }
 | |
| 
 | |
| dotfiles_install () {
 | |
|   # Adjusting dotfiles by adding $HOME/bin to our path
 | |
|   touch "$HOME/.zshrc"
 | |
|   touch "$HOME/.bashrc"
 | |
|   LINE_TO_ADD="$(printf "export PATH=\"%s:\$PATH\"" '/root/bin')"
 | |
|   TARGET_FILE_FOR_ADD="$HOME/.bashrc"
 | |
|   check_if_line_exists || add_line_to
 | |
|   TARGET_FILE_FOR_ADD="$HOME/.zshrc"
 | |
|   check_if_line_exists || add_line_to
 | |
| }
 | |
| 
 | |
| dotfiles_install
 |