Enables the sachesi/hyprland and avengemedia/dms COPRs, installs Hyprland, DMS and the tools used by the scripts, optionally the Flatpak apps, then deploys the configs into ~/.config. Existing configs are moved to *.bak-<time>, so re-running is safe; --dry-run only prints the plan. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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: репозитории, пакеты, Flatpak, конфиги |
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 # установить
Скрипт по шагам:
- подключает COPR
sachesi/hyprland(Hyprland нет в репозиториях Fedora) иavengemedia/dms(DMS); - ставит Hyprland с утилитами, DMS и инструменты для скриптов (kitty, fzf, tmux, grim, tesseract и т. д.);
- ставит Flatpak-приложения из биндов и автозапуска: Chrome, Telegram, Remmina, клиент Nextcloud;
- раскладывает конфиги в
~/.config(hypr, плагин и настройки DMS,kitty,hyprland-session.target), включает плагинnetworkEditorи создаёт~/.ssh/sockets.
Существующие конфиги не затираются: они переносятся в *.bak-<время>, повторный запуск безопасен.
Этапы можно пропустить: --no-packages, --no-flatpak, --no-config; --yes отключает вопросы.
После установки выйдите из сессии и выберите в 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