home-manager/tests/modules/services/window-managers/hyprland/multiple-devices-config.nix
2024-04-30 00:07:06 +02:00

88 lines
2 KiB
Nix

{ config, lib, ... }:
{
wayland.windowManager.hyprland = {
enable = true;
package = lib.makeOverridable
(attrs: config.lib.test.mkStubPackage { name = "hyprland"; }) { };
plugins =
[ "/path/to/plugin1" (config.lib.test.mkStubPackage { name = "foo"; }) ];
settings = {
source = [ "sourced.conf" ];
decoration = {
shadow_offset = "0 5";
"col.shadow" = "rgba(00000099)";
};
"$mod" = "SUPER";
animations = {
enabled = true;
animation = [
"border, 1, 2, smoothIn"
"fade, 1, 4, smoothOut"
"windows, 1, 3, overshot, popin 80%"
];
};
bezier = [
"smoothOut, 0.36, 0, 0.66, -0.56"
"smoothIn, 0.25, 1, 0.5, 1"
"overshot, 0.4,0.8,0.2,1.2"
];
input = {
kb_layout = "ro";
follow_mouse = 1;
accel_profile = "flat";
touchpad = { scroll_factor = 0.3; };
};
bindm = [
# mouse movements
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
"$mod ALT, mouse:272, resizewindow"
];
device = [
{
name = "some:device";
enable = true;
}
{
name = "some:device-secondary";
enable = true;
}
];
plugin = {
plugin1 = {
dummy = "plugin setting";
section = { other = "dummy setting"; };
};
};
};
extraConfig = ''
# window resize
bind = $mod, S, submap, resize
submap = resize
binde = , right, resizeactive, 10 0
binde = , left, resizeactive, -10 0
binde = , up, resizeactive, 0 -10
binde = , down, resizeactive, 0 10
bind = , escape, submap, reset
submap = reset
'';
};
nmt.script = ''
config=home-files/.config/hypr/hyprland.conf
assertFileExists "$config"
normalizedConfig=$(normalizeStorePaths "$config")
assertFileContent "$normalizedConfig" ${./multiple-devices-config.conf}
'';
}