Files
hyprland-rising/README.md
T
aibrashandClaude Sonnet 5.5 211b3e626c Drop the remaining sway references
lock.sh no longer falls back to swaylock (hyprlock instead), and the
comments in hyprland.lua and the README no longer mention sway.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 14:28:06 +05:00

109 lines
7.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# hyprland-rising
Hyprland 0.57 на Fedora 44: тёмный минималистичный райс для рабочей машины сисадмина.
Скруглённые окна с блюром, розовый акцент из темы DMS, всё управляется с клавиатуры.
## Что внутри
| Путь | Что это |
|---|---|
| `hypr/hyprland.lua` | основной конфиг (Lua-формат Hyprland 0.57): оформление, анимации, бинды, правила окон |
| `hypr/hypridle.conf` | затемнение (2,5 мин) → блокировка (5 мин) → погасание экрана (10 мин) |
| `hypr/cheatsheet.txt` | справка по хоткеям, открывается на `Mod+F1` (поиск по тексту) |
| `hypr/scripts/ssh-menu.sh`, `ssh_hosts.py` | SSH-меню на `Mod+S` (см. ниже) |
| `hypr/scripts/raise.sh` | «показать, если запущено, иначе запустить» для `Mod+B/T/K` |
| `hypr/scripts/prev-window.sh` | `Alt+Tab` — предыдущее окно |
| `hypr/scripts/ocr.sh` | `Mod+Shift+O` — область экрана → текст в буфер (рус+англ) |
| `hypr/scripts/tmux-broadcast.conf` | отдельный tmux для broadcast-окон SSH-меню |
| `dms/plugins/networkEditor` | плагин DMS: кнопка в панели, открывает `nm-connection-editor` |
| `dms/settings.json` | настройки DMS (панель, тема `pink`, лаунчер) |
| `systemd/user/hyprland-session.target` | нужен порталам (`xdg-desktop-portal`) вне uwsm |
| `kitty/kitty.conf` | терминал |
| `install.sh` | установка на чистую Fedora: по умолчанию только визуал, `--full` — ещё инструменты и приложения |
| `sync.sh` | копирует живой конфиг из `~/.config` в репозиторий |
Панель, уведомления, лаунчер, блокировка, обои и буфер обмена — это
DankMaterialShell (DMS), Hyprland отвечает только за окна.
## SSH-меню (`Mod+S`)
Плавающее окно (fzf в kitty) со всеми хостами из `~/.ssh/config`:
статус доступности, группы цветом, плашка `PROD`, превью с пингом.
`Enter` — подключиться (окно становится обычным), `Alt+T` tmux на сервере,
`Alt+F` SFTP, `Alt+W` веб-интерфейс, `Alt+K` разослать ключ, `Alt+N` новый хост,
`Alt+E` править конфиг, `Alt+G` группа, `Alt+R` PROD, `Tab` отметить,
`Alt+B` broadcast в tmux на отмеченные хосты, `Alt+X` команда на отмеченных хостах.
Метаданные хоста хранятся комментариями прямо над `Host` в `~/.ssh/config`:
```
# group: Proxmox
# env: prod
# url: https://10.0.0.10:8006
Host proxmox1
HostName 10.0.0.10
User root
```
Сам `~/.ssh/config` и ключи в репозиторий не входят. Перед любой записью меню делает
бэкап в `~/.local/state/ssh-menu/backups`. Для хостов с `env: prod` перед broadcast
и запуском команды спрашивается подтверждение.
## Установка на чистую Fedora
Нужна обычная Fedora (в том числе без Hyprland), пользователь с `sudo` и сеть:
```bash
git clone git@git.ibrash.duckdns.org:aibrash/hyprland-rising.git
cd hyprland-rising
./install.sh --dry-run # посмотреть, что будет сделано, ничего не меняя
./install.sh # визуал + SSH-меню
./install.sh --full # + остальные инструменты и приложения
```
**По умолчанию:** COPR `sachesi/hyprland` (в репозиториях Fedora Hyprland нет) и `avengemedia/dms`, затем
Hyprland, DMS (панель, лаунчер, уведомления, блокировка, обои, тема), шрифт JetBrains Mono, терминал kitty,
**SSH-меню со всем, на чём оно держится** (fzf, tmux, jq, micro, nautilus для SFTP, `ssh-copy-id`, уведомления)
и конфиги: `hypr`, настройки DMS, `kitty`, `hyprland-session.target` (нужен порталам). Создаётся `~/.ssh/sockets`.
**Не ставится без `--full`:** Chrome, Telegram, Remmina, клиент Nextcloud (Flatpak), KeePassXC, OCR (tesseract),
скриншоты (grim, slurp), пипетка, сетевой редактор с кнопкой в панели (плагин `networkEditor`). Бинды на эти
программы остаются в конфиге и просто ничего не делают. `Alt+W` в SSH-меню открывает сайт хоста в браузере
по умолчанию, если Chrome (Flatpak) не установлен.
Сам `~/.ssh/config` и ключи в репозиторий не входят, их нужно перенести самому: меню читает ваш конфиг.
Существующие конфиги не затираются: они переносятся в `*.bak-<время>`, повторный запуск безопасен.
`--yes` отключает вопросы, `--no-packages` и `--no-config` пропускают этапы.
После установки выйдите из сессии и выберите в GDM **Hyprland** (не `hyprland-uwsm`).
COPR — сторонние репозитории, пакеты в них никем не проверяются.
### Вручную (без скрипта)
```bash
sudo dnf copr enable sachesi/hyprland avengemedia/dms
sudo dnf install hyprland hyprlock hypridle hyprpaper hyprpicker hyprland-guiutils hyprpolkitagent \
xdg-desktop-portal-hyprland xdg-desktop-portal-gtk dms
cp -r hypr ~/.config/
mkdir -p ~/.config/dms/plugins ~/.config/systemd/user
cp -r dms/plugins/networkEditor ~/.config/dms/plugins/
cp systemd/user/hyprland-session.target ~/.config/systemd/user/
systemctl --user daemon-reload
```
Полный список пакетов-инструментов см. в начале `install.sh`. Плагин `networkEditor` включите в настройках
DMS (Plugins) или создайте `~/.config/dms/plugin_settings.json` с `{"networkEditor": {"enabled": true}}`
и выполните `dms restart`.
## Под себя
* В `hypr/hyprland.lua` имена мониторов (`eDP-1`, `HDMI-A-1`) и масштаб 1.25 — под конкретный ноутбук.
* Раскладка (`us,ru`, переключение Alt+Shift), чувствительность тачпада и мыши — там же, в блоке `input`.
* Блокировку экрана делает DMS через `hypr/scripts/lock.sh` (если DMS не запущен, запасной вариант — hyprlock).
## Обновление репозитория
```bash
./sync.sh && git add -A && git commit -m "…" && git push
```