<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotfiles/dot_config/waybar/executable_failed-units-status.sh, branch master</title>
<subtitle>My linux config and rc files</subtitle>
<id>https://git.sommerfeld.dev/dotfiles/atom/dot_config/waybar/executable_failed-units-status.sh?h=master</id>
<link rel='self' href='https://git.sommerfeld.dev/dotfiles/atom/dot_config/waybar/executable_failed-units-status.sh?h=master'/>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/'/>
<updated>2026-05-13T12:43:35Z</updated>
<entry>
<title>feat(waybar): pacdiff + failed-units reminders</title>
<updated>2026-05-13T12:43:35Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-13T12:43:35Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=aba0bd84ac3b92d45f55b03692814e496358fe25'/>
<id>urn:sha1:aba0bd84ac3b92d45f55b03692814e496358fe25</id>
<content type='text'>
Two live waybar modules — no timer/state-file pipeline because the
inputs are cheap to compute on every poll:

custom/pacdiff (interval 300s)
  Counts unresolved .pacnew / .pacsave files via `pacdiff -o` (output
  mode — lists only, takes no action). Hidden at zero. Yellow 'pacdiff
  N' otherwise. Mako fires once on the 0→N transition, so you get
  exactly one nudge per upgrade wave, not a sustained re-nag for files
  you've decided to defer. Click runs `sudo DIFFPROG='nvim -d' pacdiff`
  in a floating ghostty.

custom/failed-units (interval 30s)
  Sums `systemctl --failed` (system) and `systemctl --user --failed`
  counts. Hidden at zero. Red 'failed N' otherwise. Mako fires only on
  upward transition (count went up since last poll), so already-known
  failures don't keep paging you while you investigate. Click prints
  both `systemctl --failed` outputs in a floating ghostty.

Both modules use the same $XDG_RUNTIME_DIR/waybar-X-prev pattern as the
update reminder for state, which makes 'reboot resets the nag' the
default behaviour — exactly the right semantics for both: a fresh boot
deserves a fresh look at pending pacdiffs and any failed units.
</content>
</entry>
</feed>
