1
1
Fork 0
nixos/options/custom/desktops/niri/input.nix
Myned 1bb9f42a98
niri: initial module
Signed-off-by: Myned <dev@bjork.tech>
2024-12-23 13:03:34 -05:00

56 lines
1.3 KiB
Nix

{
config,
lib,
...
}:
with lib; let
cfg = config.custom.desktops.niri.input;
in {
options.custom.desktops.niri.input = {
enable = mkOption {default = false;};
};
config = mkIf cfg.enable {
home-manager.users.${config.custom.username} = {
# https://github.com/YaLTeR/niri/wiki/Configuration:-Input
programs.niri.settings.input = {
keyboard = {
repeat-delay = 300;
repeat-rate = 40;
};
touchpad = {
accel-profile = "adaptive";
accel-speed = 0.3;
click-method = "clickfinger"; # Multi-finger click
dwt = true; # Disable while typing
dwtp = true; # Disable while trackpointing
scroll-factor = 0.5;
};
mouse = {
# BUG: Applies to trackball device, switch to "flat" when per-device configuration is supported
# https://github.com/YaLTeR/niri/issues/371
accel-profile = "adaptive";
accel-speed = 0.0;
};
trackball = {
accel-profile = "adaptive";
accel-speed = 0.5;
middle-emulation = true;
};
power-key-handling.enable = false;
focus-follows-mouse = {
enable = true;
max-scroll-amount = "70%";
};
workspace-auto-back-and-forth = true;
};
};
};
}