August 2009: A vimdiff primer.
February 2010: Now with more tuning.

Original No more surprises! Now with pacdiff integration. A vimdiff primer. Now with more tuning. Reads the ML for you! More vimdiff Get emails about pending system updates with cron-pacmatic Editable
version 3 & 4 of 7

Pacmatic is a small wrapper for Arch Linux's package manager, pacman. It takes care of a few menial tasks you should do every time before updating your system. These tasks are so menial so that many Archers always forget them, until they are surprised by a horrible problem. However, menial tasks are easy to automate, and that is where pacmatic comes in.

Using it is pretty simple. Just type pacmatic instead of pacman. It will perform some introspection on the calling arguments, pacman.log and the Arch news feed. If you do something foolish, it will tell you.

It helps you avoid three common mistakes. First, it adds a tiny RSS reader. The Arch Devs will routinely announce major compatibility breaks on the Arch feed, and it is stuff you really should see before updating. Disseminating information rapidly and effectively will be an essential role for the next generation of package managers, and I for one would prefer pacman to stay ahead of the curve. Information These information updates are trickier than application updates (How do you checksum the integrity of someone's thoughts?), but are just as critical. A record of Arch News is maintained in /var/log/arch-news.log.

Second, Arch is an aggressive rolling release distro and if improperly synchronised can blow your leg off when libraries are updated in a backwards incompatible manner. It won't stop pacman from trashing your system, but it will print a warning warn you if the local repositories get ahead of what's actually installed.

Third, it will pester pesters you to stay on top of configuration updates. Pacman will tell you that there are has always reported new configuration files, but pacmatic is a little more in your face about actually taking care of them. For actually merging the files, vimdiff is used. Honestly, I had never used it for editing diffs, just viewing them. Full details are found in :help vimdiff. Here is the shortest primer to make vimdiff useful:

Ctrl w (twice) Toggle windows

do Short for "diff obtain", but I think of "other", because it pulls the change under the cursor from other window into the focused window.

dp Short for "diff put", but I think of "push", because it pushes changes from the focused window to non-focused window.

]c Jump forward to the next change.

[c Jump bacwards to the previous change.

The latest version makes tuning Pacmatic's configuration. There are several environment variables which when exported allow tweaking of everything from the news feed to the diff program. Run pacmatic without any arguments to see the current configuration.

Dependencies are pretty light. Just wget, pacman and pacman-contrib.

Some links: