dot dot dotfiles
at main 82 lines 2.9 kB view raw
1#!/usr/bin/bash 2 3NC='\033[0m' 4# RED='\033[0;31m' # red 5GRN='\033[0;32m' # green, or 1;32m for light green 6YEL='\033[0;33m' 7ARR='\u2192' # right arrow 8DASH='\u2014' 9 10echo -e "${GRN}╔═══╗╔╗ ╔╗╔═══╗╔════╗╔═══╗╔═╗╔═╗ ╔╗ ╔╗╔═══╗╔═══╗╔═══╗╔════╗╔═══╗${NC}" 11echo -e "${GRN}║╔═╗║║╚╗╔╝║║╔═╗║║╔╗╔╗║║╔══╝║║╚╝║║ ║║ ║║║╔═╗║╚╗╔╗║║╔═╗║║╔╗╔╗║║╔══╝${NC}" 12echo -e "${GRN}║╚══╗╚╗╚╝╔╝║╚══╗╚╝║║╚╝║╚══╗║╔╗╔╗║ ║║ ║║║╚═╝║ ║║║║║║ ║║╚╝║║╚╝║╚══╗${NC}" 13echo -e "${GRN}╚══╗║ ╚╗╔╝ ╚══╗║ ║║ ║╔══╝║║║║║║ ║║ ║║║╔══╝ ║║║║║╚═╝║ ║║ ║╔══╝${NC}" 14echo -e "${GRN}║╚═╝║ ║║ ║╚═╝║ ╔╝╚╗ ║╚══╗║║║║║║ ║╚═╝║║║ ╔╝╚╝║║╔═╗║ ╔╝╚╗ ║╚══╗${NC}" 15echo -e "${GRN}╚═══╝ ╚╝ ╚═══╝ ╚══╝ ╚═══╝╚╝╚╝╚╝ ╚═══╝╚╝ ╚═══╝╚╝ ╚╝ ╚══╝ ╚═══╝${NC}" 16echo "" 17echo -e "${YEL}${DASH}${DASH}${ARR} ${NC}Enter/Default: All${NC}" 18echo -e " ${NC} 1: pacman${NC}" 19echo -e " ${NC} 2: AUR via paru${NC}" 20echo -e " ${NC} 3: cargo via rustup${NC}" 21echo -e " ${NC} 4: R packages${NC}" 22echo -e " ${NC} 5: LazyVim packages${NC}" 23echo -e " ${NC} l: List all paru updates${NC}" 24echo -e "${GRN}---------------------------------------------------${NC}" 25 26doit() { 27 echo -e -n "${YEL}Proceed to update $1 (y/n)?${NC} " 28 read DOIT 29 if [ "$DOIT" != "y" ]; then 30 echo -e "${YEL}Stopping update${NC}" 31 exit 0 32 fi 33} 34 35updateParu() { 36 paru -Syu --ignore v8-r 37} 38 39updatePacman() { 40 sudo pacman -Syu 41} 42 43updateCargo() { 44 sudo rustup update 45} 46 47updateR() { 48 echo 'update.packages(ask=FALSE)' | sudo R --no-save -q 49} 50 51updateNvim() { 52 nvim --headless "+Lazy! sync" +qa 53 nvim --headless "+TSUpdate" +qa 54} 55 56echo -e -n "${YEL}Enter option:${NC} " 57read OPT 58 59if [[ -z "$OPT" ]]; then 60 doit "everything (paru, cargo, R packages, and neovim)" 61 updateParu && updateCargo && updateR && updateNvim 62elif [ "$OPT" == 1 ]; then 63 doit "pacman" 64 updatePacman 65elif [ "$OPT" == 2 ]; then 66 doit "paru" 67 updateParu 68elif [ "$OPT" == 3 ]; then 69 doit "cargo" 70 updateCargo 71elif [ "$OPT" == 4 ]; then 72 doit "R packages" 73 updateR 74elif [ "$OPT" == 5 ]; then 75 doit "neovim" 76 updateNvim 77elif [ "$OPT" == l ]; then 78 paru -Qu 79else 80 echo "Unknown option" 81 exit 1 82fi