feat(nightlight): geo mode — lat/long-computed sunset via wlsunset
All checks were successful
Check / eval (push) Successful in 4m20s
All checks were successful
Check / eval (push) Successful in 4m20s
Set BOTH nomarchy.nightlight.latitude/.longitude and the night light switches backing unit: wlsunset computes sunrise/sunset from the location daily (the fixed .sunrise/.sunset are ignored; .temperature feeds the night temp). Everything user-facing is unchanged — same nomarchy-nightlight toggle script, Waybar moon, and live-state ExecCondition gate; the unit name is a single let-binding so all three follow together. Declarative-only on purpose: coordinates are machine config like the keyboard layout, so home.nix (commented template example), not a menu writer. checks.nightlight-geo guards the wiring at pure eval: rendered wlsunset ExecStart carries the coords + night temperature, the ExecCondition gate landed on the swapped unit, hyprsunset stays off in geo mode. Verification: V1 — nix flake check --no-build exit 0 (evals the new asserts + option-docs sync); built downstream-template-home (default hyprsunset path unregressed). V3 pending: visible warm shift at the location's night + instant toggle/off-persistence on the swapped unit (HARDWARE-QUEUE § Any machine). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -19,6 +19,24 @@ Template:
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-11 — Night-light geo mode (lat/long → wlsunset)
|
||||
- **Task:** BACKLOG LATER "Night-light geo mode" (human-picked).
|
||||
- **Did:** `nomarchy.nightlight.latitude`/`.longitude` (both set = geo mode):
|
||||
`services.wlsunset` (location-computed sunrise/sunset, `.temperature` →
|
||||
night temp) replaces hyprsunset; the toggle script's `unit=` and the
|
||||
live-state ExecCondition follow via one `unit` let-binding. Template
|
||||
example lines, README row, ROADMAP ✓. New `checks.nightlight-geo`:
|
||||
pure-eval asserts on the rendered units (coords + temp in ExecStart,
|
||||
ExecCondition present, hyprsunset off). Declarative-only (no menu writer —
|
||||
coords are machine config like keyboard layout).
|
||||
- **Verified:** V1 — `nix flake check --no-build` exit 0 (evals the new
|
||||
asserts + option-docs); built `downstream-template-home` (default
|
||||
hyprsunset path unregressed) + the check drv. Caught en route: HM renders
|
||||
`ExecStart` as a list (`toString` needed in eval asserts).
|
||||
- **Pending:** V3 queued (HARDWARE-QUEUE § Any machine): visible warm shift
|
||||
at location night + toggle/persistence on the swapped unit.
|
||||
- **Next suggestion:** wallpapers artifact split (LATER, decided).
|
||||
|
||||
## 2026-07-11 — Sync-sweep rule + grooming + zram user docs (human-requested)
|
||||
- **Task:** Bernardo: groom stale items and codify the check so they don't
|
||||
recur; close the zram user-doc gap.
|
||||
|
||||
Reference in New Issue
Block a user