One of EOS’s many advantages is that it’s essential and minimal, as per Arch tradition, but it integrates things (very cleverly, in my opinion) that you’d have to install elsewhere. These include updating the Arch and EndeavourOS mirror list via a graphical interface, or rather, via a shortcut on the Welcome panel, or the orphaned package cleaner, or a pre-activated firewall (from what little I’ve seen and recall, it’s the only distro that already has it installed and activated; neither of these are a given), or, indeed, a notification that warns you after important updates that it’s time to reboot.
Is there something similar that can be installed on Arch? It’s always via “graphical” notifications (just like on EOS, in short).
Basically it can be replicated on pure Arch by by creating a simple pacman hook which calls a script which prints e. g. “Reboot needed” if one of the packages you defined were updated.
Something like the following…
Create a pacman hook, e. g. sudo nano /etc/pacman.d/hooks/reboot-recommended.hook
Add the following to the new hook:
[Trigger]
Operation = Upgrade
Type = Package
Target = amd-ucode
Target = intel-ucode
Target = btrfs-progs
Target = cryptsetup
Target = linux
Target = linux-hardened
Target = linux-lts
Target = linux-zen
Target = linux-rt
Target = linux-rt-lts
Target = linux-firmware*
Target = nvidia
Target = nvidia-dkms
Target = nvidia-*xx-dkms
Target = nvidia-*xx
Target = nvidia-*lts-dkms
Target = nvidia*-lts
Target = mesa
Target = systemd*
Target = wayland
Target = virtualbox-guest-utils
Target = virtualbox-host-dkms
Target = virtualbox-host-modules-arch
Target = egl-wayland
Target = xf86-video-*
Target = xorg-server*
Target = xorg-fonts*
[Action]
Description = Check if user should be informed about rebooting after certain system package upgrades.
When = PostTransaction
Exec = /usr/local/bin/check-reboot-recommended
Create the script that runs when the hook is triggered: sudo nano /usr/local/bin/check-reboot-recommended
Add the following to the script:
#!/bin/bash
echo "One or more critical packages were updated."
echo "It is recommended to reboot your system."
Make the script executable: sudo chmod +x /usr/local/bin/check-reboot-recommended
Last updated in this, he did not perform the script because he had something missing (I forgot to mark the error). At the next important update I will mark the mistake that gives me.
Meanwhile, let’s see if the rest is correct. This is the reboot-recommeded.hook file:
Mmmhhh, it seems to work instead! Then maybe I read badly the first time.
(4/5) Controlla se l’utente deve essere informato del riavvio dopo determinati aggiornamenti dei pacchetti di sistema.
Uno o più pacchetti critici sono stati aggiornati.
Si consiglia di riavviare il sistema.
This is the complete log of the update:
[sermor@sermorarchpc ~]$ sudo pacman -Syyu && yay -Syyu
[sudo] password di sermor:
:: Sincronizzazione dei database in corso...
core 119,4 KiB 690 KiB/s 00:00 [########################################] 100%
extra 7,8 MiB 21,9 MiB/s 00:00 [########################################] 100%
multilib 133,3 KiB 749 KiB/s 00:00 [########################################] 100%
:: Aggiornamento del sistema in corso...
risoluzione delle dipendenze in corso...
ricerca dei pacchetti in conflitto in corso...
Pacchetti (9) harfbuzz-11.3.3-1 harfbuzz-icu-11.3.3-1 lib32-harfbuzz-11.3.3-1 lib32-mesa-1:25.1.7-1
lib32-vulkan-radeon-1:25.1.7-1 mesa-1:25.1.7-1 noto-fonts-1:2025.08.01-1 python-opengl-3.1.9-1
vulkan-radeon-1:25.1.7-1
Dimensione totale dei pacchetti da scaricare: 57,28 MiB
Dimensione totale dei pacchetti da installare: 244,84 MiB
Dimensione netta dell'aggiornamento: -0,36 MiB
:: Vuoi procedere con l'installazione? [S/n]
:: Download dei pacchetti in corso...
vulkan-radeon-1:25.1.7-1-x86_64 2,8 MiB 10,1 MiB/s 00:00 [########################################] 100%
lib32-vulkan-radeon-1:25.1.7-1-x86_64 2,9 MiB 8,88 MiB/s 00:00 [########################################] 100%
lib32-mesa-1:25.1.7-1-x86_64 10,3 MiB 28,9 MiB/s 00:00 [########################################] 100%
python-opengl-3.1.9-1-any 2025,3 KiB 9,24 MiB/s 00:00 [########################################] 100%
harfbuzz-11.3.3-1-x86_64 1135,2 KiB 5,52 MiB/s 00:00 [########################################] 100%
mesa-1:25.1.7-1-x86_64 10,2 MiB 17,3 MiB/s 00:01 [########################################] 100%
lib32-harfbuzz-11.3.3-1-x86_64 944,9 KiB 4,61 MiB/s 00:00 [########################################] 100%
harfbuzz-icu-11.3.3-1-x86_64 7,9 KiB 128 KiB/s 00:00 [########################################] 100%
noto-fonts-1:2025.08.01-1-any 27,2 MiB 33,7 MiB/s 00:01 [########################################] 100%
Totale (9/9) 57,3 MiB 67,0 MiB/s 00:01 [########################################] 100%
(9/9) verifica delle chiavi presenti nel portachiavi [########################################] 100%
(9/9) verifica dell'integrità dei pacchetti [########################################] 100%
(9/9) caricamento dei file dei pacchetti [########################################] 100%
(9/9) controllo dei conflitti in corso [########################################] 100%
(9/9) controllo dello spazio disponibile sul disco [########################################] 100%
:: Esecuzione degli hook di pre-transazione...
(1/1) Performing snapper pre snapshots for the following configurations...
==> root: 163
:: Elaborazione delle modifiche al pacchetto...
(1/9) aggiornamento in corso di harfbuzz [########################################] 100%
(2/9) aggiornamento in corso di harfbuzz-icu [########################################] 100%
(3/9) aggiornamento in corso di lib32-harfbuzz [########################################] 100%
(4/9) aggiornamento in corso di mesa [########################################] 100%
(5/9) aggiornamento in corso di lib32-mesa [########################################] 100%
(6/9) aggiornamento in corso di vulkan-radeon [########################################] 100%
(7/9) aggiornamento in corso di lib32-vulkan-radeon [########################################] 100%
(8/9) aggiornamento in corso di noto-fonts [########################################] 100%
(9/9) aggiornamento in corso di python-opengl [########################################] 100%
:: Esecuzione degli hook di post-transazione...
(1/5) Arming ConditionNeedsUpdate...
(2/5) Updating fontconfig cache...
(3/5) Updating 32-bit fontconfig cache...
(4/5) Controlla se l'utente deve essere informato del riavvio dopo determinati aggiornamenti dei pacchetti di sistema.
Uno o più pacchetti critici sono stati aggiornati.
Si consiglia di riavviare il sistema.
(5/5) Performing snapper post snapshots for the following configurations...
==> root: 164
:: Sincronizzazione dei database in corso...
core 119,4 KiB 829 KiB/s 00:00 [########################################] 100%
extra 7,8 MiB 24,0 MiB/s 00:00 [########################################] 100%
multilib 133,3 KiB 889 KiB/s 00:00 [########################################] 100%
:: Ricerca di aggiornamenti su AUR in corso...
:: Ricerca di aggiornamenti nei database in corso...
:: 1 pacchetto da aggiornare/installare.
1 aur/hypnotix-wayland 5.0-1 -> 5.1-1
==> Pacchetti da escludere: (es: "1 2 3", "1-3", "^4" o il nome del repo)
-> L'esclusione di pacchetti potrebbe causare aggiornamenti parziali e danneggiare i sistemi
==>
AUR Explicit (1): hypnotix-wayland-5.1-1
:: (1/1) PKGBUILD scaricato: hypnotix-wayland
1 hypnotix-wayland (Installato) (I file di compilazione sono già presenti)
==> Pacchetti da compilare in modo pulito?
==> [N]essuno [A]Tutti [Ab]Annulla [I]nstallati [No]nInstallati oppure (1 2 3, 1-3, ^4)
==> a
:: Eliminazione (1/1): /home/sermor/.cache/yay/hypnotix-wayland
HEAD ora si trova a aaf3d6b bump to 5.1
Eliminazione di hypnotix-5.0.tar.gz in corso
Eliminazione di hypnotix-wayland-5.0-1-any.pkg.tar.zst in corso
1 hypnotix-wayland (Installato) (I file di compilazione sono già presenti)
==> Differenze da mostrare?
==> [N]essuno [A]Tutti [Ab]Annulla [I]nstallati [No]nInstallati oppure (1 2 3, 1-3, ^4)
==> a
diff --git /home/sermor/.cache/yay/hypnotix-wayland/PKGBUILD /home/sermor/.cache/yay/hypnotix-wayland/PKGBUILD
new file mode 100644
index 1cacbfa..29cb1ea 100644
--- /home/sermor/.cache/yay/hypnotix-wayland/PKGBUILD
+++ /home/sermor/.cache/yay/hypnotix-wayland/PKGBUILD
@@ -2,7 +2,7 @@
# Maintainer: pusi77 <pusineriandrea+gmail+com>
pkgname=hypnotix-wayland
-pkgver=5.0
+pkgver=5.1
pkgrel=1
pkgdesc="An IPTV streaming application. (With Wayland support)."
arch=(any)
@@ -22,7 +22,7 @@ depends=(
)
conflicts=(hypnotix hypnotix-git)
source=("hypnotix-$pkgver.tar.gz::https://github.com/linuxmint/hypnotix/archive/refs/tags/${pkgver}.tar.gz")
-sha256sums=('5f82c78163319206406e4e3c7392b4cddb9233b647c27cf9680a8a87f98aee82')
+sha256sums=('9b52f9426e676c77c59230cc44ed793aeda452ae92f62a3500bbd5399150b9dd')
prepare() {
cd hypnotix-$pkgver
sed -i "s/__DEB_VERSION__/$pkgver/g" usr/lib/hypnotix/hypnotix.py
:: Procedere con l'installazione? [S/n]
==> Creazione del pacchetto: hypnotix-wayland 5.1-1 (ven 1 ago 2025, 15:58:30)
==> Download dei sorgenti in corso...
-> Download di hypnotix-5.1.tar.gz in corso...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 170k 100 170k 0 0 266k 0 --:--:-- --:--:-- --:--:-- 266k
==> ATTENZIONE: Sto ignorando la verifica delle firme PGP.
==> Validazione di source file con sha256sums...
hypnotix-5.1.tar.gz ... Verificato
:: (1/1) Analisi SRCINFO: hypnotix-wayland
==> Creazione del pacchetto: hypnotix-wayland 5.1-1 (ven 1 ago 2025, 15:58:31)
==> Controllo delle dipendenze durante l'avvio in corso...
==> Controllo delle dipendenze durante la compilazione in corso...
==> Download dei sorgenti in corso...
-> È stato trovato hypnotix-5.1.tar.gz
==> Validazione di source file con sha256sums...
hypnotix-5.1.tar.gz ... Verificato
==> Rimozione dell'esistente directory $srcdir/ in corso...
==> Estrazione dei sorgenti in corso...
-> Estrazione di hypnotix-5.1.tar.gz usando bsdtar in corso...
==> Avvio di prepare() in corso...
==> I sorgenti sono pronti.
==> Creazione del pacchetto: hypnotix-wayland 5.1-1 (ven 1 ago 2025, 15:58:32)
==> Controllo delle dipendenze durante l'avvio in corso...
==> Controllo delle dipendenze durante la compilazione in corso...
==> ATTENZIONE: Sto usando il tree esistente di $srcdir/
==> Avvio di build() in corso...
==> Entro nell'ambiente fakeroot...
==> Avvio di package() in corso...
==> Rimozione dei dati superflui in corso...
-> Rimozione dei file libtool in corso...
-> Eliminazione dei file indesiderati in corso...
-> Rimozione dei file dalle librerie statiche...
-> Rimozione dei simboli non necessari dai binari e dalle librerie in corso...
-> Compressione delle pagine man ed info in corso...
==> Controllo per il rilascio dei pacchetti in corso...
==> Creazione del pacchetto "hypnotix-wayland" in corso...
-> Generazione del file .PKGINFO in corso...
-> Generazione del file .BUILDINFO in corso...
-> Creazione del file .MTREE in corso...
-> Compressione del pacchetto in corso...
==> Uscita dall'ambiente di fakeroot.
==> Compilazione terminata: hypnotix-wayland 5.1-1 (ven 1 ago 2025, 15:58:33)
==> Pulizia in corso...
caricamento dei pacchetti in corso...
risoluzione delle dipendenze in corso...
ricerca dei pacchetti in conflitto in corso...
Pacchetti (1) hypnotix-wayland-5.1-1
Dimensione totale dei pacchetti da installare: 0,46 MiB
Dimensione netta dell'aggiornamento: 0,00 MiB
:: Vuoi procedere con l'installazione? [S/n]
(1/1) verifica delle chiavi presenti nel portachiavi [########################################] 100%
(1/1) verifica dell'integrità dei pacchetti [########################################] 100%
(1/1) caricamento dei file dei pacchetti [########################################] 100%
(1/1) controllo dei conflitti in corso [########################################] 100%
(1/1) controllo dello spazio disponibile sul disco [########################################] 100%
:: Esecuzione degli hook di pre-transazione...
(1/1) Performing snapper pre snapshots for the following configurations...
==> root: 165
:: Elaborazione delle modifiche al pacchetto...
(1/1) aggiornamento in corso di hypnotix-wayland [########################################] 100%
:: Esecuzione degli hook di post-transazione...
(1/5) Arming ConditionNeedsUpdate...
(2/5) Compiling GSettings XML schema files...
(3/5) Updating icon theme caches...
(4/5) Updating the desktop file MIME type cache...
(5/5) Performing snapper post snapshots for the following configurations...
==> root: 166
[sermor@sermorarchpc ~]$
I added this line to the check-reboot-recommended file:
#!/bin/bash
# Messaggio per il terminale
echo "Uno o più pacchetti critici sono stati aggiornati."
echo "Si consiglia di riavviare il sistema."
# Notifica grafica con kdialog
kdialog --title "Riavvio consigliato" --msgbox "Uno o più pacchetti critici sono stati aggiornati. Si consiglia di riavviare il sistema."
I think it can be changed again, to make it a popup with a countdown for example, or change the style and position of the notification window. But for now I am satisfied like this.