summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rwxr-xr-xinclude/bootstrap53
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