# Конфиги рабочего стола Fedora

Эта папка содержит профиль Fedora KDE/Workstation, где основной рабочей
Wayland-сессией становится Niri. Профиль получен из старого `bazzite/`, но
адаптирован под обычную mutable Fedora: пакеты ставятся через `dnf`, Steam
запускается обычным `/usr/bin/steam`, а локальные Bazzite helpers не требуются.

## Что здесь настроено

| Путь | Назначение |
|---|---|
| `niri/config.kdl` | Конфиг Niri: монитор `DP-1`, ввод, раскладка окон, автозапуск, правила окон, хоткеи. |
| `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 через обычный Fedora Steam. |
| `wallpapers/raspberry.png` | Текущая картинка рабочего стола для `swaybg`. |

## Ожидаемые программы

```bash
sudo dnf install -y \
  niri waybar fuzzel alacritty swaybg swaylock \
  btop glow xsettingsd pavucontrol xsel mpv nautilus \
  khal vdirsyncer thunderbird rustup cargo
```

Также ожидается уже настроенный NVIDIA-драйвер с рабочим `nvidia-smi`.

## Установка

Подключить директории в `~/.config`:

```bash
for dir in niri fuzzel waybar btop glow gtk-3.0 gtk-4.0 xsettingsd environment.d autostart; do
  ln -sfn ~/dotfiles/fedora/$dir ~/.config/$dir
done
mkdir -p ~/Pictures/Wallpapers
ln -sfn ~/dotfiles/fedora/wallpapers/raspberry.png ~/Pictures/Wallpapers/raspberry.png
```

Если репозиторий лежит не в `~/dotfiles`, путь нужно поправить.

## Сборка календарного модуля

```bash
cd ~/dotfiles/fedora/khal-calendar
cargo build --release
install -m 755 target/release/khal-calendar ~/.config/waybar/scripts/khal-calendar
```

## Сборка почтового модуля

```bash
cd ~/dotfiles/fedora/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.

## Fedora-specific отличия от Bazzite

- Steam запускается через `/usr/bin/steam`, не через `/usr/bin/bazzite-steam`.
- Wallpaper запускается через `swaybg` из `$PATH`, не через `~/.local/bin/swaybg`.
- Hotkeys на `refresh.sh` отключены, потому что этого локального helper пока нет.
- Clipboard hotkeys больше не зависят от локальной команды `t`.
- Firefox/Telegram правила Niri отправляют окна на `DP-1`, текущий подключенный
  выход на этой Fedora-машине.

## Перезагрузка

После изменения конфига или CSS Waybar:

```bash
pkill -SIGUSR2 waybar
```

Если Waybar не подхватил изменения, нужно перезапустить Waybar вручную или
перезапустить Niri-сессию.
