As a follow-up to my previous post, I would like to share something more practical.
Over the years I have built a personal update and maintenance script that I use on my own Manjaro systems. It has been developed gradually with the help of AI as a coding and review assistant, and it has been running for quite some time on real daily-driven installations.
I am sharing it only as a reference example of a real user workflow — not as a recommendation or a best practice.
This script is highly opinionated and makes several assumptions about the system it runs on. For example it assumes:
• a Btrfs root setup with Snapper configured and snapshots available
• usage of the stable branch and a general preference for conservative update timing
• regular AUR usage through yay
• GNOME desktop environment and GNOME extensions tooling
• Flatpak applications being present
• a certain tolerance for automated cleanup actions
• a user who is comfortable with terminal interaction and system maintenance concepts
In practical terms the script performs tasks such as:
• mirror refresh and update gating logic
• full system upgrade (repo and AUR) with various safety checks
• snapshot verification / creation before updates
• SMART health check of the system drive
• dependency validation and optional installation
• optional replacement of AUR or Flatpak apps with repo equivalents
• rebuild detection for AUR packages
• GNOME extensions update
• Flatpak update and cleanup
• orphaned package removal and cache cleanup
• various system hygiene checks and interactive decision points
Please note very clearly: this is a personal workflow tool.
Anyone interested should read the script carefully, understand what each part does, and adapt it to their own setup before even considering running it. It is not designed to be universal or risk-free.
I hope it may be useful as inspiration or as a starting point for discussion about different maintenance approaches within the Manjaro ecosystem.