docs: expand roadmap (power, opt-in services, display/UX, control center)
Captures a batch of new roadmap items from a planning pass: - repo sanitize/organize (incl. the now-redundant console.useXkbConfig / boot.initrd.systemd.enable the installer writes, post LUKS-keymap fix) - laptop power/battery management (PPD-vs-TLP, thermald, charge thresholds) - opt-in services & integrations (Nextcloud/Syncthing, LM Studio/Ollama, containers, Tailscale, Steam/OBS, printing, backups, Flatpak) - display/monitor management (hotplug profiles, dock story) - night light (hyprsunset), runtime keyboard-layout switching, swaync DND - snapshot browse/restore UX, update-awareness indicator - a "nomarchy" control center + first-boot welcome Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
76
README.md
76
README.md
@@ -389,6 +389,82 @@ close · `SUPER+1..9` workspaces · `Print` region screenshot.
|
||||
no SSH agent, so no socket contention); screen lock doesn't flush the
|
||||
cache. Remaining (optional): a session-level `SSH_AUTH_SOCK` export so GUI
|
||||
clients launched outside a shell also see the agent.
|
||||
- **Sanitize & organize the repo:** a housekeeping pass for consistency
|
||||
and clarity. Candidate targets (scope still to be defined): prune
|
||||
now-redundant config (e.g. the installer still writes
|
||||
`console.useXkbConfig` / `boot.initrd.systemd.enable` into `system.nix`,
|
||||
which are distro-wide defaults as of the LUKS-keymap fix); reconcile the
|
||||
README option tables with the actual `nomarchy.*` surface; audit
|
||||
comments/docs for drift against the code; and re-check that every file
|
||||
still earns its place under the `modules`/`hosts`/`themes`/`pkgs`/`tools`
|
||||
rule of thumb.
|
||||
- **Laptop power / battery management:** today the distro does *no* active
|
||||
power management — only `services.upower` is on, and that's just battery
|
||||
*reporting* for the Waybar widget; CPU/thermal/charge behaviour is whatever
|
||||
the kernel and the nixos-hardware profile default to. Add a real power
|
||||
story behind a `nomarchy.system.power.*` surface, gated to laptops (the
|
||||
installer already detects chassis):
|
||||
- **profiles:** ship `power-profiles-daemon` by default (the upstream-
|
||||
aligned choice — power-saver/balanced/performance via `powerprofilesctl`),
|
||||
with a switcher in the rofi menu and a Waybar indicator. Offer **TLP** as
|
||||
an opt-in for maximum battery life (note: mutually exclusive with PPD, and
|
||||
more aggressive/opaque). **Decision to make:** PPD-default vs TLP-default.
|
||||
- **thermal:** `thermald` on Intel (the Latitude is Intel) to avoid
|
||||
throttling.
|
||||
- **longevity:** battery charge thresholds (e.g. stop charging at ~80%)
|
||||
where the hardware supports it.
|
||||
- **cohere** with `modules/home/idle.nix` (idle lock / display-off /
|
||||
suspend) and review logind lid handling so the power behaviours line up.
|
||||
- **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
|
||||
downstream flips on in one line. Keeps the base lean while making common
|
||||
additions trivial. Candidates by area:
|
||||
- **cloud/sync:** Nextcloud client; Syncthing (`services.syncthing`)
|
||||
- **local AI:** LM Studio (`lmstudio`); Ollama (`services.ollama`, optional
|
||||
GPU accel) — pairs with the menu's Ask-Claude philosophy
|
||||
- **containers/VMs:** Docker/Podman; libvirt + virt-manager
|
||||
- **networking:** Tailscale (`services.tailscale`); WireGuard
|
||||
- **gaming/media:** Steam (`programs.steam`); OBS Studio
|
||||
- **devices:** printing (CUPS + Avahi); KDE Connect / phone integration;
|
||||
OpenRGB
|
||||
- **backup:** restic/borg (`services.restic`)
|
||||
- **escape hatch:** Flatpak (`services.flatpak`) for apps outside nixpkgs
|
||||
|
||||
Decisions: the curated set; whether system services and GUI apps share one
|
||||
surface or split (`nomarchy.services.*` system-side vs home-side packages);
|
||||
and how it relates to `nomarchy.apps.*` (opt-out suite). Unfree entries are
|
||||
already covered (`allowUnfree = true`).
|
||||
- **Display / monitor management:** today Hyprland just uses
|
||||
`monitor = ,preferred,auto,1` (mkDefault). Add a real external-monitor/dock
|
||||
story: declarative per-output config, hotplug profiles (kanshi-style, or
|
||||
Hyprland's own monitor rules), and optionally a GUI arranger (nwg-displays
|
||||
writes Hyprland monitor config). Decide declarative-only vs GUI, and the
|
||||
option shape (`nomarchy.monitors` vs plain Hyprland `monitor` lists).
|
||||
- **Night light / blue-light filter:** schedulable colour-temperature shift
|
||||
via `hyprsunset` (Hyprland-native; wlsunset/gammastep are alternatives) —
|
||||
sunset/sunrise or a fixed schedule, with a menu + Waybar toggle.
|
||||
- **Runtime keyboard-layout switching:** the session layout is a single
|
||||
`nomarchy.keyboard.layout` today. Support a list of layouts with a toggle
|
||||
bind (`hyprctl switchxkblayout` / xkb `grp:` options) and a Waybar
|
||||
indicator for the active layout. Natural follow-on to the LUKS-keymap work
|
||||
— keep the system (console/initrd) and session layouts in sync.
|
||||
- **Do-Not-Disturb:** a swaync DND toggle (`swaync-client -dn`) wired into
|
||||
the menu and a Waybar indicator, to silence notifications for
|
||||
presentations/focus.
|
||||
- **Snapshot browse/restore UX:** snapper already takes BTRFS timeline
|
||||
snapshots (`nomarchy.system.snapper`); surface them from the desktop — a
|
||||
rofi menu (or btrfs-assistant) to browse/diff/restore and boot-from-
|
||||
snapshot — so rollback isn't CLI-only.
|
||||
- **Update awareness:** updates are manual today (`sys-update`/`home-update`);
|
||||
add a Waybar indicator / notification when flake inputs are stale or a new
|
||||
nixpkgs rev is available (optionally with a pending-change count). Augments,
|
||||
never replaces, the explicit rebuild flow.
|
||||
- **"nomarchy" control center:** a single TUI/GUI front-end over the common
|
||||
toggles — theme, power profile, opt-in services, display, DND — built on
|
||||
the same `nomarchy-theme-sync` / `nomarchy.*` surface the menu already
|
||||
uses. Plus a first-boot welcome that lands new installs in a guided "pick
|
||||
your theme / essentials" flow (ties into the branding work).
|
||||
|
||||
## Known issues & follow-ups
|
||||
- ✓ **Yazi TOML parse error on startup:** yazi 26.x made fetchers'
|
||||
|
||||
Reference in New Issue
Block a user