]> arthur.barton.de Git - ax-zsh.git/commitdiff
install.sh: Really copy files or setup existing ~/.axzsh directory
authorAlexander Barton <alex@barton.de>
Sat, 12 Sep 2015 18:06:46 +0000 (20:06 +0200)
committerAlexander Barton <alex@barton.de>
Sat, 12 Sep 2015 18:06:46 +0000 (20:06 +0200)
Don't symlink ~/.axzsh to some other location.

install.sh

index 0c50964d91ea1a282f7bf4a04bef0392da45d50d..26ec741a64e75f06b52f0128bf06c8ff2aaed3b0 100755 (executable)
@@ -31,10 +31,37 @@ umask 027
 [ -n "$AXZSH" ] || AXZSH="$HOME/.axzsh"
 export AXZSH
 
-ax_msg - "Installing AX-ZSH into \"$AXZSH\" ..."
+S=$(dirname "$0")
 
-safe_rm "$AXZSH" || exit 1
-ln -sv "$PWD" "$AXZSH" || exit 1
+if [ "$S" = "$AXZSH" -o "$PWD" = "$AXZSH" ]; then
+       ax_msg 1 "Initializing \"$AXZSH\":"
+else
+       ax_msg 1 "Install AX-ZSH into \"$AXZSH\":"
+
+       [ -L "$AXZSH" ] && rm -f "$AXZSH"
+       mkdir -p "$AXZSH" || exit 1
+
+       ax_msg - "Copying binaries and scripts ..."
+       cp -pRv "$S/ax.zsh"* "$AXZSH/" || exit 1
+       mkdir -p "$AXZSH/bin" || exit 1
+       cp -pRv "$S/bin/"* "$AXZSH/bin/" || exit 1
+
+       for f in AUTHORS LICENSE.md README.md; do
+               cp -pRv "$S/$f" "$AXZSH/" || exit 1
+       done
+
+       ax_msg - "Copying plugins ..."
+       for plugin_type in core default_plugins plugins; do
+               mkdir -p "$AXZSH/$plugin_type" || exit 1
+               for p in "$S/$plugin_type/"*; do
+                       echo "$p -> $AXZSH/$p"
+                       rm -fr "${AXZSH:?}/$p" || exit 1
+                       cp -pR "$S/$p" "$AXZSH/$p" || exit 1
+               done
+       done
+fi
+
+ax_msg - "Linking ZSH startup files ..."
 
 for f in ~/.zlogin ~/.zlogout ~/.zprofile ~/.zshrc; do
        safe_rm "$f" || exit 1