home-manager/tests/modules/services/window-managers/river/configuration.nix

96 lines
2.7 KiB
Nix
Raw Normal View History

2023-08-11 09:09:54 +00:00
{ ... }:
{
wayland.windowManager.river = {
enable = true;
xwayland.enable = true;
extraSessionVariables = {
FOO = "foo";
BAR = "bar";
FOURTY_TWO = 42;
};
# systemdIntegration = true;
settings = {
attach-mode = "bottom";
background-color = "0x002b36";
border-color-focused = "0x93a1a1";
border-color-unfocused = "0x586e75";
border-color-urgent = "0xff0000";
border-width = 2;
csd-filter-add.app-id = [ "bar" "foo" ];
declare-mode = [ "locked" "normal" "passthrough" ];
default-layout = "rivertile";
float-filter-add.app-id = "mpd";
float-filter-add.title = "popup title with spaces";
focus-follows-cursor = "normal";
hide-cursor.timeout = 2;
hide-cursor.when-typing = true;
input.pointer-foo-bar = {
accel-profile = "flat";
events = true;
pointer-accel = -0.3;
tap = false;
};
keyboard-layout."-variant".colemak."-options"."altwin:swap_alt_wincaps:escapegrp:alt_shift_toggle" =
"us,de";
map.locked.None.XF86AudioLowerVolume.spawn = "'pamixer -d 5'";
map.locked.None.XF86AudioRaiseVolume.spawn = "'pamixer -i 5'";
map.normal."Alt E" = "toggle-fullscreen";
map.normal."Alt P" = "enter-mode passthrough";
map.normal."Alt Q" = "close";
map.normal."Alt Return" = "spawn foot";
map.normal."Alt T" = "toggle-float";
map.passthrough."Alt P" = "enter-mode normal";
map-pointer.normal."Alt BTN_LEFT" = "move-view";
map-pointer.normal."Super BTN_LEFT" = "move-view";
map-pointer.normal."Super BTN_MIDDLE" = "toggle-float";
map-pointer.normal."Super BTN_RIGHT" = "resize-view";
map-switch = {
locked = {
lid.open = "foo";
tablet.on = "foo";
};
normal = {
lid = {
close = "foo";
open = "foo";
};
tablet = {
off = "foo bar";
on = "foo";
};
};
};
rule-add."-app-id" = {
"'bar'" = "csd";
"'float*'"."-title"."'foo'" = "float";
};
set-cursor-warp = "on-output-change";
set-repeat = "50 300";
xcursor-theme = "someGreatTheme 12";
spawn = [ "firefox" "'foot -a terminal'" ];
};
extraConfig = ''
rivertile -view-padding 6 -outer-padding 6 &
some
extra config
'';
};
test.stubs = {
dbus = { };
river = { };
xwayland = { };
};
nmt.script = ''
riverInit=home-files/.config/river/init
assertFileExists "$riverInit"
assertFileIsExecutable "$riverInit"
normalizedConfig=$(normalizeStorePaths "$riverInit")
assertFileContent "$normalizedConfig" "${./init}"
'';
}