This was my first open source project and I’m happy to announce the first major release with some cool new features. I really wanted an update module in Waybar that was on par with toolbar modules typically found in other operating systems.
This release introduces:
- updated “update commands/flags” for nixos 24.11
- the ability to configure whether you want your lock file updated or not, during the update check
- state files used to track the time of the last update to reduce updates between reboots
- a check for internet connectivity prior to updating
These may be Waybar limitations, but I need to look into it more. Things I still wish it did:
- animated spinner during the update process
- didn’t run immediately after booting or hibernating
Feedback and PRs welcome!
8 Likes
It still requires a little waybar configuration, but I just added a nix flake to make installing a little easier. Tested and working on 25.05.
Feedback, PRs, and stars are always welcome.
2 Likes
New auto-detect-rebuild branch with some significant changes. Looking for some feedback before I merge. This branch’s headline change is automatic rebuild and input-update detection, removing the manual flag-file wiring that master requires.
What changed
- Auto-detect rebuilds - Instead of relying on a nix-update-rebuild-flag cache file that your update script has to touch, the checker now compares the /run/current-system symlink against a cached path. When it changes, it runs nvd diff on the existing store paths (fast, no rebuild) to tell a real package update from a config-only rebuild, and only clears the count when package versions actually changed.
- Auto-detect input updates - flake.lock changes are detected directly, so nix flake update triggers an immediate input re-check regardless of which alias/command ran. No nix-update-input-update-flag touch needed.
- Tooltip timing header - shows “last checked” and “next check” times.
- New dependency - nvd is now added to the wrapped PATH.
- Assorted fixes: exec-on-event = false to avoid double-exec on clicks, package-sources cache invalidation on rebuild (picks up channel reassignments), cleaner tooltip divider, and more robust version parsing.
Configuration differences
- No more update-script/alias edits. On master you had to add flag-file touches to your rebuild script and nix flake update aliases (nix-update-rebuild-flag, nix-update-input-update-flag, and the piped nvd diff … | tee for the update flag). On this branch none of that is needed - detection is automatic.
- New option: clockFormat - “24h” (default) or “12h” - controls tooltip timestamp format.
- Module default gained exec-on-event = false.
- nvd must be available (handled automatically via the flake module).
Feedback welcome - especially on the rebuild-detection approach and whether the nvd dependency is acceptable.