feat: airplane mode (#104) + crisper fastfetch logo (#122)
Some checks failed
Check / eval (push) Has been cancelled

Airplane: runtime Wi-Fi+Bluetooth kill-switch with prior-state restore,
System menu + SUPER+CTRL+R, Waybar plane glyph (self-hides, whole-swap
parity). Fastfetch: chafa sextants at 24×12 (was block 20×10) for a
finer monogram; V2 kitty screenshots under boreal and summer-night.
This commit is contained in:
2026-07-15 11:33:59 +01:00
parent d8e1a13d50
commit 875dae9c58
18 changed files with 378 additions and 215 deletions

View File

@@ -78,71 +78,6 @@ cable leaves. Capture steps in HARDWARE-QUEUE.
## NEXT
### 122. A crisper Nomarchy logo in fastfetch
Bernardo 2026-07-14: the ASCII/block logo fastfetch prints should be **crisper,
with straight lines** — a "high resolution" ASCII logo rather than the chunky
mark it renders today.
Where it comes from (`modules/home/fastfetch.nix:12-17`): the vendored vector
mark is rasterised at 220px (`rsvg-convert`), recoloured to `theme.colors.accent`
with `magick`, and converted at build time by
`chafa --format symbols --symbols block --size 20x10 --colors full`. **That
`--symbols block` is the cause**: it restricts chafa to full/half blocks, so a
20×10 grid carries roughly 20×20 pixels of detail and every diagonal turns into
a staircase.
**`--symbols sextant` is the lever, and it is available — verified 2026-07-14 on
a real Nomarchy machine.** Chase the *fallback*, not one font's charset; this
was got wrong twice while filing, both times by checking a single font:
- The mono face is **per theme** (`kitty.nix``t.fonts.mono` from the
theme JSON), not stylix's default. **Boreal — the default theme and the base
state — is `GeistMono Nerd Font`**; the other 23 themes are `JetBrainsMono
Nerd Font`. Any answer must hold for both.
- Neither of those two faces covers U+1FBxx (sextants), U+2800 (braille) — **and
GeistMono covers no block elements (U+2580259F) or box drawing either**. So
**the logo already renders through fontconfig fallback on the default theme
today**, and has all along. Fallback is the normal case here, not the risk.
- Fallback resolves it: `fc-list :charset=1fb00`**37 families** on a real
box, including the shipped `nerd-fonts.caskaydia-cove` plus
`noto-fonts`' Noto Sans Symbols 2; `fc-match "GeistMono Nerd Font:charset=1fb00"`
picks CaskaydiaCove. Braille: 59 families. **No tofu.**
So the change itself is roughly a one-flag edit (`--symbols block`
`sextant`, 2×3 subcells = 6× the detail, likely with a larger `--size` and a
matching `rsvg-convert -w`). **The work is the verification, not the edit.**
Two things can still make it look worse, and only a real terminal can say:
**(1) fallback metrics** — CaskaydiaCove's sextants drawn in GeistMono's cell
may not align or may differ in stroke weight, and this is precisely the kind of
seam that looks fine in a VM and wrong on a laptop; **(2)** the mark is
**diagonal-heavy** (an N-monogram of angled strokes), and diagonals staircase
under *any* cell symbol — more resolution makes a finer staircase, not a
straight line. If "straight lines" means the mark itself should be redrawn with
straight strokes, that is a **logo design change** to `logo.svg` — not a
renderer tweak — and it hits all three surfaces below. Settle which is wanted
before touching chafa flags.
**Note the mark is diagonal-heavy** (an N-monogram of angled strokes), which is
the underlying tension: diagonals staircase under block symbols at *any* size.
If "straight lines" means the logo itself should be redrawn with straight
strokes, that is a **logo design change** to `logo.svg`, not a renderer tweak —
and it would hit all three surfaces below. Settle which is wanted first.
Do **not** conflate the three logo surfaces — they are different renderers and
a change here touches only the first: fastfetch (this item), the ISO boot splash
(`hosts/live.nix` `isoSplash`, rsvg→magick), and the Waybar menu glyph
(`Nomarchy.ttf` U+F000, `modules/nixos/branding/`). The vector source
(`modules/nixos/branding/logo.svg`) is shared, so a change to *it* hits all
three — if the SVG is what needs work, say so and split the item.
This is a **visual change**, so `agent/THEME-DESIGN.md` and the honesty rule
apply: no "it probably looks fine". Pass = the logo reads crisply in a real
terminal at the shipped font, **screenshots captured and viewed under at least
two themes** (one generated palette, one whole-swap), no tofu, it still tracks
the accent on a theme switch, and the fastfetch layout still lines up (the logo
column and the module list share a row grid — changing `--size` moves it).
### 120. A netinstall ISO, next to the fat offline one
Bernardo 2026-07-14, after seeing the measured size: **keep the current ISO
@@ -234,13 +169,6 @@ a suspended machine hibernates after the configured delay and resumes, and a
machine without hibernate support hides the row instead of offering a
suspend that never wakes.
### 104. Runtime Airplane mode
Add Airplane mode under System connectivity controls. It must disable Wi-Fi
and Bluetooth together, remember their prior states, and restore those states
when disengaged. Pass = the runtime round trip works, and a Waybar indicator is
visible only while engaged with parity across every whole-bar swap.
### 105. `[big]` System-menu information architecture
Keep exactly six root menu entries while reorganizing System into