feat(desktop): viewers (zathura+imv) + xdg-mime defaults (item 8)
All checks were successful
Check / eval (push) Successful in 2m52s
All checks were successful
Check / eval (push) Successful in 2m52s
The complete-workstation gap: no PDF/image viewer shipped and nothing set mime defaults, so 'open a photo' fell to GIMP. Two new default-on toggles: nomarchy.viewers (programs.zathura — Stylix themes it, target added to the explicit list — plus imv) and nomarchy.mime (mkDefault xdg.mimeApps: pdf→zathura, image→imv, av→mpv, text→code, dir→thunar; html/http(s)→firefox as inert entries that only activate when a browser is installed — the ship-a-browser Decision stays open, now smaller). Associations for absent apps are skipped by GIO, so the whole thing degrades as the user curates the suite. Deviation from the backlog text: viewers are a module toggle, not template package lines — zathura's theming needs its HM module (the real-config boundary of the toggle discipline). V1: template-home generation asserted — mimeapps.list rendered, themed zathurarc, binaries in home-path. V3 open-a-file smoke queued. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -26,19 +26,6 @@ next, in what order*.
|
||||
|
||||
## NEXT
|
||||
|
||||
### 8. Complete-workstation viewers + default applications
|
||||
New. The template ships mpv but **no PDF viewer and no image viewer**,
|
||||
and nothing sets xdg-mime defaults — so "open a PDF/photo" falls to
|
||||
whatever GTK guesses (GIMP for images). Two halves: (a) add a themed,
|
||||
lightweight PDF viewer + image viewer to the template's active
|
||||
`home.packages` (candidates: zathura or GNOME Papers; imv or loupe —
|
||||
prefer what Stylix themes well); (b) a mime-defaults module setting
|
||||
`xdg.mimeApps` associations (browser/PDF/image/video/text, `mkDefault`)
|
||||
— real config, so unlike bare packages this *is* module territory, but
|
||||
it must degrade gracefully when the user deletes a package from the
|
||||
suite. **Verify:** V1 + assert the rendered mimeapps.list; V3 queue an
|
||||
open-a-file smoke.
|
||||
|
||||
### 9. Update & rollback UX
|
||||
New; extends the update-awareness story to the other half: what changed,
|
||||
and how do I get back. (a) `sys-update` prints a human diff of what the
|
||||
@@ -209,7 +196,9 @@ decide.
|
||||
- **zram swap:** faster under pressure and pairs with NOW#3, but it
|
||||
interacts with the hibernation-swapfile story (resume device/priority
|
||||
ordering) — adopt, adopt-with-hibernation-guard, or skip?
|
||||
- **Default browser:** the template comments Firefox out; item #8's mime
|
||||
defaults need *something* to point `text/html` at — ship a browser
|
||||
active in the suite, or leave browserless-by-default and let mime
|
||||
defaults degrade?
|
||||
- **Default browser:** the template comments Firefox out. The shipped
|
||||
mime defaults (item 8, done) point `text/html`/http(s) at
|
||||
`firefox.desktop` as *inert* entries — they activate the moment
|
||||
Firefox is installed and are skipped otherwise, so the remaining call
|
||||
is only: ship a browser active in the suite, or stay
|
||||
browserless-by-default?
|
||||
|
||||
@@ -86,6 +86,13 @@ QA machine), the **T14s** (webcam case).
|
||||
`sudo nomarchy-snapshots`, restore a single file (`undochange`)
|
||||
and walk a root-config rollback up to (or through) the
|
||||
typed-`yes` gate.
|
||||
- [ ] **Open-a-file smoke (viewers + mime defaults, item 8)** — after
|
||||
`home-update`: from yazi/Thunar, open a PDF (→ zathura, themed to
|
||||
the palette), an image (→ imv, NOT GIMP), a video (→ mpv);
|
||||
`xdg-open .` on a directory → Thunar. With no browser installed,
|
||||
clicking a link must still fall through to *something sane* (the
|
||||
firefox.desktop entries are inert); if you've uncommented a
|
||||
browser, links go there.
|
||||
- [ ] **Update awareness** — with `nomarchy.updates.enable`, let the timer
|
||||
fire (or start the unit): indicator appears only when inputs are
|
||||
behind, notification only on count growth, click opens the upgrade
|
||||
|
||||
@@ -17,6 +17,26 @@ Template:
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-04 — viewers + mime defaults (iteration #17, item 8)
|
||||
- **Task:** BACKLOG NEXT#8 — PDF/image viewers + xdg-mime defaults.
|
||||
- **Did:** modules/home/viewers.nix (`nomarchy.viewers.enable`, default
|
||||
on): programs.zathura (Stylix themes it — target added to stylix.nix's
|
||||
explicit list, autoEnable=false bit us first try) + imv.
|
||||
modules/home/mime.nix (`nomarchy.mime.enable`): mkDefault
|
||||
xdg.mimeApps for pdf→zathura, image/*→imv, av→mpv, text→code,
|
||||
dir→thunar, html/http(s)→firefox as INERT entries (browser Decision
|
||||
untouched — absent .desktop entries are skipped by GIO). README rows
|
||||
added (option-docs enforces them now). DEVIATION from the item text:
|
||||
viewers are a module toggle, not template packages — zathura's
|
||||
theming needs its HM module, which is exactly the "real config"
|
||||
boundary of the toggle discipline.
|
||||
- **Verified:** V0; V1 — template-home generation builds; asserted
|
||||
rendered mimeapps.list (all associations), themed zathurarc
|
||||
(Tokyo Night rgb), imv/zathura in home-path. V3 smoke queued.
|
||||
- **Pending:** V3 open-a-file smoke; browser Decision now smaller
|
||||
(inert entries ship; only "active in suite?" remains).
|
||||
- **Next suggestion:** NEXT#9 (update & rollback UX) — or #10 doctor.
|
||||
|
||||
## 2026-07-04 — docs slice (c): install story — item 6 COMPLETE (iteration #16)
|
||||
- **Task:** BACKLOG NOW#6 slice (c), the last one — install/first-run
|
||||
narrative end to end.
|
||||
|
||||
Reference in New Issue
Block a user