Skip to content
 
 

Repository files navigation

Parch-Update

An interactive update notifier & applier for Parch Linux that assists you with important pre / post update tasks.
Includes a desktop systray applet for seamless integration with any desktop environment (KDE Plasma, GNOME, XFCE).

Parch-Update follows recommended system maintenance practices for Arch and Parch Linux distributions.


Features

  • Network Connectivity Check: Verifies internet connectivity before running updates.
  • Keyring Pre-Update: Automatically prioritizes updating archlinux-keyring and parchlinux-keyring to prevent PGP signature verification failures.
  • Parch Mirror Check: Checks Parch repository mirror availability (/etc/pacman.d/parch-mirrors) and integrates with mirrorman.
  • Arch & Parch News: Fetches and displays recent news and critical manual intervention notices before applying updates.
  • Full Upgrade Integration: Upgrades official repos, Parch repos, AUR (via paru, yay, or pikaur), and Flatpak.
  • Orphan Package Cleaner: Detects and optionally removes unneeded orphan packages (pacman -Qtdq).
  • Cache Management: Cleans pacman package cache with configurable retention via paccache.
  • Pacnew File Management: Inspects and merges .pacnew configuration files via pacdiff.
  • Kernel Reboot Detection: Warns when a kernel update requires a system reboot to take effect.
  • Service Restart Check: Identifies systemd services requiring a restart post-upgrade via checkservices.
  • Systray Applet: Lightweight Rust-based StatusNotifierItem/AppIndicator tray applet with update count, breakdown, and notifications.
  • Extensive CLI: Complete command-line support with flags for automated scripts, headless servers, and terminal workflows.

Installation

From Parch Linux Repositories

sudo pacman -S parch-update

From Source

Dependencies

Runtime dependencies:

sudo pacman -S --needed bash systemd pacman pacman-contrib archlinux-contrib glibc libgcc curl fakeroot htmlq diffutils hicolor-icon-theme glib2 xdg-utils util-linux

AUR helper (default in Parch Linux is paru):

sudo pacman -S --needed paru

Build dependencies:

sudo pacman -S --asdeps make scdoc cargo gettext

Building & Installing

git clone https://github.com/parchlinux/parch-update.git
cd parch-update
make
sudo make install

To clean build artifacts:

make clean

To uninstall:

sudo make uninstall

Usage

Interactive Update

Run without options in a terminal to perform a complete system maintenance and update:

parch-update

CLI Options

Option Description
parch-update Run full interactive update workflow
parch-update -c, --check Check for available updates, update tray icon, and send notification
parch-update --check --enable Enable automated background systemd timer
parch-update -l, --list List pending updates without applying them
parch-update -d, --devel Include development VCS packages (-git) from AUR
parch-update -k, --keyring Prioritize and update Arch and Parch keyrings immediately
parch-update -m, --mirrors Check Parch Linux mirror status and connectivity
parch-update -n, --news [N] View latest news (default 5, or specify count)
parch-update -s, --services Check and restart services requiring restart post-update
parch-update --tray Launch the Parch-Update systray applet
parch-update --tray --enable Enable systray applet to start on desktop login
parch-update --gen-config Generate default configuration file
parch-update --show-config View active configuration
parch-update --edit-config Edit configuration file in $EDITOR
parch-update -h, --help Show command help
parch-update -V, --version Show version information

The Systray Applet

To launch and autostart the tray applet:

parch-update --tray --enable

Note for GNOME users: Install the AppIndicator and KStatusNotifierItem Support GNOME shell extension to display tray icons.

Automated Checks

To enable automated checks via systemd user timer (runs at boot and once daily by default):

parch-update --check --enable

To customize timer interval:

systemctl --user edit --full parch-update.timer

Configuration

Parch-Update reads configuration from:

  1. ~/.config/parch/parch-update.conf
  2. ~/.config/parch-update/parch-update.conf
  3. /etc/parch/parch-update.conf
  4. /etc/parch-update.conf

Generate a template configuration:

parch-update --gen-config

Example configuration (parch-update.conf):

#NoColor
#NoVersion
#NoAUR
#NoFlatpak
#NoNotification
#NoKeyringUpdate
#NoMirrorCheck
#NoPacnewCheck
#NewsNum=5
#NewsTimeout=10
#UpdateCheckTimeout=30
#AURHelper=paru
#PrivilegeElevationCommand=sudo
#KeepOldPackages=3
#KeepUninstalledPackages=0
#DiffProg=meld
#TrayUpdatesPerPage=0
#TrayIconStyle=blue
#ColorblindMode

License

Parch-Update is licensed under the GPL-3.0 license (or any later version).

About

An interactive update notifier & applier for Arch Linux that assists you with important pre / post update tasks (including a systray applet and extensive CLI).

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages