feat(desktop): add clipboard history (task 0027) #19

Merged
alexion merged 1 commits from task-0027-cliphist-clipboard-history into main 2026-07-22 21:50:40 -04:00
Owner

Task: .claude/tasks/0027-cliphist-clipboard-history.md

Summary

Adds a cliphist clipboard-history module to the desktop group, enabled through the aggregator.

  • Home-manager's services.cliphist runs the text and image watchers as a pair of systemd user services bound to graphical-session.target (uwsm-started, like mako and hypridle), and installs cliphist + wl-clipboard. Images are recorded by default.
  • A small picker over the same themed rofi (cliphist list | rofi -dmenu | cliphist decode | wl-copy) recalls history, bound on Super+Shift+V.

No deviations from the plan. All four acceptance criteria are met and nix flake check is green for neogaia. As with rofi, no Waybar window-rewrite mapping is owed — the watchers are headless and the picker is a rofi layer surface, not a tiled window.

Review

Risk

Overall: LOW

  • Blast radius: Low — one new self-contained module plus a single default toggle in desktop.nix; no callers ripple.
  • Reversibility: Low — pure additive Nix config, revert by deleting the file and the one line.
  • Test coverage: Medium — no tests, and Nix eval won't catch invalid Hyprland binds or the runtime picker pipeline (only a live session validates dispatchers).
  • Sensitive domain: Low — no auth/payments/permissions/concurrency/migrations; clipboard history stores copied secrets, but that's inherent to the tool.
  • Size & complexity: Low — ~42 lines, linear shell pipeline, straightforward option/config.
  • Runtime criticality: Low — desktop convenience feature; failure degrades to a missing keybind, not a broken session.

Unaddressed findings

None. The Standards axis raised one hard violation (a semicolon in a comment) and two judgement calls (a redundant "what" comment sentence, and inconsistent bin-path handling); all three are fixed in the diff. The Spec axis found nothing.

— Claude

Task: `.claude/tasks/0027-cliphist-clipboard-history.md` ## Summary Adds a `cliphist` clipboard-history module to the desktop group, enabled through the aggregator. - Home-manager's `services.cliphist` runs the text and image watchers as a pair of systemd user services bound to `graphical-session.target` (uwsm-started, like mako and hypridle), and installs `cliphist` + `wl-clipboard`. Images are recorded by default. - A small picker over the same themed rofi (`cliphist list | rofi -dmenu | cliphist decode | wl-copy`) recalls history, bound on `Super+Shift+V`. No deviations from the plan. All four acceptance criteria are met and `nix flake check` is green for neogaia. As with rofi, no Waybar `window-rewrite` mapping is owed — the watchers are headless and the picker is a rofi layer surface, not a tiled window. ## Review ### Risk **Overall: LOW** - Blast radius: Low — one new self-contained module plus a single default toggle in desktop.nix; no callers ripple. - Reversibility: Low — pure additive Nix config, revert by deleting the file and the one line. - Test coverage: Medium — no tests, and Nix eval won't catch invalid Hyprland binds or the runtime picker pipeline (only a live session validates dispatchers). - Sensitive domain: Low — no auth/payments/permissions/concurrency/migrations; clipboard history stores copied secrets, but that's inherent to the tool. - Size & complexity: Low — ~42 lines, linear shell pipeline, straightforward option/config. - Runtime criticality: Low — desktop convenience feature; failure degrades to a missing keybind, not a broken session. ### Unaddressed findings None. The Standards axis raised one hard violation (a semicolon in a comment) and two judgement calls (a redundant "what" comment sentence, and inconsistent bin-path handling); all three are fixed in the diff. The Spec axis found nothing. — Claude
alexion changed title from feat(desktop): add cliphist clipboard history (task 0027) to feat(desktop): add clipboard history (task 0027) 2026-07-22 19:24:20 -04:00
alexion added 1 commit 2026-07-22 21:42:56 -04:00
Add a clipboard module to the desktop group, enabled through the
aggregator. Home-manager's services.cliphist runs the text and image
watchers as systemd user services bound to the graphical-session
target, and a rofi-dmenu picker recalls history on Super+Shift+V.
wl-clipboard is on PATH so the shell can pipe to and from the clipboard.
alexion force-pushed task-0027-cliphist-clipboard-history from cf44c4df27 to 210a260735 2026-07-22 21:42:56 -04:00 Compare
alexion merged commit 210a260735 into main 2026-07-22 21:50:40 -04:00
alexion deleted branch task-0027-cliphist-clipboard-history 2026-07-22 21:50:40 -04:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: alexion/dotfiles#19