New nomarchy.accessibility.enable home option mirroring
nomarchy.system.accessibility.enable. When enabled, core/home/
accessibility.nix contributes a Hyprland extraConfig block via
lib.mkAfter:
- input.repeat_rate = 25 (from 40)
- input.repeat_delay = 1000 ms (from 600)
Holding a key isn't a runaway machine-gun for low-mobility users.
- bindd = SUPER ALT, S, Launch Orca, exec, orca
The system preset already puts orca on PATH.
mkAfter guarantees the slowdown wins over the templated input.conf.
Documented in docs/OPTIONS.md. The third item from the original Next
row — a high-contrast palette — is split into its own Later row
because it's a design task (24-colour WCAG AAA palette + icon family
choice) that wants its own review.
`nix flake check --no-build` clean.
29 lines
977 B
Nix
29 lines
977 B
Nix
{ config, lib, ... }:
|
|
|
|
let
|
|
cfg = config.nomarchy.accessibility;
|
|
in
|
|
{
|
|
config = lib.mkIf cfg.enable {
|
|
# Hyprland-side accessibility extras. The system preset
|
|
# (core/system/accessibility.nix) covers AT-SPI2 + Orca on PATH +
|
|
# XCURSOR_SIZE; this module adds the bits Hyprland reads directly.
|
|
#
|
|
# Loaded via extraConfig (mkAfter) so it merges with — and overrides
|
|
# — the templated input.conf for the repeat-rate / repeat-delay
|
|
# fields. The Orca keybinding is additive.
|
|
wayland.windowManager.hyprland.extraConfig = lib.mkAfter ''
|
|
# Accessibility — slower key-repeat so holding a key isn't a
|
|
# runaway machine-gun for users with low-mobility hands.
|
|
input {
|
|
repeat_rate = 25
|
|
repeat_delay = 1000
|
|
}
|
|
|
|
# Launch the Orca screen reader. The system preset puts `orca`
|
|
# on PATH when nomarchy.system.accessibility.enable = true.
|
|
bindd = SUPER ALT, S, Launch Orca, exec, orca
|
|
'';
|
|
};
|
|
}
|