From 550e8d555b47e01679035c94728a6ff21d5089cd Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Wed, 13 May 2026 13:43:34 +0100 Subject: feat(waybar,nvim): update-staleness reminder; nvim update visible MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- dot_config/nvim/lua/config/update.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'dot_config/nvim/lua/config') 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 -- cgit v1.3.1