{ config, lib, pkgs, inputs, system, ... }: let cliphist_sway = pkgs.writeShellScriptBin "cliphist_sway" '' ${pkgs.cliphist}/bin/cliphist list | \ ${pkgs.wofi}/bin/wofi --dmenu --insensitive | \ ${pkgs.cliphist}/bin/cliphist decode | \ ${pkgs.wl-clipboard}/bin/wl-copy ''; swaysw = inputs.swaysw.packages.${system}.swaysw; zapzap = pkgs.callPackage ../packages/zapzap/default.nix {}; viber = pkgs.callPackage ../packages/viber/default.nix {}; in { wayland.windowManager.sway = { enable = true; extraSessionCommands = ""; config = { fonts = { names = ["JetBrainsMono"]; style = "Bold Semi-Condensed"; size = 11.0; }; window.commands = [ { command = "move scratchpad, resize set 1152 648"; criteria = {app_id = "pulsemixer|python3|com.rtosta.zapzap|whatsapp-for-linux|com.viber";}; } { command = "move scratchpad, resize set 1502 845"; criteria = {app_id = "com.viber";}; } { command = "floating enable"; criteria = {app_id = "sws_cli";}; } ]; modifier = "Mod4"; output = { eDP-1 = { bg = "~/pic/wallpaper stretch"; /* scale = "1.4"; */ }; HDMI-A-4 = { res = "1920x1080"; }; }; input = { "type:keyboard" = {repeat_delay = "150";}; "type:keyboard" = {repeat_rate = "70";}; "type:touchpad" = {tap = "enabled";}; }; bars = [ { position = "top"; fonts = { names = ["Iosevka" "FontAwesome"]; style = "Bold Semi-Condensed"; size = 12.0; }; statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-top.toml"; } ]; keybindings = { "Alt+Shift+q" = "kill"; "Alt+Shift+Return" = "exec ${pkgs.foot}/bin/footclient"; "Alt+p" = "exec ${pkgs.dmenu-wayland}/bin/dmenu-wl_run -fn \"mono 14\""; "Alt+c" = "exec ${pkgs.moreutils}/bin/lckdo cliphist_sway ${cliphist_sway}/bin/cliphist_sway"; "Alt+Shift+space" = "floating toggle"; "Alt+space" = "focus mode_toggle"; "Alt+m" = "layout toggle splith tabbed"; "Alt+t" = "split toggle"; "Alt+s" = "layout toggle split"; "Alt+1" = "workspace 1"; "Alt+2" = "workspace 2"; "Alt+3" = "workspace 3"; "Alt+4" = "workspace 4"; "Alt+5" = "workspace 5"; "Alt+6" = "workspace 6"; "Alt+7" = "workspace 7"; "Alt+8" = "workspace 8"; "Alt+9" = "workspace 9"; "Alt+0" = "workspace 10"; "Alt+Shift+1" = "move container to workspace 1"; "Alt+Shift+2" = "move container to workspace 2"; "Alt+Shift+3" = "move container to workspace 3"; "Alt+Shift+4" = "move container to workspace 4"; "Alt+Shift+5" = "move container to workspace 5"; "Alt+Shift+6" = "move container to workspace 6"; "Alt+Shift+7" = "move container to workspace 7"; "Alt+Shift+8" = "move container to workspace 8"; "Alt+Shift+9" = "move container to workspace 9"; "Alt+Shift+0" = "move container to workspace 10"; "Alt+h" = "focus left"; "Alt+j" = "focus down"; "Alt+k" = "focus up"; "Alt+l" = "focus right"; "Alt+slash" = "exec ${pkgs.moreutils}/bin/lckdo swaysw ${swaysw}/bin/swaysw"; "Alt+Escape" = "workspace back_and_forth"; "Alt+f" = "fullscreen enable"; "Mod4+l" = '' exec ${pkgs.sway}/bin/swaymsg [app_id="python3"] scratchpad show || exec ${pkgs.foot}/bin/footclient -a python3 ${pkgs.python3}/bin/python3''; "Mod4+h" = "exec ${pkgs.sway}/bin/swaymsg [app_id=com.rtosta.zapzap] scratchpad show || exec ${zapzap}/bin/zapzap"; "Mod4+j" = "exec ${pkgs.sway}/bin/swaymsg [app_id=com.viber] scratchpad show || exec ${viber}/bin/viber"; "Mod4+y" = '' exec ${pkgs.sway}/bin/swaymsg [app_id="pulsemixer"] scratchpad show || exec ${pkgs.foot}/bin/footclient -a pulsemixer ${pkgs.pulsemixer}/bin/pulsemixer''; }; }; }; }