Initial commit: sway + uwsm desktop dotfiles

Nord-themed Wayland setup on sway (via uwsm), including:

- sway/swayidle/swaylock/swaddle — WM, idle/lock/inhibit
- waybar, rofi — bar and launcher
- dunst — notifications
- foot — terminal
- zsh (+fzf, syntax highlighting, autosuggestions) — shell
- mpd/rmpc/mpc, mpv — music and video
- nvim — editor (lazy.nvim)
- ly — login manager
- rbw + pinentry-rofi wrapper — Bitwarden/Vaultwarden CLI
- per-window-layout, clipvault — helper systemd services
This commit is contained in:
2026-08-11 10:30:07 +04:00
commit a213b10a88
35 changed files with 2775 additions and 0 deletions
+12
View File
@@ -0,0 +1,12 @@
[Unit]
Description=clipvault
PartOf=graphical-session.target
After=graphical-session.target
[Service]
ExecStart=/usr/bin/wl-paste --watch clipvault store --max-entries 5000
Restart=on-failure
RestartSec=2
[Install]
WantedBy=graphical-session.target
+12
View File
@@ -0,0 +1,12 @@
[Unit]
Description=GTK dark mode settings
After=graphical-session.target
PartOf=graphical-session.target
[Service]
Type=oneshot
ExecStart=/usr/bin/gsettings set org.gnome.desktop.interface gtk-theme Adwaita-dark
ExecStart=/usr/bin/gsettings set org.gnome.desktop.interface color-scheme prefer-dark
[Install]
WantedBy=graphical-session.target
+24
View File
@@ -0,0 +1,24 @@
[Unit]
Description=Per window keyboard layout (sway)
Documentation=https://github.com/pyrschtjag
PartOf=graphical-session.target
After=graphical-session.target
BindsTo=graphical-session.target
[Service]
Type=notify
NotifyAccess=main
ExecStart=%h/.config/sway/scripts/per-window-layout.py
Environment=PWL_DEFAULT_MODE=1
Environment=PWL_INFO=1
Environment=PWL_DEBUG=0
Restart=always
RestartSec=1
NoNewPrivileges=yes
StandardOutput=journal
StandardError=journal
TimeoutStartSec=30
TimeoutStopSec=5
[Install]
WantedBy=graphical-session.target
+12
View File
@@ -0,0 +1,12 @@
[Unit]
Description=Swaddle
[Service]
Type=simple
ExecStart=/usr/sbin/swaddle
NoNewPrivileges=yes
Restart=on-failure
RestartSec=3
[Install]
WantedBy=graphical-session.target
+21
View File
@@ -0,0 +1,21 @@
[Unit]
Description=Sway idle daemon
PartOf=graphical-session.target
After=graphical-session.target
BindsTo=graphical-session.target
[Service]
Type=simple
ExecStart=/usr/bin/swayidle -w \
timeout 300 'pidof swaylock || swaylock -f' \
timeout 360 'swaymsg "output * dpms off"' \
timeout 420 'systemctl suspend' \
before-sleep 'pidof swaylock || swaylock -f' \
after-resume 'swaymsg "output * dpms on"'
Restart=always
RestartSec=1
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=graphical-session.target