NixOS-Config/modules/home/wms/sway/outputs/default.nix

71 lines
1.7 KiB
Nix

{ config, ... }:
{
# Monitors
wayland.windowManager.sway.config = {
workspaceOutputAssign = let
workspaces1 = [
"0:${config.ws.w0}"
"1:${config.ws.w1}"
"2:${config.ws.w2}"
"3:${config.ws.w3}"
"11:${config.ws.w1a}"
"22:${config.ws.w2a}"
"33:${config.ws.w3a}"
];
workspaces2 = [
"4:${config.ws.w4}"
"5:${config.ws.w5}"
"6:${config.ws.w6}"
"44:${config.ws.w4a}"
"55:${config.ws.w5a}"
];
workspaces3 = [
"7:${config.ws.w7}"
"8:${config.ws.w8}"
"9:${config.ws.w9}"
"77:${config.ws.w7a}"
"88:${config.ws.w8a}"
];
workspaces4 = [
"66:${config.ws.w6a}"
"99:${config.ws.w9a}"
];
assign = output: workspaces:
map (workspace: {
inherit workspace;
inherit output;
})
workspaces;
in
(assign "${config.displays.d1}" workspaces1) ++
(assign "${config.displays.d2}" workspaces2) ++
(assign "${config.displays.d3}" workspaces3) ++
(assign "${config.displays.d4}" workspaces4);
output = {
${config.displays.d1} = {
pos = "3840 405";
mode = "1920x1080@143.980Hz";
max_render_time = "3";
allow_tearing = "yes";
};
${config.displays.d2} = {
pos = "1920 405";
mode = "1920x1080@60Hz";
max_render_time = "3";
};
${config.displays.d3} = {
pos = "5760 0";
mode = "1680x1050@59.883Hz";
transform = "270";
max_render_time = "3";
};
${config.displays.d4} = {
pos = "0 405";
mode = "1920x1080@60Hz";
max_render_time = "3";
};
};
};
}