simplify kanshi config

This commit is contained in:
2025-09-09 16:49:53 +02:00
parent 3d499ba151
commit f242b3edf1

View File

@@ -17,6 +17,12 @@ in {
bg1080 = bgdir + "/bg1080.png"; bg1080 = bgdir + "/bg1080.png";
bg1080vert = bgdir + "/bg1080vert.png"; bg1080vert = bgdir + "/bg1080vert.png";
bg4k = bgdir + "/bg4k.png"; bg4k = bgdir + "/bg4k.png";
sway_commands = commands: "${pkgs.sway}/bin/swaymsg '${lib.strings.concatStringsSep ", " commands}'";
workspace = workspace: monitor: [
''workspace "${workspace}" output "${monitor}"''
''workspace --no-auto-back-and-forth ${workspace}''
''move workspace to "${monitor}"''
];
luhbots_workstation = settings: { luhbots_workstation = settings: {
profile.outputs = [ profile.outputs = [
{ {
@@ -43,15 +49,19 @@ in {
} }
]; ];
profile.exec = [ profile.exec = [
"${pkgs.sway}/bin/swaymsg 'workspace \"main\" output \"${settings.horizontal.name}\", workspace --no-auto-back-and-forth main, move workspace to \"${settings.horizontal.name}\", workspace back_and_forth'" (sway_commands (
"${pkgs.sway}/bin/swaymsg 'workspace \"term\" output \"${settings.vertical.name}\", workspace --no-auto-back-and-forth term, move workspace to \"${settings.vertical.name}\", workspace back_and_forth'" [
"${pkgs.sway}/bin/swaymsg 'workspace \"msg\" output eDP-1, workspace --no-auto-back-and-forth msg, move workspace to eDP-1, workspace back_and_forth'" "output eDP-1 bg ${bg1080} fit"
"${pkgs.sway}/bin/swaymsg 'workspace \"msg\" output eDP-1, workspace --no-auto-back-and-forth music, move workspace to eDP-1, workspace back_and_forth'" "output \"${settings.horizontal.name}\" bg ${bg4k} fit"
"${pkgs.sway}/bin/swaymsg 'workspace \"5\" output \"${settings.horizontal.name}\", workspace --no-auto-back-and-forth 5, move workspace to \"${settings.horizontal.name}\", workspace back_and_forth'" "output \"${settings.vertical.name}\" bg ${bg1080vert} fit"
"${pkgs.sway}/bin/swaymsg 'output \"eDP-1\" bg ${bg1080} fit'" ]
"${pkgs.sway}/bin/swaymsg 'output \"${settings.horizontal.name}\" bg ${bg4k} fit'" ++ (workspace "obsidian" settings.horizontal.name)
"${pkgs.sway}/bin/swaymsg 'output \"${settings.vertical.name}\" bg ${bg1080vert} fit'" ++ (workspace "5" settings.horizontal.name)
"${pkgs.sway}/bin/swaymsg 'workspace --no-auto-back-and-forth msg, workspace --no-auto-back-and-forth term, workspace --no-auto-back-and-forth main'" ++ (workspace "music" "eDP-1")
++ (workspace "msg" "eDP-1")
++ (workspace "term" settings.vertical.name)
++ (workspace "main" settings.horizontal.name)
))
]; ];
}; };
in { in {
@@ -153,11 +163,15 @@ in {
} }
]; ];
profile.exec = [ profile.exec = [
"${pkgs.sway}/bin/swaymsg workspace main; move workspace to HDMI-A-1; workspace back_and_forth" (sway_commands
"${pkgs.sway}/bin/swaymsg workspace term; move workspace to eDP-1; workspace back_and_forth" (
"${pkgs.sway}/bin/swaymsg workspace msg; move workspace to eDP-1; workspace back_and_forth" (workspace "obsidian" "HDMI-A-1")
"${pkgs.sway}/bin/swaymsg workspace music; move workspace to eDP-1; workspace back_and_forth" ++ (workspace "5" "HDMI-A-1")
"${pkgs.sway}/bin/swaymsg workspace 5; move workspace to HDMI-A-1; workspace back_and_forth" ++ (workspace "music" "eDP-1")
++ (workspace "msg" "eDP-1")
++ (workspace "term" "eDP-1")
++ (workspace "main" "HDMI-A-1")
))
]; ];
} }
{ {
@@ -172,12 +186,17 @@ in {
} }
]; ];
profile.exec = [ profile.exec = [
"${pkgs.sway}/bin/swaymsg workspace --no-auto-back-and-forth main; move workspace to eDP-1; workspace back_and_forth" (sway_commands
"${pkgs.sway}/bin/swaymsg workspace --no-auto-back-and-forth term; move workspace to eDP-1; workspace back_and_forth" (
"${pkgs.sway}/bin/swaymsg workspace --no-auto-back-and-forth msg; move workspace to eDP-1; workspace back_and_forth" (workspace "mirror" "HDMI-A-1")
"${pkgs.sway}/bin/swaymsg workspace --no-auto-back-and-forth music; move workspace to eDP-1; workspace back_and_forth" ++ ["exec ${pkgs.wl-mirror}/bin/wl-present mirror eDP-1 --fullscreen-output HDMI-A-1 --fullscreen"]
"${pkgs.sway}/bin/swaymsg workspace --no-auto-back-and-forth 5; move workspace to eDP-1; workspace back_and_forth" ++ (workspace "obsidian" "eDP-1")
"${pkgs.sway}/bin/swaymsg workspace --no-auto-back-and-forth mirror; move workspace to HDMI-A-1; exec ${pkgs.wl-mirror}/bin/wl-mirror eDP-1; workspace back_and_forth" ++ (workspace "5" "eDP-1")
++ (workspace "music" "eDP-1")
++ (workspace "msg" "eDP-1")
++ (workspace "term" "eDP-1")
++ (workspace "main" "eDP-1")
))
]; ];
} }
{ {
@@ -192,11 +211,15 @@ in {
} }
]; ];
profile.exec = [ profile.exec = [
"${pkgs.sway}/bin/swaymsg workspace --no-auto-back-and-forth main; move workspace to '\"ViewSonic Corporation VG2448 V5E201864188\"'; workspace back_and_forth" (sway_commands
"${pkgs.sway}/bin/swaymsg workspace --no-auto-back-and-forth term; move workspace to eDP-1; workspace back_and_forth" (
"${pkgs.sway}/bin/swaymsg workspace --no-auto-back-and-forth msg; move workspace to eDP-1; workspace back_and_forth" (workspace "obsidian" "ViewSonic Corporation VG2448 V5E201864188")
"${pkgs.sway}/bin/swaymsg workspace --no-auto-back-and-forth music; move workspace to eDP-1; workspace back_and_forth" ++ (workspace "5" "ViewSonic Corporation VG2448 V5E201864188")
"${pkgs.sway}/bin/swaymsg workspace --no-auto-back-and-forth 5; move workspace to '\"ViewSonic Corporation VG2448 V5E201864188\"'; workspace back_and_forth" ++ (workspace "music" "eDP-1")
++ (workspace "msg" "eDP-1")
++ (workspace "term" "eDP-1")
++ (workspace "main" "ViewSonic Corporation VG2448 V5E201864188")
))
]; ];
} }
]; ];