{config, pkgs, ... }: { wayland.windowManager.sway = { enable = true; xwayland = true; package = pkgs.swayfx-unwrapped; wrapperFeatures.gtk = true; checkConfig = false; extraSessionCommands = '' export _JAVA_AWT_WM_NONREPARENTING=1 export QT_QPA_PLATFORM=wayland export XDG_CURRENT_DESKTOP=sway ''; config = rec { modifier = "Mod4"; terminal = "alacritty"; menu = "${pkgs.rofi}/bin/rofi -show run -c .config/rofi/config.rasi"; startup = [ {command = "swaybg -i $HOME/.wp/soyuz.png";} ]; bars = [{ command = "waybar"; }]; gaps = { outer = 5; inner = 10; }; window = { border = 0; }; keybindings = { # IMPORTANT STUFF # "${modifier}+Return" = "exec ${terminal}"; "${modifier}+space" = "exec ${menu}"; "${modifier}+Q" = "kill"; "${modifier}+Shift+R" = "reload"; "${modifier}+Shift+S" = "${pkgs.grim}/bin/grim -g '$(${pkgs.slurp}/bin/slurp)'"; # WINDOW STUFF # "${modifier}+Shift+space" = "floating toggle"; "${modifier}+Shift+F" = "fullscreen toggle"; "${modifier}+Left" = "focus left"; "${modifier}+Down" = "focus down"; "${modifier}+Up" = "focus up"; "${modifier}+Right" = "focus right"; "${modifier}+Ctrl+Right" = "resize shrink width 3 px or 3 ppt"; "${modifier}+Ctrl+Down" = "resize grow height 3 px or 3 ppt"; "${modifier}+Ctrl+Up" = "resize shrink height 3 px or 3 ppt"; "${modifier}+Ctrl+Left" = "resize grow width 3 px or 3 ppt"; "${modifier}+Shift+Left" = "move left"; "${modifier}+Shift+Down" = "move down"; "${modifier}+Shift+Up" = "move up"; "${modifier}+Shift+Right" = "move right"; # WORKSPACES # "${modifier}+1" = "workspace number 1"; "${modifier}+2" = "workspace number 2"; "${modifier}+3" = "workspace number 3"; "${modifier}+4" = "workspace number 4"; "${modifier}+5" = "workspace number 5"; "${modifier}+6" = "workspace number 6"; "${modifier}+7" = "workspace number 7"; "${modifier}+8" = "workspace number 8"; "${modifier}+9" = "workspace number 9"; # MOVE WINDOW TO OTHER WS # "${modifier}+Shift+1" = "move container to workspace number 1"; "${modifier}+Shift+2" = "move container to workspace number 2"; "${modifier}+Shift+3" = "move container to workspace number 3"; "${modifier}+Shift+4" = "move container to workspace number 4"; "${modifier}+Shift+5" = "move container to workspace number 5"; "${modifier}+Shift+6" = "move container to workspace number 6"; "${modifier}+Shift+7" = "move container to workspace number 7"; "${modifier}+Shift+8" = "move container to workspace number 8"; "${modifier}+Shift+9" = "move container to workspace number 9"; # Audio "XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +10%"; "XF86AudioLowerVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -10%"; "XF86AudioMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-volume toggle-mute"; "XF86AudioStop" = "exec ${pkgs.playerctl}/bin/playerctl stop"; "XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous"; "XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next"; "XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl play-pause"; "XF86MonBrightnessDown" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 15%-"; "XF86MonBrightnessUp" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set +15%"; }; }; extraConfig = '' shadows enable corner_radius 12 blur_radius 7 blur_passes 4 default_dim_inactive 0.2 for_window [app_id="wezterm"] blur enable for_window [app_id="code"] blur enable for_window [app_id="rofi"] blur enable default_border pixel 0px default_floating_border none titlebar_border_thickness 0 ''; }; }