Split into multiple files
much more modular, also adds support for PRESTOW and POSTSTOW files
This commit is contained in:
parent
0adb4f12a0
commit
e150d29cdc
48
bootstrap.sh
48
bootstrap.sh
@ -1,53 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
firstRun=0
|
||||
[ "$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
|
||||
if [ $firstRun -eq 1 ]
|
||||
then
|
||||
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
|
||||
else
|
||||
echo "Updating .dotfiles"
|
||||
git pull
|
||||
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 ]
|
||||
targets="$@"
|
||||
if [ -n "$targets" ]
|
||||
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
|
||||
./getter.sh "$@"
|
||||
./stower.sh "$@"
|
||||
fi
|
||||
git submodule init
|
||||
git submodule update
|
||||
|
||||
echo "Stowing emacs, zsh, and git"
|
||||
cd ~/.dotfiles/
|
||||
stow emacs zsh git
|
||||
|
17
getter.sh
Executable file
17
getter.sh
Executable 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
26
stower.sh
Executable 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
|
Loading…
Reference in New Issue
Block a user