1
0
Fork 0
dotfiles/.local/bin/upgrades

51 lines
1.6 KiB
Bash
Executable File

#!/bin/sh
BOLD='\033[1m'
BLUE='\033[34m'
NC='\033[0m'
# This pkill is already handled by apt/pacman hooks:
# pkill -RTMIN+8 "${STATUSBAR:-dwmblocks}"
# pacman --------------------------------------------------------------------------
# create the file /usr/share/libalpm/hooks/statusbar.hook containing the following
# [Trigger]
# Operation = Upgrade
# Type = Package
# Target = *
# [Action]
# Description = Updating statusbar...
# When = PostTransaction
# Exec = /usr/bin/pkill -RTMIN+8 dwmblocks
printf "%b" "$BOLD${BLUE}Beginning upgrade.$NC\n"
if command -v paru 1>/dev/null 2>&1; then
paru -Syu
elif command -v yay 1>/dev/null 2>&1; then
yay -Syu
elif command -v pacman 1>/dev/null 2>&1; then
pacman -Syu
fi
# apt -----------------------------------------------------------------------------
# create the file /etc/apt/apt.conf.d/80statusbar containing the following
# DPkg::Post-Invoke {"/usr/bin/pkill -RTMIN+8 dwmblocks";};
command -v apt 1>/dev/null 2>&1 && sudo apt upgrade
# void ----------------------------------------------------------------------------
# Void doesn't have post-install hooks at all, and including pkills in the package hooks isn't feasible
# Instead pkill is called in this script. Manually running updates will cause the status bar to desync
command -v xbps-install 1>/dev/null 2>&1 && sudo xbps-install -Syu && pkill -RTMIN+8 "${STATUSBAR:-dwmblocks}"
printf "%b" "$BOLD${BLUE}Updating arkenfox...$NC\n"
"$DOTFILES_DIR/.local/share/firefox/updater.sh" -sb
printf "%b" "$BOLD${BLUE}Upgrade complete.\nPress <Enter> to exit window.\n"
read -r _
exit