feat(system): add accessibility preset module
Opt-in `nomarchy.system.accessibility.enable` (default false — accessibility is a personal preference, not hardware-derived). Wires `services.gnome.at-spi2-core`, installs `pkgs.orca`, and sets `XCURSOR_SIZE` to a configurable `accessibility.cursorSize` (default 32, up from NixOS's 24). The original roadmap entry bundled Hyprland-side bits (slower key-repeat, Orca launch keybinding, high-contrast palette). Those require touching home-manager / theme files and a new palette directory; split into a separate Next-column row so the system-side preset ships now and the desktop integration follows independently.
This commit is contained in:
@@ -79,6 +79,14 @@ Wired in `features/desktop/waybar/default.nix` (filters the battery widget out o
|
||||
|
||||
`bool`, default `nomarchy.system.formFactor == "desktop"`. Desktop preset: pins `powerManagement.cpuFreqGovernor` to `"performance"` (via `mkDefault`) and enables `services.zfs.autoScrub` + `services.zfs.trim` so a future ZFS pool gets sensible maintenance without further config. The ZFS knobs are no-ops until you add `boot.supportedFilesystems = [ "zfs" ]` (plus `networking.hostId`) and a pool. Battery-widget filtering is handled by `formFactor` itself, so this preset doesn't repeat it.
|
||||
|
||||
### `nomarchy.system.accessibility.enable`
|
||||
|
||||
`bool`, default `false`. Accessibility preset: enables `services.gnome.at-spi2-core` (AT-SPI2 framework), installs `pkgs.orca` (screen reader) into `environment.systemPackages`, and sets `XCURSOR_SIZE` to `accessibility.cursorSize`. Off by default — accessibility is a personal preference, not hardware-derived. The Hyprland-side bits (slower key-repeat, Orca launch keybinding, high-contrast palette) are a separate roadmap item.
|
||||
|
||||
### `nomarchy.system.accessibility.cursorSize`
|
||||
|
||||
`int`, default `32`. `XCURSOR_SIZE` when `accessibility.enable = true`. NixOS default is 24; 32 is a safer floor for low-vision users.
|
||||
|
||||
### `nomarchy.system.containers.enable`
|
||||
|
||||
`bool`, default `false`. Rootless Podman with Docker compatibility (`docker` → `podman`), plus `podman-compose`, `podman-tui`, and `dive`.
|
||||
|
||||
Reference in New Issue
Block a user