{ pkgs, ... }: let swaymsg = "${pkgs.sway}/bin/swaymsg"; acer_left = "Acer Technologies Acer PE270K 0x0027A130"; acer_right = "Acer Technologies Acer PE270K 0x0027A150"; in { services.kanshi = { enable = true; settings = [ { profile = { name = "undocked"; outputs = [ { criteria = "eDP-1"; scale = 1.3; status = "enable"; } ]; }; } { profile = { name = "home_office"; outputs = [ { criteria = acer_left; mode = "3840x2160"; scale = 1.75; status = "enable"; position = "0,0"; transform = "normal"; } { criteria = acer_right; mode = "3840x2160"; scale = 1.75; status = "enable"; position = "2194,0"; transform = "normal"; } { criteria = "eDP-1"; status = "disable"; } ]; exec = '' exec ${swaymsg} workspace 10 output '"${acer_left}"', workspace 10, move workspace to output '"${acer_left}"' exec ${swaymsg} workspace 8 output '"${acer_left}"', workspace 8, move workspace to output '"${acer_left}"' exec ${swaymsg} workspace 6 output '"${acer_left}"', workspace 6, move workspace to output '"${acer_left}"' exec ${swaymsg} workspace 4 output '"${acer_left}"', workspace 4, move workspace to output '"${acer_left}"' exec ${swaymsg} workspace 2 output '"${acer_left}"', workspace 2, move workspace to output '"${acer_left}"' exec ${swaymsg} workspace 9 output '"${acer_right}"', workspace 9, move workspace to output '"${acer_right}"' exec ${swaymsg} workspace 7 output '"${acer_right}"', workspace 7, move workspace to output '"${acer_right}"' exec ${swaymsg} workspace 5 output '"${acer_right}"', workspace 5, move workspace to output '"${acer_right}"' exec ${swaymsg} workspace 3 output '"${acer_right}"', workspace 3, move workspace to output '"${acer_right}"' exec ${swaymsg} workspace 1 output '"${acer_right}"', workspace 1, move workspace to output '"${acer_right}"' ''; }; } ]; }; }