|
|
@@ -1,6 +1,7 @@ |
|
|
|
#!/bin/sh |
|
|
|
|
|
|
|
RED='\033[1;31m' |
|
|
|
YELLOW='\033[1;33m' |
|
|
|
GREEN='\033[1;32m' |
|
|
|
CYAN='\033[1;36m' |
|
|
|
NC='\033[0m' |
|
|
@@ -9,8 +10,13 @@ info() { |
|
|
|
echo -e "${CYAN}$1${NC}" |
|
|
|
} |
|
|
|
|
|
|
|
warn() { |
|
|
|
echo -e "${YELLOW}$1${NC}" |
|
|
|
} |
|
|
|
|
|
|
|
error() { |
|
|
|
echo -e "${RED}$1${NC}" |
|
|
|
echo "See bootstrap.log for details" |
|
|
|
exit 1 |
|
|
|
} |
|
|
|
|
|
|
@@ -18,22 +24,49 @@ success() { |
|
|
|
echo -e "${GREEN}$1${NC}" |
|
|
|
} |
|
|
|
|
|
|
|
echo "Boostrap starting..." >> bootstrap.log |
|
|
|
|
|
|
|
# Fish configuration |
|
|
|
info "Checking for fish shell..." |
|
|
|
which fish 2> /dev/null |
|
|
|
fish_found=$? |
|
|
|
if [ $fish_found -eq 0 ]; |
|
|
|
then |
|
|
|
success "Fish shell found." |
|
|
|
echo -e "\nFish installation" >> bootstrap.log |
|
|
|
info " -> Installing virtualfish..." |
|
|
|
pip install --user virtualfish || error "!! Failed to install virtualfish" |
|
|
|
pip install --user virtualfish >> boostrap.log 2>&1 || error "!! Failed to install virtualfish" |
|
|
|
info " -> Installing oh-my-fish..." |
|
|
|
curl -L https://get.oh-my.fish > install || error "!! Failed to download oh-my-fish installer" |
|
|
|
curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install.sha256 > install.sha256 || error "!! Failed to download oh-my-fish checksum" |
|
|
|
sha256sum -c install.sha256 || error "!! Checksum failed for oh-my-fish." |
|
|
|
fish install --noninteractive || error "!! Install failed for oh-my-fish." |
|
|
|
fish -c 'omf install' || error "!! Oh-my-fish failed to install some packages" |
|
|
|
curl -L https://get.oh-my.fish > install 2>> bootstrap.log || error "!! Failed to download oh-my-fish installer" |
|
|
|
curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install.sha256 > install.sha256 2>> bootstrap.log || error "!! Failed to download oh-my-fish checksum" |
|
|
|
sha256sum -c install.sha256 >> bootstrap.log 2>&1 || error "!! Checksum failed for oh-my-fish." |
|
|
|
fish install --noninteractive >> bootstrap.log 2>&1 |
|
|
|
ret=$? |
|
|
|
if [ $ret -eq 2 ]; |
|
|
|
then |
|
|
|
warn " -> Oh-my-fish already installed, not reinstalling." |
|
|
|
elif [ $ret -eq 0 ]; |
|
|
|
then |
|
|
|
success " -> Oh-my-fish installed." |
|
|
|
else |
|
|
|
error " -> !! Install failed for oh-my-fish." |
|
|
|
fi |
|
|
|
rm install install.sha256 |
|
|
|
fish -c 'omf install' >> bootstrap.log 2>&1 || error "!! Oh-my-fish failed to install some packages" |
|
|
|
success "Successfully configured fish" |
|
|
|
else |
|
|
|
info "No fish shell available, skipping." |
|
|
|
warn "No fish shell available, skipping." |
|
|
|
fi |
|
|
|
|
|
|
|
# nvim config |
|
|
|
info "Checking for nvim..." |
|
|
|
which nvim 2> /dev/null |
|
|
|
nvim_found=$? |
|
|
|
if [ $nvim_found -eq 0 ]; |
|
|
|
then |
|
|
|
echo -e "\nNvim installation" >> bootstrap.log |
|
|
|
info " -> Setting up plugins..." |
|
|
|
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim 2>> bootstrap.log |
|
|
|
nvim +PlugInstall +qall |
|
|
|
else |
|
|
|
warn "Nvim not available, skipping." |
|
|
|
fi |