#!/bin/bash check_git_monitor() { command -v git-monitor > /dev/null echo "$?" } if [ "$#" -eq 1 ]; then threshold=$1 else threshold=30 fi arch_updates=$(checkupdates | wc -l) aur_updates=$(aur repo -u -d aur-local | wc -l) kernel_update=$(checkupdates | grep linux | grep -v custom | grep -v archlinux | grep -v api | grep -v firmware | grep -v util | wc -l) kernel_update_lts=$(checkupdates | grep linux-lts | grep -v custom | wc -l) git_monitor=$(check_git_monitor) lts_kernel=$(uname -r | grep lts | wc -l) if [ "$kernel_update" -eq 0 ] && [ "$lts_kernel" -eq 0 ]; then kernel_update=$(vercmp `pacman -Si linux | grep Version | cut -d':' -f2` `uname -r`) fi if [ "$kernel_update_lts" -eq 0 ] && [ "$lts_kernel" -eq 1 ]; then kernel_update_lts=$(vercmp `pacman -Si linux-lts | grep Version | cut -d':' -f2` `uname -r`) fi built_kernel=$(checkupdates | grep linux-custom | wc -l) built_kernel_lts=$(checkupdates | grep linux-lts-custom | wc -l) updates=$(($arch_updates + $aur_updates)) if [ "$kernel_update" -ge 1 ] && [ "$built_kernel" -eq 0 ] && [ "$lts_kernel" -eq 0 ]; then notify-send "Kernel update available" "Rebuild custom kernel" fi if [ "$kernel_update_lts" -ge 1 ] && [ "$built_kernel_lts" -eq 0 ] && [ "$lts_kernel" -eq 1 ]; then notify-send "LTS Kernel update available" "Rebuild custom kernel" fi if [ "$updates" -ge "$threshold" ]; then notify-send "Updates available" "Arch: $arch_updates, AUR: $aur_updates" if [ "$git_monitor" -eq 0 ]; then notify-send "Check git packages" "Use git-monitor for git packages updates" fi notify-send "Check firmware" "Use fwupdmgr to check for firmware updates" fi