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