home-manager/xps.nix

67 lines
2.3 KiB
Nix

{ 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}"'
'';
};
}
];
};
}