aibrashandClaude Sonnet 5.5 af3b12a131 Restore the binds that the resize change removed by mistake
d6d8aa0 cut the whole range between the resize submap and the screenshots
section, which also deleted the "sysadmin toolbox" binds: Mod+S (SSH menu),
Mod+T/B/K, Mod+Shift+B/T, Mod+F1 (cheatsheet), Mod+[ ], Mod+, and Mod+.
Put them back; the resize change itself is unchanged.

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

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 и сеть:

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 — сторонние репозитории, пакеты в них никем не проверяются.

Вручную (без скрипта)

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 (с запасным вариантом swaylock).

Обновление репозитория

./sync.sh && git add -A && git commit -m "…" && git push
S
Description
No description provided
Readme
141 KiB
Languages
Shell 45%
Lua 34.2%
Python 19.3%
QML 1.5%