mirror of
https://github.com/bertptrs/vimconfig.git
synced 2025-12-25 20:40:32 +01:00
70 lines
1.4 KiB
Bash
Executable File
70 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
cd "$( dirname "${BASH_SOURCE[0]}" )" || exit 1
|
|
|
|
commandAvailable() {
|
|
command -v "$1" >/dev/null
|
|
}
|
|
|
|
installIfAvailable() {
|
|
if [ $# -lt 1 ]; then
|
|
echo "Usage: $0 command_required [package_name]" >&2
|
|
return 1
|
|
fi
|
|
|
|
COMMAND=$1
|
|
if [ $# -eq 2 ]; then
|
|
PACKAGE=$2
|
|
else
|
|
PACKAGE=$COMMAND
|
|
fi
|
|
|
|
if commandAvailable "$COMMAND"; then
|
|
echo "Installing configuration files for $PACKAGE…"
|
|
stow -t "$HOME" "$PACKAGE"
|
|
fi
|
|
}
|
|
|
|
if ! commandAvailable stow; then
|
|
echo "Error: stow not available. Skipping installation." >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo -n "Downloading dependencies... "
|
|
|
|
git submodule update --init &> /dev/null \
|
|
|| (echo "Failed."; echo "Submodule installation failed."; exit 3)
|
|
|
|
echo "done."
|
|
|
|
if commandAvailable vim; then
|
|
echo "Creating vim directories"
|
|
mkdir -p "$HOME/.cache/vim/"{backup,swap,undo}
|
|
fi
|
|
|
|
installIfAvailable vim
|
|
installIfAvailable zsh
|
|
installIfAvailable sqlite3 sqlite
|
|
installIfAvailable tmux
|
|
installIfAvailable systemctl systemd
|
|
installIfAvailable pacman
|
|
installIfAvailable git
|
|
installIfAvailable latexmk
|
|
installIfAvailable ruby
|
|
installIfAvailable npm
|
|
installIfAvailable awesome
|
|
installIfAvailable sakura
|
|
installIfAvailable hexchat
|
|
|
|
if commandAvailable weechat; then
|
|
echo "Setting up weechat settings…"
|
|
./weechat.sh
|
|
fi
|
|
|
|
if commandAvailable gsettings; then
|
|
echo "Installing gsettings preferences…"
|
|
./gsettings.sh
|
|
fi
|
|
|
|
echo "Installation finished."
|