home-manager/tests/modules/services/window-managers/bspwm/configuration.nix
Naïm Camille Favier face4094d4
bspwm: add missing rule setting rectangle (#2974)
Also add a `freeformType` so that we don't have to do this in the
future.
2022-07-06 23:36:20 -04:00

45 lines
1 KiB
Nix

{ lib, pkgs, ... }:
with lib;
{
config = {
xsession.windowManager.bspwm = {
enable = true;
monitors.focused =
[ "desktop 1" "d'esk top" ]; # pathological desktop names
alwaysResetDesktops = false;
settings = {
border_width = 2;
split_ratio = 0.52;
gapless_monocle = true;
external_rules_command = "/path/to/external rules command";
ignore_ewmh_fullscreen = [ "enter" "exit" ];
};
rules."*" = {
sticky = true;
center = false;
desktop = "d'esk top#next";
splitDir = "north";
border = null;
unknownRule = 42;
};
extraConfig = ''
extra config
'';
startupPrograms = [ "foo" "bar || qux" ];
};
test.stubs.bspwm = { };
nmt.script = ''
bspwmrc=home-files/.config/bspwm/bspwmrc
assertFileExists "$bspwmrc"
assertFileIsExecutable "$bspwmrc"
assertFileContent "$bspwmrc" ${
pkgs.writeShellScript "bspwmrc-expected" (readFile ./bspwmrc)
}
'';
};
}