dev-env/setup-dev-env.sh

102 lines
1.5 KiB
Bash
Executable file

#!/bin/sh
# This is a script for setting up all the things I like :3
_install()
{
echo "Installing!"
exit 0
}
_print_title()
{
echo "$(figlet mskor dev-env)"
}
_notes_locations_print()
{
echo "\t\ttodo.txt:\t$TODOTXTPATH"
echo "\t\twiki:\t\t$VIMWIKIPATH"
echo "\t\tvimrc\t\t$MYVIMRC"
}
_help()
{
_print_title
echo "dev-env.sh usage: $0 [mode]"
echo "\txn: Extract notes to:"
_notes_locations_print
echo "\tsn: Store notes:"
_notes_locations_print
echo "\tnotes: Launch note making tmux session."
exit 1
}
_extract_notes()
{
if [ ! -e "./archive.tar.gz" ];
then
echo "archive.tar.gz does not exist."
exit 1
fi
mkdir tmp
tar xzf archive.tar.gz -C .
cp -r ./tmp/wiki $(dirname $VIMWIKIPATH)
cp ./tmp/todo.txt $TODOTXTPATH
cp ./tmp/.vimrc $MYVIMRC
rm -r ./tmp
echo "Notes successfully extracted from archive."
exit 0
}
_storage_notes()
{
mkdir tmp
cp $TODOTXTPATH ./tmp/
cp -r $VIMWIKIPATH ./tmp/
cp $MYVIMRC ./tmp/
tar czf archive.tar.gz ./tmp/
rm -r tmp
echo "Notes successfully stored!"
exit 0
}
_launch_notes()
{
tmux new-session -d 'bash'
tmux new-window 'vim $TODOTXTPATH $VIMWIKIPATH/index.md'
tmux -2 attach-session -d
}
# main
# check for the neccessary variables
if [ -z "$VIMWIKIPATH" ];
then
echo "VIMWIKIPATH not set."
exit 1
fi
if [ -z "$TODOTXTPATH" ];
then
echo "TODOTXTPATH not set."
exit 1
fi
if [ -z "$MYVIMRC" ];
then
echo "MYVIMRC not set."
exit 1
fi
# run the user's command
case "$1" in
sn ) _storage_notes ;;
xn ) _extract_notes ;;
notes ) _launch_notes ;;
install ) _install ;;
* ) _help ;;
esac