From c779f6097e9019c84ad7d237326c33fd7e846cb5 Mon Sep 17 00:00:00 2001 From: Ibrahim Mkusa Date: Thu, 8 Aug 2024 22:10:52 -0400 Subject: Allow undoing install script changes via options --- install.sh | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) (limited to 'install.sh') diff --git a/install.sh b/install.sh index 6fa0292..a455c8d 100755 --- a/install.sh +++ b/install.sh @@ -5,6 +5,12 @@ set -e # subshells inherit environment from parent +function usage() { + echo "./install #installs and setups this environment" + echo "./install undo #removes all configs" + echo "./install wipe #removes all configs and removes all installed packages" +} + # detect which family of distro i'm on if [[ -f /etc/os-release ]]; then . /etc/os-release @@ -25,7 +31,26 @@ else exit 1 fi -echo "Installing packages" -sudo $package_manager install -y $vim git stow curl ranger tmux -# use gnu stow to symlink config files to home directory -stow bash git ranger shellenv tmux vim +# could have used a case, but i prefer the if statement +if [[ -z "$1" ]]; then + echo "Installing packages" + sudo "$package_manager" install -y "$vim" git stow curl ranger tmux + + # use gnu stow to symlink config files to home directory + stow bash git ranger shellenv tmux vim + +elif [[ undo = "$1" ]]; then + echo "undoing" + stow -D bash git ranger shellenv tmux vim + +elif [[ wipe = "$1" ]]; then + stow -D bash git ranger shellenv tmux vim + sudo "$package_manager" remove "$vim" git stow curl ranger tmux + echo "wiping" + +elif [[ "$1" = "help" ]]; then + usage + +fi + + -- cgit v1.2.3