Initial commit
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
*.swp
 | 
			
		||||
							
								
								
									
										31
									
								
								replicate.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										31
									
								
								replicate.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
deps="git rsync"
 | 
			
		||||
for dep in $deps; do
 | 
			
		||||
	if ! which $dep > /dev/null 2>&1; then
 | 
			
		||||
		printf "$0: error: could not find program \"$dep\" in PATH\n" 1>&2
 | 
			
		||||
		exit 1
 | 
			
		||||
	fi
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
tempfolder="/tmp/dots-`whoami`"
 | 
			
		||||
gitdir="$PWD/.dotfiles"
 | 
			
		||||
homedir="$PWD"
 | 
			
		||||
repo='git@gitlab.com:rehashedsalt/home.git'
 | 
			
		||||
config='git --git-dir="$gitdir" --work-tree="$homedir"'
 | 
			
		||||
 | 
			
		||||
git clone --recursive --depth 100 --separate-git-dir="$gitdir" "$repo" "$tempfolder"
 | 
			
		||||
error="$?"
 | 
			
		||||
if ! [ "$error" == "0" ]; then
 | 
			
		||||
	printf "$0: error: failed cloning repository \"$repo\": $error\n" 1>&2
 | 
			
		||||
	printf "Do you have the appropriate permissions? Does the remote host know your key?\n"
 | 
			
		||||
	exit 2
 | 
			
		||||
fi
 | 
			
		||||
rsync -rvl --exclude ".git" $tempfolder/ $homedir/
 | 
			
		||||
rm -r $tempfolder
 | 
			
		||||
$config submodule update --init --recursive --remote
 | 
			
		||||
$config config status.showUntrackedFiles no
 | 
			
		||||
printf "$0: dotfiles set up successfully\n"
 | 
			
		||||
printf "Be sure and configure the following before issuing any commits:\n"
 | 
			
		||||
printf "    git config --global user.email\n"
 | 
			
		||||
printf "    git config --global user.name\n"
 | 
			
		||||
exit 0
 | 
			
		||||
		Reference in New Issue
	
	Block a user