feat(template): ship Chromium by default; record product decisions
All checks were successful
Check / eval (push) Successful in 2m49s
All checks were successful
Check / eval (push) Successful in 2m49s
- home.packages: chromium active; mime → chromium-browser.desktop - Decisions: markdown docs stay in-repo; PPD default confirmed - Formatter + zram still open (explained in session, not closed) V0: flake check --no-build green.
This commit is contained in:
@@ -115,51 +115,30 @@ _(Identity taste retunes + hand `btop.theme` for white/vantablack/lumon/
|
||||
### v1.0 pointer
|
||||
|
||||
See **VISION**. Open PROPOSED: NVIDIA wrappers deferred past v1; IR
|
||||
portal (b)/(c) hardware.
|
||||
portal (b)/(c) hardware. Browser default = Chromium; power = PPD.
|
||||
|
||||
|
||||
## Decisions `[human]`
|
||||
|
||||
Open calls only Bernardo can make; agents add options/evidence but never
|
||||
decide.
|
||||
decide. **Resolved** entries stay for history; agents treat them as closed.
|
||||
|
||||
### Resolved (2026-07-10)
|
||||
|
||||
- **Docs site vs Markdown-in-repo** — **markdown in-repo for now**
|
||||
(`docs/`, README). A rendered docs site is FUTURE if wanted.
|
||||
- **Default browser** — **ship Chromium** in
|
||||
`templates/downstream/home.nix`; mime → `chromium-browser.desktop`.
|
||||
Opt out: delete the line / override mime.
|
||||
- **Default power backend** — **keep PPD** (`nomarchy.system.power.backend`
|
||||
default). TLP remains the one-line opt-in. Rationale: stability + live
|
||||
profile API for menu/Waybar; Omarchy’s TLP experiment reverted.
|
||||
|
||||
### Still open
|
||||
|
||||
- **Formatter adoption:** repo deliberately has none; `nixfmt-rfc-style`
|
||||
would flatten the aligned hand-formatting of ~33 files. Adopt or
|
||||
declare never?
|
||||
- **Docs site vs Markdown-in-repo** (from the docs-review item).
|
||||
|
||||
- **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. 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?
|
||||
|
||||
- **Default power backend — PPD vs TLP:** (raised by Bernardo 2026-07-08:
|
||||
would TLP be more power-efficient, and should it be the default?)
|
||||
TLP does get more *idle* battery life, but only from device-level knobs
|
||||
PPD deliberately omits — PCIe ASPM, disk/NVMe link PM, USB autosuspend,
|
||||
runtime PM — which are the same knobs behind NVMe/USB flakiness that
|
||||
pillar 1 (rock-stable, never fight your machine) guards against.
|
||||
**Evidence (2026-07-08):** no credible hard-watt benchmarks exist — TLP's
|
||||
own maintainer declines to quote any ("measure on your hardware") and says
|
||||
PPD's power-saver gives *similar* savings under load; TLP's edge is
|
||||
idle-only (linrunner.de/tlp/faq/ppd.html — PPD covers a *subset* of TLP,
|
||||
"no settings to reduce consumption when the CPU is idle"). Our sibling
|
||||
distro **Omarchy** ran this exact experiment — a "replace Power Profiles
|
||||
with TLP for battery" guide — and the author **reverted to PPD** ("more
|
||||
headaches and weird issues"); Omarchy shipped PPD auto-switching instead
|
||||
(basecamp/omarchy#3907). PPD 3.4.0 now does AC/battery auto-switching,
|
||||
closing part of TLP's UX gap. **Cost of TLP-default:** TLP has no live
|
||||
D-Bus profile API, so the `powermgmt` menu + Waybar profile indicator +
|
||||
low-battery auto power-saver (all `powerprofilesctl`) would need a rework —
|
||||
it's not a one-line backend swap. **Agent rec (evidence, not a decision):
|
||||
keep PPD default;** chase battery via targeted low-risk tweaks (PCIe ASPM
|
||||
policy, battery-side EPP, the charge *start* threshold, PPD auto-switching)
|
||||
and keep TLP the documented one-line opt-in it already is
|
||||
(`nomarchy.system.power.backend = "tlp"`). Options: (i) status quo +
|
||||
targeted tweaks [rec]; (ii) TLP default (reworks the profile UX);
|
||||
(iii) nothing.
|
||||
declare never? (See reply in session: Nix-source style only, not runtime.)
|
||||
- **zram swap:** faster under pressure, but interacts with the
|
||||
hibernation-swapfile story (resume device/priority). Adopt,
|
||||
adopt-with-hibernation-guard, or skip?
|
||||
|
||||
@@ -143,12 +143,10 @@ that run; leftover open items still need a pass.*
|
||||
snapshot flow, "boot an older generation (how)" fires an
|
||||
instruction notification.
|
||||
- [ ] **Open-a-file smoke (viewers + mime defaults, item 8)** — after
|
||||
`home-update`: from yazi/Thunar, open a PDF (→ zathura, themed to
|
||||
`nomarchy-home`: 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.
|
||||
`xdg-open .` on a directory → Thunar; a link → **Chromium**
|
||||
(`chromium-browser.desktop` — template default as of 2026-07-10).
|
||||
- [ ] **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
|
||||
|
||||
@@ -287,7 +287,8 @@ Design/decision records and a running log of shipped work (items marked
|
||||
`libreoffice-fresh`, `vscode`, `gimp`, `inkscape` — ships *active* in the
|
||||
downstream `templates/downstream/home.nix` `home.packages`, with the heavier
|
||||
opt-ins (`texliveFull` — multi-GB; `texliveMedium` is lighter — plus
|
||||
browser/email) commented just below. **Decision: no `nomarchy.apps.*` option
|
||||
browser/email) commented just below — **Chromium is active by default**
|
||||
(2026-07-10); other browsers stay commented. **Decision: no `nomarchy.apps.*` option
|
||||
surface.** Unlike `nomarchy.services.*` (real config behind each toggle —
|
||||
systemd units, subuid ranges, the Flathub oneshot), a bare package install
|
||||
has nothing behind the toggle: `mkIf x { environment.systemPackages = [p]; }`
|
||||
|
||||
@@ -50,13 +50,12 @@ lib.mkIf config.nomarchy.mime.enable {
|
||||
# The system-side Thunar (nomarchy.system.fileManager).
|
||||
"inode/directory" = "thunar.desktop";
|
||||
|
||||
# The template ships no browser by default (open Decision) — these
|
||||
# are inert until one is installed; firefox is the template's first
|
||||
# suggestion. A different browser registers its own handler and
|
||||
# wins once these entries stay dead.
|
||||
"text/html" = "firefox.desktop";
|
||||
"x-scheme-handler/http" = "firefox.desktop";
|
||||
"x-scheme-handler/https" = "firefox.desktop";
|
||||
# Template ships chromium (chromium-browser.desktop). Entry is
|
||||
# skipped by GIO if the package is deleted; install another browser
|
||||
# and/or override these keys to retarget.
|
||||
"text/html" = "chromium-browser.desktop";
|
||||
"x-scheme-handler/http" = "chromium-browser.desktop";
|
||||
"x-scheme-handler/https" = "chromium-browser.desktop";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -81,6 +81,7 @@
|
||||
home.packages = with pkgs; [
|
||||
libreoffice-fresh # office suite (documents, sheets, slides)
|
||||
vscode # code editor (unfree; allowUnfree is on)
|
||||
chromium # web browser (mime defaults → chromium-browser.desktop)
|
||||
gimp # raster image editor
|
||||
inkscape # vector graphics
|
||||
mpv # media player
|
||||
@@ -88,9 +89,8 @@
|
||||
# pwvucontrol + calcurse ship with the Waybar module (volume right-click / clock)
|
||||
|
||||
# ── More apps — uncomment to add ─────────────────────────────────
|
||||
# Web browsers
|
||||
# Web browsers (chromium ships above — swap/delete freely)
|
||||
# firefox
|
||||
# chromium
|
||||
# ungoogled-chromium
|
||||
# brave # (unfree)
|
||||
# google-chrome # (unfree)
|
||||
|
||||
Reference in New Issue
Block a user