feat(idle): suspend on battery only, cohering with power management
hypridle's suspend listener now runs `nomarchy-on-ac || systemctl suspend`, so a plugged-in machine no longer suspends itself mid-idle (long builds, media, presentations survive). It also fires sooner — 15 min, vs the old fixed 30 — since it now only applies unplugged. Lock and screen-off are unchanged on both power sources, and logind's lid handling stays at its sensible defaults (suspend on lid close, ignore when docked). Closes the idle-cohesion follow-up under the laptop-power roadmap item. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
13
README.md
13
README.md
@@ -454,10 +454,15 @@ close · `SUPER+1..9` workspaces · `Print` region screenshot.
|
||||
default; the installer scaffolds it commented-out on laptops.
|
||||
- ✓ **installer:** writes `power.laptop = true` (battery probe) and
|
||||
`power.thermal.enable` (Intel) into the generated `system.nix`.
|
||||
- Remaining: **cohere** with `modules/home/idle.nix` (AC-vs-battery idle
|
||||
timeouts / no auto-suspend on AC) and review logind lid handling, plus a
|
||||
boot-only→event-driven charge-limit re-apply (udev) if a firmware resets
|
||||
the threshold on unplug.
|
||||
- ✓ **idle cohesion:** `modules/home/idle.nix` now suspends only on
|
||||
battery (and sooner — 15 min vs the old fixed 30), gating the hypridle
|
||||
suspend listener on a `nomarchy-on-ac` probe so a plugged-in machine
|
||||
stays up mid-idle; lock/screen-off are unchanged on both sources.
|
||||
logind's lid handling is left at its defaults (suspend on lid close,
|
||||
ignore when docked) — an explicit "I'm done" that coheres with the
|
||||
idle behaviour.
|
||||
- Remaining: a boot-only→event-driven charge-limit re-apply (udev) if a
|
||||
firmware resets the threshold on unplug.
|
||||
- **Opt-in services & integrations:** the counterpart to the opt-*out*
|
||||
application suite above — heavier or more personal integrations shipped
|
||||
**off by default**, each a `nomarchy.services.<name>.enable` toggle a
|
||||
|
||||
Reference in New Issue
Block a user