diff options
| author | 2026-05-13 13:43:34 +0100 | |
|---|---|---|
| committer | 2026-05-13 13:43:34 +0100 | |
| commit | 550e8d555b47e01679035c94728a6ff21d5089cd (patch) | |
| tree | 0320e2eeac5edb5022059cc195f772db22603811 /dot_config/nvim | |
| parent | 6b29fe2b16f2bc66f4921321644e87ec89c4b344 (diff) | |
| download | dotfiles-550e8d555b47e01679035c94728a6ff21d5089cd.tar.gz dotfiles-550e8d555b47e01679035c94728a6ff21d5089cd.tar.bz2 dotfiles-550e8d555b47e01679035c94728a6ff21d5089cd.zip | |
feat(waybar,nvim): update-staleness reminder; nvim update visible
Two related changes around the 'just update' UX:
1. nvim-update no longer runs --headless. The diff buffer that
vim.pack.update opens *is* the per-plugin changelog, and that was
being thrown away under headless. Drop --headless from the justfile
recipe and the trailing :qa! from config.update.run() so the buffer
stays open until the user reviews and quits manually. Mason output
was already visible because mason-tool-installer print()s.
2. New waybar 'custom/update' module + matching mako notification as a
gentle staleness reminder, replacing any temptation to run
unattended pacman -Syu (a bad idea on Arch: rolling, news-driven
manual interventions, AUR rebuilds, partial-upgrade hazards).
Source of truth: /var/log/pacman.log — last '[PACMAN] starting full
system upgrade'. No daemon, no -Sy poll, no extra state file beyond
a per-session notify-throttle stamp in $XDG_RUNTIME_DIR.
Tiers (hours since last full upgrade):
< 24h hidden (":empty" via #custom-update.fresh padding 0)
24-168h yellow + normal-urgency mako, throttled to 1/24h
>= 168h red + critical-urgency mako, throttled to 1/24h
Click runs 'just update' in a floating ghostty.
Diffstat (limited to 'dot_config/nvim')
| -rw-r--r-- | dot_config/nvim/lua/config/update.lua | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/dot_config/nvim/lua/config/update.lua b/dot_config/nvim/lua/config/update.lua index e785d43..bc7ee3d 100644 --- a/dot_config/nvim/lua/config/update.lua +++ b/dot_config/nvim/lua/config/update.lua @@ -1,8 +1,10 @@ --- Headless update orchestrator. Invoked from the justfile via: --- nvim --headless +'lua require("config.update").run()' +-- Update orchestrator. Invoked from the justfile via: +-- nvim +'lua require("config.update").run()' -- -- Cleans orphan plugins, applies plugin updates without prompting, then --- runs :MasonToolsUpdateSync (blocking variant intended for headless use). +-- runs :MasonToolsUpdateSync. Run interactively (not --headless) so the +-- diff buffer that vim.pack.update opens is actually visible — that +-- buffer IS the changelog. Quit manually with :qa once reviewed. local M = {} @@ -35,8 +37,6 @@ function M.run() print("[mason] updating tools…") vim.cmd("MasonToolsUpdateSync") - - vim.cmd("qa!") end return M |
