153 lines
6.3 KiB
Markdown
153 lines
6.3 KiB
Markdown
# 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 \
|
|||
|
|
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
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
yay -S \
|
|||
|
|
swaddle \
|
|||
|
|
clipvault \
|
|||
|
|
pinentry-rofi
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Деплой
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
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
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
```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 $pinentry_rofi_wrapper
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Скриншоты
|
|||
|
|
|
|||
|
|
<p align="center">
|
|||
|
|
<img src="./assets/photo_2026-08-11_08-01-47.jpg" alt="waybar/rofi/dunst" width="800">
|
|||
|
|
<br>
|
|||
|
|
<sub>waybar / rofi / dunst</sub>
|
|||
|
|
</p>
|
|||
|
|
|
|||
|
|
<p align="center">
|
|||
|
|
<img src="./assets/photo_2026-08-11_08-01-57.jpg" alt="rmpc" width="800">
|
|||
|
|
<br>
|
|||
|
|
<sub>rmpc</sub>
|
|||
|
|
</p>
|
|||
|
|
|
|||
|
|
<p align="center">
|
|||
|
|
<img src="./assets/photo_2026-08-11_08-02-00.jpg" alt="nvim" width="800">
|
|||
|
|
<br>
|
|||
|
|
<sub>nvim</sub>
|
|||
|
|
</p>
|
|||
|
|
|
|||
|
|
<p align="center">
|
|||
|
|
<img src="./assets/photo_2026-08-11_08-02-03.jpg" alt="zsh/fzf" width="800">
|
|||
|
|
<br>
|
|||
|
|
<sub>zsh / fzf</sub>
|
|||
|
|
</p>
|