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
+28
View File
@@ -0,0 +1,28 @@
font pango:JetBrainsMono Nerd Font 10
gaps inner 8
gaps outer 4
default_border pixel 2
default_floating_border pixel 2
client.focused #3b82f6 #000000 #60a5fa #2563eb #3b82f6
client.focused_inactive #171717 #000000 #737373 #171717 #171717
client.unfocused #0a0a0a #000000 #525252 #0a0a0a #0a0a0a
client.urgent #60a5fa #000000 #60a5fa #3b82f6 #60a5fa
for_window [app_id="system-monitor"] floating enable, resize set 1000 700, move position center
output * bg ~/.config/sway/wallpapers/blue-horizon.svg fill
# Desktop-only dual-monitor arrangement: DP-3 is the centered primary
# display, DP-2 sits immediately to its left. Sway silently ignores
# `output` directives for names that don't exist, so this is a no-op on
# the single-monitor laptop (its internal panel, e.g. eDP-1, is untouched
# and simply gets everything). Workspace-to-output routing is not pinned
# here; scripts/select-workspace.sh assigns workspaces to whichever
# outputs are actually connected, in left-to-right order, so it adapts
# automatically on both machines without any per-host config.
output DP-3 position 0 0
output DP-2 position -2560 0
output DP-3 scale 1
output DP-2 scale 1
+14
View File
@@ -0,0 +1,14 @@
input type:keyboard {
xkb_layout us
repeat_delay 300
repeat_rate 40
}
input type:touchpad {
tap enabled
natural_scroll enabled
dwt enabled
}
# Make workspace number bindings follow the monitor under the pointer.
focus_follows_mouse always
+4
View File
@@ -0,0 +1,4 @@
exec_always --no-startup-id sh -c 'pkill waybar; exec waybar'
exec --no-startup-id mako
exec --no-startup-id nm-applet --indicator
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1