Split into multiple files

much more modular, also adds support for PRESTOW and POSTSTOW files
This commit is contained in:
Adam Goldsmith 2015-09-05 13:11:10 -04:00
parent 0adb4f12a0
commit e150d29cdc
3 changed files with 51 additions and 48 deletions

View File

@ -1,53 +1,13 @@
#!/bin/bash #!/bin/bash
firstRun=0 git clone http://adamgoldsmith.name/cgit/bootstrap.git .dotfiles
[ "$1" == "-f" ] && firstRun=1
cd ~
if [ ! -d ".dotfiles" ]
then
git clone http://adamgoldsmith.name/cgit/bootstrap.git .dotfiles
firstRun=1
else
echo "~/.dotfiles already exists, not cloning"
fi
cd .dotfiles cd .dotfiles
if [ $firstRun -eq 1 ] git remote set-url origin http://adamgoldsmith.name/cgit/bootstrap.git
git remote set-url --push origin ssh://adamgoldsmith.name:443/srv/git/bootstrap.git
targets="$@"
if [ -n "$targets" ]
then then
git remote set-url origin http://adamgoldsmith.name/cgit/bootstrap.git ./getter.sh "$@"
git remote set-url --push origin ssh://adamgoldsmith.name:443/srv/git/bootstrap.git ./stower.sh "$@"
else
echo "Updating .dotfiles"
git pull
fi fi
echo "Getting emacs, zsh, and git"
for i in emacs zsh git
do
git clone "http://adamgoldsmith.name/cgit/dotfiles/$i.git"
cd $i
git remote set-url origin http://adamgoldsmith.name/cgit/dotfiles/$i.git
git remote set-url --push origin ssh://adamgoldsmith.name:443/srv/git/dotfiles/$i.git
cd ..
done
echo "getting prezto"
cd zsh
git submodule init
git submodule update
echo "Updating .dotfiles/zsh/.zprezto"
cd .zprezto
if [ $firstRun -eq 1 ]
then
git remote set-url origin http://adamgoldsmith.name/cgit/prezto.git
git remote set-url --push origin ssh://adamgoldsmith.name:443/srv/git/prezto.git
git remote add upstream https://github.com/sorin-ionescu/prezto.git
fi
git submodule init
git submodule update
echo "Stowing emacs, zsh, and git"
cd ~/.dotfiles/
stow emacs zsh git

17
getter.sh Executable file
View File

@ -0,0 +1,17 @@
#!/bin/bash
targets="$@"
for t in $targets
do
if [ -d "$t" ]
then
echo "$t already exists, not getting"
else
echo "Getting $t"
git clone "http://adamgoldsmith.name/cgit/dotfiles/$t.git"
cd $t
git remote set-url origin http://adamgoldsmith.name/cgit/dotfiles/$t.git
git remote set-url --push origin ssh://adamgoldsmith.name:443/srv/git/dotfiles/$t.git
cd ..
fi
done

26
stower.sh Executable file
View File

@ -0,0 +1,26 @@
#!/bin/bash
targets="$@"
for t in $targets
do
if [ -d "$t" ]
then
echo "Stowing $t"
if [ -e "$t/PRESTOW" ]
then
echo "Running $t/PRESTOW"
"$t/PRESTOW"
fi
stow -t"$HOME" --ignore="^PRESTOW$" --ignore="^POSTSTOW$" "$t"
if [ -e "$t/POSTSTOW" ]
then
echo "Running $t/POSTSTOW"
"$t/POSTSTOW"
fi
else
echo "target $t does not exist or is not a directory"
exit
fi
done