# 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)| ## Зависимости ```bash 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 \ wtype \ python-systemd \ python-i3ipc \ rmpc \ neovim \ mpv \ mpc \ mpd \ mpd-mpris \ playerctl \ 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 \ waybar ``` ```bash yay -S \ swaddle \ clipvault-bin \ pinentry-rofi ``` ## Деплой ```bash git clone https://gitea.oyacoi.ru/pyrschtjag/dotfiles-sway ~/Documents/.dotfiles-sway ``` ```bash ln -s ~/Documents/.dotfiles-sway/.zsh ~/.config/.zsh ln -s ~/Documents/.dotfiles-sway/.zshrc ~/.zshrc ln -s ~/Documents/.dotfiles-sway/dunst ~/.config/dunst ln -s ~/Documents/.dotfiles-sway/foot ~/.config/foot ln -s ~/Documents/.dotfiles-sway/uwsm ~/.config/uwsm ln -s ~/Documents/.dotfiles-sway/systemd/user/* ~/.config/systemd/user/ ln -s ~/Documents/.dotfiles-sway/sway ~/.config/sway ln -s ~/Documents/.dotfiles-sway/swaylock ~/.config/swaylock ln -s ~/Documents/.dotfiles-sway/swaddle ~/.config/swaddle ln -s ~/Documents/.dotfiles-sway/rofi ~/.config/rofi ln -s ~/Documents/.dotfiles-sway/rmpc ~/.config/rmpc ln -s ~/Documents/.dotfiles-sway/nvim ~/.config/nvim ln -s ~/Documents/.dotfiles-sway/mpv ~/.config/mpv ln -s ~/Documents/.dotfiles-sway/mpd ~/.config/mpd ``` ```bash 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 ``` ```bash chsh -s /usr/bin/zsh ``` ```bash sudo cp ./other/sway-uwsm.desktop /usr/share/wayland-sessions/ sudo cp ./other/ly.ini /etc/ly/config.ini ``` ```bash mkdir -p ~/.local/bin/ ln -s ./other/pinentry-rofi-wrapper ~/.local/bin/pinentry-rofi-wrapper ``` ```bash rbw config set email $email rbw config set base_url $url rbw config set pinentry ~/.local/bin/pinentry-rofi-wrapper ``` ```bash systemctl --user enable --now clipvault systemctl --user enable --now gtk-settings systemctl --user enable --now per-window-layout systemctl --user enable --now swaddle systemctl --user enable --now swayidle ``` ## Скриншоты
waybar / rofi / dunst
rmpc
nvim
zsh / fzf