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
|
#!/bin/bash
|
||||||
|
|
||||||
firstRun=0
|
|
||||||
[ "$1" == "-f" ] && firstRun=1
|
|
||||||
|
|
||||||
cd ~
|
|
||||||
if [ ! -d ".dotfiles" ]
|
|
||||||
then
|
|
||||||
git clone http://adamgoldsmith.name/cgit/bootstrap.git .dotfiles
|
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 ]
|
|
||||||
then
|
|
||||||
git remote set-url origin http://adamgoldsmith.name/cgit/bootstrap.git
|
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
|
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"
|
targets="$@"
|
||||||
for i in emacs zsh git
|
if [ -n "$targets" ]
|
||||||
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
|
then
|
||||||
git remote set-url origin http://adamgoldsmith.name/cgit/prezto.git
|
./getter.sh "$@"
|
||||||
git remote set-url --push origin ssh://adamgoldsmith.name:443/srv/git/prezto.git
|
./stower.sh "$@"
|
||||||
git remote add upstream https://github.com/sorin-ionescu/prezto.git
|
|
||||||
fi
|
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