Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ouuan/pacwatch
A pacman wrapper that helps you watch important package updates.
https://github.com/ouuan/pacwatch
arch-linux archlinux package-management pacman
Last synced: 3 months ago
JSON representation
A pacman wrapper that helps you watch important package updates.
- Host: GitHub
- URL: https://github.com/ouuan/pacwatch
- Owner: ouuan
- License: apache-2.0
- Created: 2020-11-13T18:00:53.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-10-11T16:22:26.000Z (4 months ago)
- Last Synced: 2024-10-29T23:23:27.340Z (3 months ago)
- Topics: arch-linux, archlinux, package-management, pacman
- Language: Python
- Homepage: https://aur.archlinux.org/packages/pacwatch/
- Size: 393 KB
- Stars: 25
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# pacwatch
**pacwatch** is a [pacman](https://www.archlinux.org/pacman/) wrapper which helps you watch important package updates.
[![AUR version](https://img.shields.io/aur/version/pacwatch)](https://aur.archlinux.org/packages/pacwatch/)
![screenshot](screenshot.png)
## Installation
```sh
yay -S pacwatch
```## Usage
Simply run `python pacwatch.py`, or `pacwatch` if you have installed it via AUR.
### Arguments
- `-h, --help`: how this help message and exit
- `--reset`: reset settings to default
- `-e, --edit`: edit the settings in `$EDITOR`
- `-v, --version`: show program's version number and exit## Settings
The settings are stored in `~/.config/pacwatch/settings.yml`.
The structure is:
```yml
settings_version: 2 # the version of the setting, used to detect incompatible changes
pacman_command: sudo pacman # for example, you can use "yay" instead
groups: # groups of package version changes, the output will be in the same order
- epoch
- major
- major-two
- minor
- minor-two
- single
- patch
- identifier
- pkgrel
rules: # rules to determine the group of a package change, choose the first matching rule
- regex: (?:(\d+):)?(\d+)\.(\d+)\.(\d+)(.*)-([^-]+) # each capture group of the regex is a part of the version
parts: # the group of each part
- epoch
- major
- minor
- patch
- identifier
- pkgrel
- regex: (?:(\d+):)?(\d+)\.(\d+)(.*)-([^-]+)
parts:
- epoch
- major-two
- minor-two
- identifier
- pkgrel
- regex: (?:(\d+):)?(\w+)(.*)-([^-]+)
parts:
- epoch
- single
- identifier
- pkgrel
verbose: # the rules which determines which packages to be highlighted, checked one by one from top to bottom
- regex: .*
groups:
- not-installed # match all newly installed packages (they are usually new dependencies)
- packages: # these packages match this rule
- linux
regex: linux-(lts|zen|hardened) # the packages which fully matches this regex also match this rule
allGroups: true # no matter what group the matching packages are in, they use verbose output
- packages:
- systemd
groups: # only if a mathcing package is in these groups, it uses verbose output
- minor-two
- regex: lib.+
allGroups: true
no_verbose: true # the opposite of other rules: it prevents the packages it applies to using verbose output
- regex: .* # matches all packages, which can be considered as a fallback or a default rule
groups:
- minor
explicitOnly: true # this rule only applies to explicitly installed packages, not dependencies
- regex: .*
groups:
- epoch
- major
- major-two
```