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