feat(menu): Recovery scopes (#111), System IA (#105), drop Control Center (#110)
Some checks failed
Check / eval (push) Has been cancelled

System is Connectivity / Devices / Recovery / Preferences under the same
six-entry root. Recovery lists desktop (HM), system boot, and BTRFS files
once each with cost labels. Control Center is gone: blur/gaps live in Look
& Feel; update checks and Bluetooth/Printing package toggles in Preferences
(with rebuilds). docs/RECOVERY paths updated.
This commit is contained in:
2026-07-15 11:49:57 +01:00
parent 0ba9633728
commit 856a9d1a49
14 changed files with 246 additions and 420 deletions

View File

@@ -21,7 +21,7 @@ let
install -Dm444 ${./branding/Nomarchy.ttf} $out/share/fonts/truetype/Nomarchy.ttf
'';
# Control Center's Bluetooth toggle writes settings.bluetooth.enable; read
# Menu Preferences Bluetooth package writes settings.bluetooth.enable; read
# it from the state file, the only place it exists on the NixOS side (the
# hardware.nix/timezone.nix bridge). Missing/invalid JSON fails closed via
# state-read.nix rather than a raw stack. null = key absent, which
@@ -375,7 +375,6 @@ in
environment.systemPackages = with pkgs; [
nomarchy-state-sync # provided by overlays.default
nomarchy-doctor # read-only health check (System Doctor)
nomarchy-control-center # TUI control center
nomarchy-detect-hw # post-install hardware re-probe (HARDWARE.md §8)
# Day-to-day lifecycle (README §3): nomarchy-pull / -rebuild / -home

View File

@@ -52,7 +52,7 @@
audio.enable = lib.mkEnableOption "the Pipewire audio stack" // { default = true; };
# default stays a plain `true` here; ./default.nix mkDefaults it from
# settings.bluetooth.enable (Control Center's Bluetooth toggle). Reading
# settings.bluetooth.enable (menu Preferences Bluetooth package). Reading
# the state in the option default is the trap ROADMAP § "NixOS-side state
# bridges (#116)" documents: `config.nomarchy.settings` does not exist on
# the NixOS side, and `or true` silently swallowed that for years.

View File

@@ -8,7 +8,7 @@
let
cfg = config.nomarchy.services;
# Control Center's Printing toggle writes settings.printing.enable; read it
# Menu Preferences Printing writes settings.printing.enable; read it
# from the state file, the only place it exists on the NixOS side (the
# hardware.nix/timezone.nix bridge). Missing/invalid JSON fails closed via
# state-read.nix rather than a raw stack. null = key absent, which
@@ -88,7 +88,7 @@ in
`services.ollama.acceleration` natively for GPU offload'';
# default stays a plain `false` here; the state bridge is a mkDefault
# below, from settings.printing.enable (Control Center's Printing
# below, from settings.printing.enable (menu Preferences Printing
# toggle) — see ROADMAP § state bridges (#116) for why the old read of
# `config.nomarchy.settings` never worked.
printing.enable = lib.mkEnableOption ''