Add Arch Wayland dotfiles: sway/waybar/kitty/nvim/zsh, idempotent installer

Auto-adapts sway workspace routing to however many monitors are
connected (laptop vs. desktop) instead of hardcoding output names.
This commit is contained in:
2026-08-21 22:59:26 -05:00
commit 5c57ee20f7
35 changed files with 870 additions and 0 deletions
+60
View File
@@ -0,0 +1,60 @@
floating_modifier $mod normal
bindsym $mod+Return exec $term
bindsym $mod+d exec $menu
bindsym $mod+Shift+q kill
bindsym $mod+Shift+c reload
bindsym $mod+Shift+r reload
bindsym $mod+Shift+e exec swaynag -t warning -m 'Exit Sway?' -b 'Exit' 'swaymsg exit'
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
bindsym $mod+f fullscreen toggle
bindsym $mod+Shift+space floating toggle
set $workspace_script ~/.config/sway/scripts/select-workspace.sh
bindsym $mod+1 exec $workspace_script 1
bindsym $mod+2 exec $workspace_script 2
bindsym $mod+3 exec $workspace_script 3
bindsym $mod+4 exec $workspace_script 4
bindsym $mod+5 exec $workspace_script 5
bindsym $mod+6 exec $workspace_script 6
bindsym $mod+7 exec $workspace_script 7
bindsym $mod+8 exec $workspace_script 8
bindsym $mod+9 exec $workspace_script 9
bindsym $mod+0 exec $workspace_script 10
bindsym $mod+Shift+1 exec $workspace_script 1 move
bindsym $mod+Shift+2 exec $workspace_script 2 move
bindsym $mod+Shift+3 exec $workspace_script 3 move
bindsym $mod+Shift+4 exec $workspace_script 4 move
bindsym $mod+Shift+5 exec $workspace_script 5 move
bindsym $mod+Shift+6 exec $workspace_script 6 move
bindsym $mod+Shift+7 exec $workspace_script 7 move
bindsym $mod+Shift+8 exec $workspace_script 8 move
bindsym $mod+Shift+9 exec $workspace_script 9 move
bindsym $mod+Shift+0 exec $workspace_script 10 move
bindsym $mod+Shift+s exec grim -g "$(slurp)" - | wl-copy --type image/png
bindsym Print exec grim -g "$(slurp)" - | wl-copy --type image/png
bindsym Shift+Print exec grim "$HOME/Pictures/screenshot-$(date +%F-%H%M%S).png"
bindsym XF86AudioRaiseVolume exec wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+
bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindsym XF86AudioMute exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindsym XF86MonBrightnessUp exec brightnessctl set +5%
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
mode "resize" {
bindsym Left resize shrink width 40px
bindsym Down resize grow height 40px
bindsym Up resize shrink height 40px
bindsym Right resize grow width 40px
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"