mirror of
https://github.com/nix-community/home-manager
synced 2024-12-20 18:13:30 +00:00
e2a85ac43f
If set to true, desktops configured in `monitors` will be reset every time the config is run. If set to false, desktops will only be configured the first time the config is run. This is useful if you want to dynamically add desktops and you don't want them to be destroyed if you re-run `bspwmrc`.
43 lines
1 KiB
Nix
43 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;
|
|
};
|
|
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)
|
|
}
|
|
'';
|
|
};
|
|
}
|