diff options
Diffstat (limited to 'include')
-rwxr-xr-x | include/bootstrap | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/include/bootstrap b/include/bootstrap new file mode 100755 index 0000000..e2d7e17 --- /dev/null +++ b/include/bootstrap @@ -0,0 +1,53 @@ +#!/usr/bin/env zsh +# bootstrap - populate a home with the most necessary scripts +# After running this, other packages can be installed using 'pkg' + +HG=hg + +# zsh keeps complaining about not having a configuration, +# so let's be kind and give it an empty one. +if ! [[ -e $HOME/.zshrc ]] { + RCEMPTY=yes + touch $HOME/.zshrc +} + +# Make basic dirctories +mkdir -p ~/bin +mkdir -p ~/lib +mkdir -p ~/packages/.collected/{bin,doc,man/man{1..8},etc,include} +mkdir -p ~/var/tmp/incoming + +if ( ! which python &> /dev/null ) { + echo "No Python found. Sorry." + exit 200 +} + +if ( ! which hg &> /dev/null) { + echo 'Mercurial not found, installing...' + cd ~/packages + ssh derf.homelinux.org 'tar cz -C ~/var/packages_root .mercurial-bin' | tar xz + HG="$HOME/packages/.mercurial-bin/mercurial-1.0.1/hg" +} + +cd ~/packages +echo "fetching core" +$HG clone ssh://derf.homelinux.org/var/packages_root/core + +cd core +bin/checklinks +for i in bin/*(*); { + ln -s ../packages/core/$i $HOME/$i +} + +if ([ -d $HOME/packages/.mercurial-bin ]) { + cd ~/packages/.mercurial-bin + ~/bin/checklinks +} + +[ "$RCEMPTY" = yes ] && rm $HOME/.zshrc + +PATH=$HOME/bin:$PATH + +rehash + +pkg add zsh |