pyrschtjag a213b10a88 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
2026-08-11 10:30:07 +04:00

dotfiles-sway

Конфиги для Sway.

Стек

Компонент Технология Описание
Тайлинговый менеджер sway i3-совместимый Wayland-компоузер. Раскладка окон, workspaces, бинды, запуск через uwsm
swayidle Демон бездействия: блокирует экран, гасит мониторы (dpms off) и уходит в suspend по таймаутам; блокирует перед сном и включает мониторы после пробуждения
swaylock Экран блокировки для Wayland/sway, с Nord-темой и индикатором ввода пароля
swaddle MPRIS-инхибитор автоблокировки/сна — не даёт экрану гаснуть во время прослушивания музыки или просмотра видео
waybar Панель статуса: workspaces, clock, tray, idle-inhibitor, CPU/RAM/temp/disk, аудио-виджеты (wireplumber), кастомный лаунчер rofi
rofi Лаунчер приложений/меню: drun, кастомные моды по категориям (internet/dev/games/system/media), буфер обмена, история уведомлений, Bitwarden (rofi-rbw)
Музыка mpd Music Player Daemon — бэкенд воспроизведения музыки (вывод через pipewire, replaygain по альбому)
mpc Консольный клиент-обёртка для MPD (control через CLI/скрипты — быстрые команды типа play/pause/next без запуска TUI)
rmpc TUI-клиент для MPD: очередь, браузер библиотеки, поиск, кастомный статус-бар (артист/альбом/трек/битрейт), Nord-тема
Видео mpv Плеер с рендером через Vulkan (gpu-context=waylandvk, gpu-api=vulkan) и аппаратным декодированием на nvidia (hwdec=nvdec)
Редактор nvim Neovim на lazy.nvim: цветовая схема nord, colorizer, render-markdown, nvim-tree, treesitter, gitsigns, bufferline
Терминал foot Лёгкий Wayland-нативный терминал; шрифт Noto Mono, тёмная тема
Уведомления dunst Демон уведомлений: позиция top-right, прогресс-бары, история (sticky), Nord-цвета по уровню важности
Шелл zsh Интерактивный shell: vi-режим (bindkey -v), общая история между сессиями (SHARE_HISTORY), автодополнение через compinit, fzf (включая fzf-tab и fzf-tab-completion), подсветка синтаксиса (zsh-syntax-highlighting) и автоподсказки (zsh-autosuggestions) — всё в Nord-палитре. Кастомный promt с vi-режимом (❯/❮ в зависимости от normal/insert), git-статус в промпте (staged/modified/untracked/deleted/conflicts с иконками) и код выхода последней команды. Обёртки nvim/vi/vim и алиас rmpc меняют заголовок окна терминала (\033]0;...\007) на время работы программы
Сессия uwsm Universal Wayland Session Manager — запускает sway как systemd-managed сессию, пробрасывает переменные окружения (WAYLAND_DISPLAY, SWAYSOCK, Qt-тема, ssh-agent через rbw)
Логин-менеджер ly TUI display manager: анимация matrix, большие часы (bigclock=en), пустой пароль запрещён (allow_empty_password=false). Хоткеи: F1 shutdown, F2 restart, F3 suspend (systemctl suspend), F7 показать пароль; brightness/hibernate скрыты (*_key = null)

Зависимости

sudo pacman -S \
    zsh \
    zsh-syntax-highlighting \
    zsh-autosuggestions \
    pipewire \
    wireplumber \
    wl-clipboard \
    noto-fonts \
    noto-fonts-cjk \
    noto-fonts-emoji \
    ttf-nerd-fonts-symbols-mono \
    sway \
    swaylock \
    swayidle \
    swaybg \
    slurp \
    grim \
    rbw \
    rofi \
    rofi-rbw \
    python-systemd \
    python-i3ipc \
    rmpc \
    neovim \
    mpv \
    mpc \
    mpd \
    mpd-mpris \
    playerctl \
    xorg-xwayland \ 
    xdg-utils \
    xdg-desktop-portal-gtk \
    xdg-desktop-portal-wlr \
    xorg-xwayland \
    xorg-xrandr \
    polkit \
    ly \
    jq \
    git \
    qt6ct \
    fzf \
    foot \
    dunst \
    uwsm \
    mc \
    imv
yay -S \
    swaddle \
    clipvault \
    pinentry-rofi

Деплой

ln -s ./.zsh ~/.config/.zsh
ln -s ./.zshrc ~/.zshrc
ln -s ./dunst ~/.config/dunst
ln -s ./foot ~/.config/foot
ln -s ./uwsm ~/.config/uwsm
ln -s ./systemd/user/* ~/.config/systemd/user/
ln -s ./sway ~/.config/sway
ln -s ./swaylock ~/.config/swaylock
ln -s ./swaddle ~/.config/swaddle
ln -s ./rofi ~/.config/rofi
ln -s ./rmpc ~/.config/rmpc
ln -s ./nvim ~/.config/nvim
ln -s ./mpv ~/.config/mpv
ln -s ./mpd ~/.config/mpd
mkdir -p ~/.zsh/plugins
git clone https://github.com/Aloxaf/fzf-tab ~/.zsh/plugins/fzf-tab
git clone https://github.com/lincheney/fzf-tab-completion ~/.zsh/plugins/fzf-tab-completion
chsh -s /usr/bin/zsh
sudo cp ./other/sway-uwsm.desktop /usr/share/wayland-sessions/
sudo cp ./other/ly.ini /etc/ly/config.ini
mkdir -p ~/.local/bin/
ln -s ./other/pinentry-rofi-wrapper ~/.local/bin/pinentry-rofi-wrapper
rbw config set email $email
rbw config set base_url $url
rbw config set pinentry $pinentry_rofi_wrapper

Скриншоты

waybar/rofi/dunst
waybar / rofi / dunst

rmpc
rmpc

nvim
nvim

zsh/fzf
zsh / fzf

S
Description
No description provided
Readme
331 KiB
Languages
Python 48.1%
Shell 19%
Lua 18.9%
CSS 14%