wip3
This commit is contained in:
81
install/nvim
81
install/nvim
@@ -1,33 +1,80 @@
|
||||
#!/usr/bin/env bash
|
||||
##makedesc: Install nvim + lazyvim
|
||||
source "$( dirname $(readlink -e -- "${BASH_SOURCE}"))/../helpers.sh" || exit 255
|
||||
set -eo pipefail
|
||||
|
||||
# https://www.lazyvim.org/installation
|
||||
# https://www.devas.life/effective-neovim-setup-for-web-development-towards-2024/
|
||||
|
||||
title
|
||||
# TODO https://github.com/rockerBOO/awesome-neovim
|
||||
# TODO https://docs.astronvim.com
|
||||
|
||||
require git
|
||||
url="https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz"
|
||||
downloadPath="$HOME/install"
|
||||
downloadTarGz="$downloadPath/nvim.tar.gz"
|
||||
installPath="/opt/nvim"
|
||||
cfgPath="$HOME/.config/nvim"
|
||||
nvimDataPaths=(
|
||||
"$cfgPath"
|
||||
"$HOME"/.local/share/nvim
|
||||
"$HOME"/.local/state/nvim
|
||||
"$HOME"/.cache/nvim
|
||||
)
|
||||
|
||||
nvimUrl="https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz"
|
||||
installPath="$HOME/install"
|
||||
installTar="$installPath/nvim.tar.gz"
|
||||
backup() {
|
||||
echo "Backup configuration files..."
|
||||
t=$(date +'%s')
|
||||
for path in "${nvimDataPaths[@]}"; do
|
||||
[[ -d "$path" ]] && cp -v "$path" "$path-$t.bak"
|
||||
done
|
||||
echo "Done"
|
||||
}
|
||||
|
||||
[ -d "$HOME/.config/nvim" ] && mv "$HOME"/.config/nvim{,.bak}
|
||||
[ -d "$HOME/.local/share/nvim" ] && mv "$HOME"/.local/share/nvim{,.bak}
|
||||
[ -d "$HOME/.local/state/nvim" ] && mv "$HOME"/.local/state/nvim{,.bak}
|
||||
[ -d "$HOME/.cache/nvim" ] && mv "$HOME"/.cache/nvim{,.bak}
|
||||
install() {
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing neovim"
|
||||
echo "==============================================="
|
||||
echo
|
||||
|
||||
download "$nvimUrl" "$installTar"
|
||||
unpack_targz "$installTar" "$installPath"
|
||||
backup
|
||||
wget "$url" -O "$downloadTarGz"
|
||||
tar -xzf "$downloadTarGz" -C "$downloadPath"
|
||||
|
||||
sudo rm -vrf /opt/nvim
|
||||
sudo mv -v "$installPath/nvim-linux-x86_64" /opt/nvim
|
||||
sudo rm -rf "$installPath"
|
||||
sudo mv "$downloadPath/nvim-linux-x86_64" "$installPath"
|
||||
|
||||
git.clone_quick https://github.com/LazyVim/starter "$HOME/.config/nvim"
|
||||
rm -rf "$HOME/.config/nvim/.git"
|
||||
git clone --depth=1 --single-branch https://github.com/LazyVim/starter "$cfgPath"
|
||||
rm -rf "$cfgPath/.git"
|
||||
|
||||
sudo update-desktop-database && \
|
||||
sudo update-desktop-database
|
||||
xdg-desktop-menu forceupdate
|
||||
|
||||
echo
|
||||
echo "Finish!"
|
||||
nvim -v
|
||||
echo
|
||||
}
|
||||
|
||||
remove() {
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Removing nerd-fonts"
|
||||
echo "==============================================="
|
||||
echo
|
||||
|
||||
find "$downloadPath" -type d -name "Nerd-*" -exec rm -rf {} +
|
||||
fc-cache -vf "$downloadPath"
|
||||
|
||||
echo
|
||||
echo "Finish!"
|
||||
echo
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
b|backup) backup ;;
|
||||
r|remove|d|delete|p|purge) remove ;;
|
||||
*) install ;;
|
||||
esac
|
||||
|
||||
|
||||
# export PATH="$PATH:/opt/nvim-linux-x86_64/bin"
|
||||
|
||||
Reference in New Issue
Block a user