38 lines
968 B
Nix
38 lines
968 B
Nix
{
|
|
config,
|
|
lib,
|
|
nixosVista,
|
|
...
|
|
}: let
|
|
cfg = nixosVista.hyprland.input;
|
|
|
|
optionalLine = name: value:
|
|
lib.optional (value != null && value != "")
|
|
"${name} = ${value}";
|
|
|
|
lines =
|
|
[
|
|
"kb_layout = ${cfg.kb_layout}"
|
|
"follow_mouse = ${toString cfg.follow_mouse}"
|
|
"sensitivity = ${toString cfg.sensitivity}"
|
|
]
|
|
++ optionalLine "kb_options" cfg.kb_options
|
|
++ optionalLine "kb_rules" cfg.kb_rules
|
|
++ optionalLine "kb_variant" cfg.kb_variant
|
|
++ optionalLine "kb_model" cfg.kb_model;
|
|
in {
|
|
config = lib.mkIf nixosVista.enable {
|
|
nixosVista.hyprland.fragments.input = ''
|
|
############################################################
|
|
# Input
|
|
############################################################
|
|
input {
|
|
${lib.concatStringsSep "\n " lines}
|
|
|
|
touchpad {
|
|
natural_scroll = ${lib.boolToString cfg.touchpad.natural_scroll}
|
|
}
|
|
}
|
|
'';
|
|
};
|
|
}
|