📦 Add a basic install script
- Downloads Neovim if not found - Detects and backs up existing config - Installs Rootiest NeoVim config - Starts NeoVim
This commit is contained in:
Executable
+76
@@ -0,0 +1,76 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Function to display a message
|
||||
show_message() {
|
||||
echo -e "\n=========================================================="
|
||||
echo -e "$1"
|
||||
echo -e "==========================================================\n"
|
||||
}
|
||||
|
||||
# Function to prompt user with a yes/no question
|
||||
ask_question() {
|
||||
while true; do
|
||||
read -rp "$1 [y/n]: " yn
|
||||
case $yn in
|
||||
[Yy]*) return 0 ;;
|
||||
[Nn]*) return 1 ;;
|
||||
*) echo "Please answer yes or no." ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
# Welcome message
|
||||
show_message "Welcome to the Rootiest Neovim Installer"
|
||||
|
||||
# Look for neovim executable
|
||||
if ! command -v nvim &>/dev/null; then
|
||||
show_message "Neovim executable not found."
|
||||
if ! ask_question "Would you like to install it now?"; then
|
||||
show_message "Installation aborted by the user."
|
||||
else
|
||||
# Download neovim appimage
|
||||
mkdir -p ~/AppImages
|
||||
wget https://github.com/neovim/neovim/releases/latest/download/nvim.appimage ~/AppImages/nvim.appimage
|
||||
chmod +x ~/AppImages/nvim.appimage
|
||||
# Add neovim appimage to PATH
|
||||
export PATH=\"\$HOME/AppImages:\$PATH
|
||||
# Save neovim appimage to PATH in .bashrc
|
||||
echo "export PATH=\"\$HOME/AppImages:\$PATH\"" >>~/.bashrc
|
||||
# Save neovim appimage to PATH in .zshrc
|
||||
echo "export PATH=\"\$HOME/AppImages:\$PATH\"" >>~/.zshrc
|
||||
# Save neovim appimage to PATH in .config/fish/config.fish
|
||||
echo "set PATH \$HOME/AppImages \$PATH" >>~/.config/fish/config.fish
|
||||
fi
|
||||
fi
|
||||
|
||||
# Initial prompt to proceed with installation
|
||||
if ! ask_question "Do you want to install the Rootiest Neovim configuration?"; then
|
||||
show_message "Installation aborted by the user."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if existing config is present and move to backup if confirmed
|
||||
if [ -d ~/.config/nvim ]; then
|
||||
if ask_question "Existing Neovim configuration found. Do you want to backup and replace it?"; then
|
||||
mv ~/.config/nvim ~/.config/nvim.bkp
|
||||
show_message "Existing configuration has been backed up to ~/.config/nvim.bkp"
|
||||
else
|
||||
show_message "Operation aborted by the user."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Download rootiest neovim config
|
||||
if git clone https://github.com/rootiest/rootiest-nvim ~/.config/nvim; then
|
||||
show_message "Rootiest Neovim configuration has been downloaded."
|
||||
else
|
||||
show_message "Failed to download the configuration."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Start neovim
|
||||
if ask_question "Do you want to start Neovim now?"; then
|
||||
nvim
|
||||
else
|
||||
show_message "Neovim installation has been completed."
|
||||
fi
|
||||
Reference in New Issue
Block a user