This commit is contained in:
Mikhail Kilin
2026-06-21 16:22:06 +03:00
parent 698c953c55
commit 8cedd606f5
58 changed files with 4333 additions and 146 deletions

113
bazzite/README.md Normal file
View File

@@ -0,0 +1,113 @@
# Конфиги рабочего стола Bazzite
Эта папка содержит конфигурацию рабочего стола Bazzite для Wayland-сессии на
Niri. Идея в том, чтобы подключать эти файлы в `~/.config` на Bazzite-машине и
держать живую конфигурацию рабочего стола синхронизированной с этим
репозиторием.
## Что здесь настроено
| Путь | Назначение |
|---|---|
| `niri/config.kdl` | Конфиг Niri: ввод, монитор, раскладка окон, автозапуск, правила окон, хоткеи. |
| `waybar/` | Верхняя панель: конфиг, CSS в стиле Catppuccin и custom-модули. |
| `waybar/scripts/gpu.sh` | Модуль Waybar для загрузки и температуры NVIDIA GPU через `nvidia-smi`. |
| `waybar/scripts/weather.sh` | Модуль Waybar с погодой через `wttr.in`. |
| `khal-calendar/` | Rust-версия календарного модуля Waybar. |
| `mail-counter/` | Rust-модуль Waybar для счетчика непрочитанных писем Thunderbird. |
| `fuzzel/fuzzel.ini` | Тема лаунчера Fuzzel на цветах Catppuccin Latte. |
| `btop/btop.conf` | Настройки системного монитора btop. |
| `glow/glow.yml` | Настройки терминального Markdown-viewer Glow. |
| `gtk-3.0/`, `gtk-4.0/` | GTK-настройки и цветовые файлы Breeze/Catppuccin. |
| `xsettingsd/xsettingsd.conf` | Настройки GTK, курсора, иконок, шрифта и DPI для X11/XWayland-приложений. |
| `environment.d/intel-gtk-fix.conf` | Переменная окружения сессии: `GSK_RENDERER=gl`. |
| `autostart/steam.desktop` | Автозапуск Steam через Bazzite Steam wrapper. |
| `wallpapers/image.png` | Текущая картинка рабочего стола для `swaybg`. |
## Как это работает
Niri запускает `swaybg` и `waybar` из `niri/config.kdl`. `swaybg` рисует
wallpaper, Waybar поднимает:
- встроенные Niri-модули для рабочих столов, заголовка окна и раскладки
клавиатуры;
- системные модули для звука, сети, CPU, памяти, температуры, диска, privacy,
power profile и tray;
- custom-модули для почты Thunderbird, погоды, NVIDIA GPU и календаря из
`khal`.
Календарный модуль печатает JSON для Waybar и показывает Pango-tooltip с текущим
месяцем, подсвеченными днями с событиями и ближайшими событиями из `khal`.
Активная реализация сейчас - скомпилированный Rust-бинарник:
```jsonc
"exec": "~/.config/waybar/scripts/khal-calendar"
```
## Ожидаемые программы
Для полной работы конфигурации на Bazzite ожидаются:
- `niri`
- `waybar`
- `fuzzel`
- `btop`
- `glow`
- `xsettingsd`
- `alacritty`
- `swaybg`
- `khal`, `ikhal`, `vdirsyncer`
- `nvidia-smi`
- `curl`
- `cargo` для пересборки `khal-calendar` и `mail-counter`
## Установка
Подключить директории в `~/.config`:
```bash
for dir in niri fuzzel waybar btop glow gtk-3.0 gtk-4.0 xsettingsd environment.d autostart; do
ln -sfn ~/dotfiles/bazzite/$dir ~/.config/$dir
done
mkdir -p ~/Pictures/Wallpapers
ln -sfn ~/dotfiles/bazzite/wallpapers/image.png ~/Pictures/Wallpapers/image.png
```
Если репозиторий лежит не в `~/dotfiles`, путь нужно поправить.
## Сборка календарного модуля
Собрать и установить Rust-бинарник календаря на Bazzite:
```bash
cd ~/dotfiles/bazzite/khal-calendar
cargo build --release
install -m 755 target/release/khal-calendar ~/.config/waybar/scripts/khal-calendar
```
Исходники остаются в `khal-calendar/`; установленный бинарник лежит в
`~/.config/waybar/scripts/`.
## Сборка почтового модуля
Собрать и установить Rust-бинарник счетчика писем на Bazzite:
```bash
cd ~/dotfiles/bazzite/mail-counter
cargo build --release
install -m 755 target/release/mail-counter ~/.config/waybar/scripts/mail
```
Модуль читает `global-messages-db.sqlite` из профиля Thunderbird и печатает JSON
для `custom/mail` в Waybar.
## Перезагрузка
После изменения конфига или CSS Waybar:
```bash
pkill -SIGUSR2 waybar
```
Если Waybar не подхватил изменения, нужно перезапустить Waybar вручную или
перезапустить Niri-сессию.