feat(accessibility): home-side Hyprland companion
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.
This commit is contained in:
28
core/home/accessibility.nix
Normal file
28
core/home/accessibility.nix
Normal file
@@ -0,0 +1,28 @@
|
||||
{ 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
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -10,5 +10,6 @@
|
||||
./security.nix
|
||||
./bash.nix
|
||||
./gaming.nix
|
||||
./accessibility.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -164,5 +164,19 @@ in
|
||||
both when the Gaming profile is selected.
|
||||
'';
|
||||
};
|
||||
|
||||
accessibility = {
|
||||
enable = lib.mkEnableOption ''
|
||||
Accessibility preset (home-side companion to
|
||||
nomarchy.system.accessibility.enable). Adjusts the Hyprland
|
||||
Wayland session in three ways: slows input.repeat_rate to 25
|
||||
(from 40) and input.repeat_delay to 1000 ms (from 600) so
|
||||
holding a key isn't a runaway machine-gun for users with
|
||||
low-mobility hands; binds SUPER+ALT+S to launch the Orca screen
|
||||
reader (the system preset already puts orca on PATH); and is
|
||||
the gate behind which a future high-contrast palette will hide.
|
||||
Set this to the same value as nomarchy.system.accessibility.enable.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user