The big variable overhaul

This commit is contained in:
Jimbo 2024-09-23 16:22:01 -04:00
parent 3f0a235dc8
commit 6dab8fc029
36 changed files with 269 additions and 326 deletions

View file

@ -1,16 +1,34 @@
{config, pkgs, ...}: {
{config, pkgs, outputs, ...}: {
# Enable Sway and write some scripts
wayland.windowManager.sway = {
config = let
border = import ../common/border.nix;
displays = import ../common/displays.nix;
ws = import ./workspaces.nix;
in {
config = {
# Assign workspaces to outputs
workspaceOutputAssign = let
workspaces1 = ["${ws.w0}" "${ws.w1}" "${ws.w2}" "${ws.w3}" "${ws.w1a}" "${ws.w2a}" "${ws.w3a}"];
workspaces2 = ["${ws.w4}" "${ws.w5}" "${ws.w6}" "${ws.w4a}" "${ws.w5a}" "${ws.w6a}"];
workspaces3 = ["${ws.w7}" "${ws.w8}" "${ws.w9}" "${ws.w7a}" "${ws.w8a}" "${ws.w9a}"];
workspaces1 = [
"${outputs.ws.w0}"
"${outputs.ws.w1}"
"${outputs.ws.w2}"
"${outputs.ws.w3}"
"${outputs.ws.w1a}"
"${outputs.ws.w2a}"
"${outputs.ws.w3a}"
];
workspaces2 = [
"${outputs.ws.w4}"
"${outputs.ws.w5}"
"${outputs.ws.w6}"
"${outputs.ws.w4a}"
"${outputs.ws.w5a}"
"${outputs.ws.w6a}"
];
workspaces3 = [
"${outputs.ws.w7}"
"${outputs.ws.w8}"
"${outputs.ws.w9}"
"${outputs.ws.w7a}"
"${outputs.ws.w8a}"
"${outputs.ws.w9a}"
];
assign = output: workspaces:
map (workspace: {
inherit workspace;
@ -18,11 +36,13 @@
})
workspaces;
in
(assign "${displays.d1}" workspaces1) ++ (assign "${displays.d2}" workspaces2) ++ (assign "${displays.d3}" workspaces3);
(assign "${outputs.displays.d1}" workspaces1) ++
(assign "${outputs.displays.d2}" workspaces2) ++
(assign "${outputs.displays.d3}" workspaces3);
# Rules
window = {
border = border.weightInt;
border = outputs.look.border.int;
titlebar = false;
commands = [
# Scratchpads
@ -56,7 +76,7 @@
# Give apps that don't have them borders
{
criteria = {con_mark = "borderless";};
command = ''border pixel ${border.weight}'';
command = ''border pixel ${outputs.look.border.string}'';
}
{
criteria = {app_id = "com.github.wwmm.easyeffects";};
@ -91,20 +111,20 @@
];
};
assigns = {
# Browsers
"${ws.w1}" = [{app_id = "JimBrowser";}];
"${ws.w1a}" = [{app_id = "AltBrowser";}];
# Brooutputs.wsers
"${outputs.ws.w1}" = [{app_id = "JimBrooutputs.wser";}];
"${outputs.ws.w1a}" = [{app_id = "AltBrooutputs.wser";}];
# Communication
"${ws.w3a}" = [{class = "zoom";}];
"${ws.w7}" = [{app_id = "MiscBrowser";} {app_id = "vesktop";} {class = "vesktop";}];
"${ws.w8}" = [{app_id = "Element";} {class = "Element";}];
"${ws.w9}" = [{app_id = "thunderbird";}];
"${outputs.ws.w3a}" = [{class = "zoom";}];
"${outputs.ws.w7}" = [{app_id = "MiscBrooutputs.wser";} {app_id = "vesktop";} {class = "vesktop";}];
"${outputs.ws.w8}" = [{app_id = "Element";} {class = "Element";}];
"${outputs.ws.w9}" = [{app_id = "thunderbird";}];
# Else
"${ws.w2}" = [{class = "steam";} {app_id = "heroic";}];
"${ws.w2a}" = [{app_id = "looking-glass-client";}];
"${ws.w4a}" = [{app_id = "com.obsproject.Studio";}];
"${outputs.ws.w2}" = [{class = "steam";} {app_id = "heroic";}];
"${outputs.ws.w2a}" = [{app_id = "looking-glass-client";}];
"${outputs.ws.w4a}" = [{app_id = "com.obsproject.Studio";}];
};
focus.newWindow = "focus";
};