aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.local/bin/pacsync
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/.local/bin/pacsync')
-rwxr-xr-xdotfiles/.local/bin/pacsync27
1 files changed, 27 insertions, 0 deletions
diff --git a/dotfiles/.local/bin/pacsync b/dotfiles/.local/bin/pacsync
new file mode 100755
index 0000000..30fc98c
--- /dev/null
+++ b/dotfiles/.local/bin/pacsync
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+if pidof pacman; then
+ exit
+fi
+
+ping -q -c 1 1.1.1.1 > /dev/null || exit
+
+# Source the needed env variables so that it can function properly from cron
+. ~/.cache/sessionenv
+
+notify-send " System upgrade" "Syncing repositories and downloading packages..."
+
+touch ~/.cache/pacsynclive
+killall -41 waybar
+
+sudo pacman -Syuw --noconfirm || notify-send " System upgrade" \
+ "Error downloading updates. Check your internet connection or that you have the required permissions"
+
+rm -f ~/.cache/pacsynclive
+killall -41 waybar
+
+upno=$(pacman -Qu | wc -l)
+
+if [ $upno -lt 0 ]; then
+ notify-send " System upgrade" "Repository sync finished. $upno updates are available"
+fi