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
|
### v1.0 pointer
|
||||||
|
|
||||||
See **VISION**. Open PROPOSED: NVIDIA wrappers deferred past v1; IR
|
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]`
|
## Decisions `[human]`
|
||||||
|
|
||||||
Open calls only Bernardo can make; agents add options/evidence but never
|
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`
|
- **Formatter adoption:** repo deliberately has none; `nixfmt-rfc-style`
|
||||||
would flatten the aligned hand-formatting of ~33 files. Adopt or
|
would flatten the aligned hand-formatting of ~33 files. Adopt or
|
||||||
declare never?
|
declare never? (See reply in session: Nix-source style only, not runtime.)
|
||||||
- **Docs site vs Markdown-in-repo** (from the docs-review item).
|
- **zram swap:** faster under pressure, but interacts with the
|
||||||
|
hibernation-swapfile story (resume device/priority). Adopt,
|
||||||
- **zram swap:** faster under pressure and pairs with NOW#3, but it
|
adopt-with-hibernation-guard, or skip?
|
||||||
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.
|
|
||||||
|
|||||||
@@ -143,12 +143,10 @@ that run; leftover open items still need a pass.*
|
|||||||
snapshot flow, "boot an older generation (how)" fires an
|
snapshot flow, "boot an older generation (how)" fires an
|
||||||
instruction notification.
|
instruction notification.
|
||||||
- [ ] **Open-a-file smoke (viewers + mime defaults, item 8)** — after
|
- [ ] **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);
|
the palette), an image (→ imv, NOT GIMP), a video (→ mpv);
|
||||||
`xdg-open .` on a directory → Thunar. With no browser installed,
|
`xdg-open .` on a directory → Thunar; a link → **Chromium**
|
||||||
clicking a link must still fall through to *something sane* (the
|
(`chromium-browser.desktop` — template default as of 2026-07-10).
|
||||||
firefox.desktop entries are inert); if you've uncommented a
|
|
||||||
browser, links go there.
|
|
||||||
- [ ] **Update awareness** — with `nomarchy.updates.enable`, let the timer
|
- [ ] **Update awareness** — with `nomarchy.updates.enable`, let the timer
|
||||||
fire (or start the unit): indicator appears only when inputs are
|
fire (or start the unit): indicator appears only when inputs are
|
||||||
behind, notification only on count growth, click opens the upgrade
|
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
|
`libreoffice-fresh`, `vscode`, `gimp`, `inkscape` — ships *active* in the
|
||||||
downstream `templates/downstream/home.nix` `home.packages`, with the heavier
|
downstream `templates/downstream/home.nix` `home.packages`, with the heavier
|
||||||
opt-ins (`texliveFull` — multi-GB; `texliveMedium` is lighter — plus
|
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 —
|
surface.** Unlike `nomarchy.services.*` (real config behind each toggle —
|
||||||
systemd units, subuid ranges, the Flathub oneshot), a bare package install
|
systemd units, subuid ranges, the Flathub oneshot), a bare package install
|
||||||
has nothing behind the toggle: `mkIf x { environment.systemPackages = [p]; }`
|
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).
|
# The system-side Thunar (nomarchy.system.fileManager).
|
||||||
"inode/directory" = "thunar.desktop";
|
"inode/directory" = "thunar.desktop";
|
||||||
|
|
||||||
# The template ships no browser by default (open Decision) — these
|
# Template ships chromium (chromium-browser.desktop). Entry is
|
||||||
# are inert until one is installed; firefox is the template's first
|
# skipped by GIO if the package is deleted; install another browser
|
||||||
# suggestion. A different browser registers its own handler and
|
# and/or override these keys to retarget.
|
||||||
# wins once these entries stay dead.
|
"text/html" = "chromium-browser.desktop";
|
||||||
"text/html" = "firefox.desktop";
|
"x-scheme-handler/http" = "chromium-browser.desktop";
|
||||||
"x-scheme-handler/http" = "firefox.desktop";
|
"x-scheme-handler/https" = "chromium-browser.desktop";
|
||||||
"x-scheme-handler/https" = "firefox.desktop";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,6 +81,7 @@
|
|||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
libreoffice-fresh # office suite (documents, sheets, slides)
|
libreoffice-fresh # office suite (documents, sheets, slides)
|
||||||
vscode # code editor (unfree; allowUnfree is on)
|
vscode # code editor (unfree; allowUnfree is on)
|
||||||
|
chromium # web browser (mime defaults → chromium-browser.desktop)
|
||||||
gimp # raster image editor
|
gimp # raster image editor
|
||||||
inkscape # vector graphics
|
inkscape # vector graphics
|
||||||
mpv # media player
|
mpv # media player
|
||||||
@@ -88,9 +89,8 @@
|
|||||||
# pwvucontrol + calcurse ship with the Waybar module (volume right-click / clock)
|
# pwvucontrol + calcurse ship with the Waybar module (volume right-click / clock)
|
||||||
|
|
||||||
# ── More apps — uncomment to add ─────────────────────────────────
|
# ── More apps — uncomment to add ─────────────────────────────────
|
||||||
# Web browsers
|
# Web browsers (chromium ships above — swap/delete freely)
|
||||||
# firefox
|
# firefox
|
||||||
# chromium
|
|
||||||
# ungoogled-chromium
|
# ungoogled-chromium
|
||||||
# brave # (unfree)
|
# brave # (unfree)
|
||||||
# google-chrome # (unfree)
|
# google-chrome # (unfree)
|
||||||
|
|||||||
Reference in New Issue
Block a user