dotfiles-mirror/etc/nixos/home-configuration/apps/sway.nix
2025-10-31 22:15:06 +03:30

92 lines
3.2 KiB
Nix

{
pkgs,
...
}: let
left = "h";
down = "j";
up = "k";
right = "l";
modifier = "Mod4";
terminal = "${pkgs.foot}/bin/footclient";
menu = "${pkgs.wmenu}/bin/wmenu-run";
in
{
wayland.windowManager.sway = {
enable = true;
wrapperFeatures.gtk = true;
extraConfig = ''
exec swaymsg workspace 1
default_border pixel 2
default_floating_border pixel 2
for_window [class=".*"] border pixel 2
client.focused #6f3913 #6f3913 #cccccc #6f3913 #6f3913
client.focused_inactive #1c1c1c #111111 #cccccc #1c1c1c #111111
client.unfocused #1c1c1c #111111 #888888 #1c1c1c #111111
client.urgent #6f3913 #111111 #ffffff #6f3913 #111111
'';
config = {
modifier = "Mod4";
gaps = {
inner = 5;
outer = 5;
};
bars = [];
output.eDP-1.disable = "";
keybindings = {
"${modifier}+Return" = "exec ${terminal}";
"${modifier}+Shift+Return" = "exec rofi -show drun";
"${modifier}+r" = "exec ${menu} -l 10";
"${modifier}+s" = "kill";
"${modifier}+Print" = "exec /home/coast/.local/src/local/bin/screenie-wlr";
"${modifier}+1" = "workspace 1";
"${modifier}+2" = "workspace 2";
"${modifier}+3" = "workspace 3";
"${modifier}+4" = "workspace 4";
"${modifier}+5" = "workspace 5";
"${modifier}+6" = "workspace 6";
"${modifier}+7" = "workspace 7";
"${modifier}+8" = "workspace 8";
"${modifier}+9" = "workspace 9";
"${modifier}+Shift+1" = "move container to workspace 1";
"${modifier}+Shift+2" = "move container to workspace 2";
"${modifier}+Shift+3" = "move container to workspace 3";
"${modifier}+Shift+4" = "move container to workspace 4";
"${modifier}+Shift+5" = "move container to workspace 5";
"${modifier}+Shift+6" = "move container to workspace 6";
"${modifier}+Shift+7" = "move container to workspace 7";
"${modifier}+Shift+8" = "move container to workspace 8";
"${modifier}+Shift+9" = "move container to workspace 9";
"${modifier}+h" = "focus left";
"${modifier}+j" = "focus down";
"${modifier}+k" = "focus up";
"${modifier}+l" = "focus right";
"${modifier}+Shift+i" = "exec caja";
"${modifier}+Shift+r" = "reload";
"${modifier}+Shift+q" = "exit";
"${modifier}+Shift+v" = "exec vesktop --ozone-platform=wayland";
"${modifier}+Shift+p" = "exec /home/coast/.local/src/local/bin/setwall.py";
"${modifier}+Shift+d" = "mode 'resize'";
"${modifier}+space" = "floating toggle";
};
modes = {
resize = {
${left} = "resize shrink width 10 px";
${down} = "resize grow height 10 px";
${up} = "resize shrink height 10 px";
${right} = "resize grow width 10 px";
"Escape" = "mode default";
"Return" = "mode default";
};
};
startup = [
{ command = "autotiling"; }
{ command = "/home/coast/.local/src/local/bin/setwall.py/"; always = true; }
{ command = "waybar"; }
{ command = "foot -s"; always = true; }
];
};
};
}