Repository navigation
Consolidate pending package upgrades + finish Hyprland Lua migration - #346
Merged
Merged
Conversation
Rolls the latest version from each open package-update PR into one change so COPR builds a single consistent set. Bumps: aquamarine 0.15.1, bluetui 0.8.2, hyprland 0.56.2, hyprland-protocols 0.8.0, hyprpolkitagent 0.2.0, hyprtoolkit 0.6.0, hyprutils 0.14.3, iamb 0.13.1, lazygit 0.66.2, lazysql 0.7.0, lua55 5.5.1, quickshell 0.3.2, resterm 1.16.1, resvg 0.49.0, starship 1.27.0, uwsm 0.27.1, yazi 26.9.1, zellij 0.45.1. Fixes the bot bumps would have missed: - aquamarine: SONAME 13 -> 14 in %files - hyprtoolkit: SONAME 5 -> 6 in %files, add abseil BuildRequires - hyprpaper, hyprland-guiutils: release bump to rebuild against the new aquamarine/hyprtoolkit SONAMEs - hyprpolkitagent 0.2.0 is a hyprtoolkit rewrite: drop Qt deps, bundle static sdbus-cpp like hypridle, require polkit for the helper - lua55: drop 5.5.0 bug1/bug2 patches, both fixed upstream in 5.5.1 - iamb/yazi/starship: raise rust BuildRequires to upstream MSRV glaze stays on 7.9.1: Hyprland 0.56 requires glaze 7.x (find_package(glaze 7...<8)). Add VERSION_PINS to the version checker so it stops opening glaze 8/9 PRs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015S2eLxUcy5sGRvu1X8TmFk
Hyprland 0.55 deprecates the hyprlang (.conf) config format in favor of
Lua (~/.config/hypr/hyprland.lua). Port the Hypercube compositor configs
to the new API.
- Convert hyprland.conf -> hyprland.lua (monitors, autostart via
hl.on("hyprland.start"), env, look-and-feel via hl.config(), curves and
animations, input, gestures, per-device config, keybinds via hl.bind() /
hl.dsp.*, window/layer rules).
- Convert hyprland-kiosk.conf -> hyprland-kiosk.lua.
- Add recommended .luarc.json so the Lua LSP loads Hyprland's stubs from
/usr/share/hypr/stubs for manual editing.
- Update the /etc/skel stub to require() the system Lua config instead of
the old hyprlang `source =` directive.
- Update the live-ISO hook to append Lua to hyprland.lua.
- Update doc/comment references (CONTRIBUTING.md tree, dark-mode note).
hypridle/hyprlock/hyprpaper remain hyprlang (.conf); those Hypr ecosystem
tools still use hyprlang, only the compositor moved to Lua.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T97eCv6imHgfkVWxqBJrmH
Builds on the hyprlang -> Lua port of hyprland.conf / hyprland-kiosk.conf.
With a Lua config, `hyprctl dispatch <args>` is evaluated as
`hl.dispatch(<args>)`, so every legacy dispatch string is now a Lua
syntax error. Port the remaining callers:
- hypridle: dpms on/off -> hl.dsp.dpms({ action = ... }), otherwise the
screen never blanks or wakes on idle
- quickshell app switcher: focuswindow -> hl.dsp.focus({ window = ... })
- quickshell logout: exit -> hl.dsp.exit()
Existing users keep their old ~/.config/hypr/hyprland.conf stub, which
Hyprland now skips in favour of the system hyprland.lua, silently
dropping their customizations. Add migration 003 to write the Lua stub
for them and carry any custom hyprlang lines over as comments to port.
Also ship .luarc.json into ~/.config/hypr so editors find the hl stubs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015S2eLxUcy5sGRvu1X8TmFk
Contributor
COPR BuildBuilds queued for commit
|
Upstream 0.8.0 replaced meson.build with CMakeLists.txt, so the meson build failed in COPR. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015S2eLxUcy5sGRvu1X8TmFk
binarypie
marked this pull request as ready for review
October 27, 2026 01:49
This was referenced Oct 27, 2026
This was referenced Oct 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rolls the 62 open
package-updatePRs and the Lua migration draft (#259) into one change, so COPR builds one consistent set and the image is rebuilt once.Package upgrades
Each package takes the newest version among its open PRs (checked against upstream tags).
Not upgraded: glaze stays on 7.9.1
Hyprland 0.56.2 requires glaze 7.x (
find_package(glaze 7...<8)in its CMakeLists), so the glaze 8.x/9.x PRs (#315, #306, #302, and the glaze bumps inside #297, #290, #288) would break the Hyprland build. 7.9.1 is already the newest 7.x. I addedVERSION_PINStoscripts/packages/config.shso the daily checker only proposes glaze 7.x from now on.Fixes the version-only bot bumps were missing
.so.Nin%fileswould have failed packaging. hyprpaper and hyprland-guiutils get a release bump so they rebuild against the new libraries.absl_flat_hash_map); BuildRequires added.Requires: polkitfor the auth helper. Moved to build batch 5, after hyprtoolkit.lua-5.5.0-bug1/bug2patches: bug1 no longer applies and bug2 is detected as reversed, so%prepwould have failed. Patches dropped.rust >=so a toolchain gap fails clearly.Hyprland Lua migration
Includes #259's port of
hyprland.conf/hyprland-kiosk.confto Lua, plus:hyprctl dispatchcallers. With a Lua config,hyprctl dispatch Xis evaluated ashl.dispatch(X), so the old hyprlang syntax is a Lua error. Fixed:dpms off/on→hl.dsp.dpms({ action = ... }). Without this, screens never blank or wake on idle.focuswindow→hl.dsp.focus({ window = ... })exit→hl.dsp.exit()hyprland.luaover a user's old~/.config/hypr/hyprland.confstub, silently dropping their tweaks. Migration003-hyprland-lua-user-config.shwrites the Lua stub for users who don't have one, carries any custom hyprlang lines over as comments to port, and never touches symlinked or existing Lua configs..luarc.jsonis installed into~/.config/hyprso editors find thehlAPI stubs.How the configs were checked
There is no Hyprland session in CI, so I wrote a validator that reads the 0.56.2 C++ source (config keys, window/layer rule fields and match properties, dispatchers and their args, events). It then runs each config through a strict mock
hl. It passes forhyprland.lua,hyprland-kiosk.lua, the live-ISO config with its appended block, and the/etc/skelstub. I seeded it with typos to confirm it catches bad keys, fields, args, events and API names. A keybinding diff against the old.confshows the same 66 bindings.Test plan
99-tests.sh~/.config/hypr/hyprland.luaand custom lines show up commentedAfter merge, the superseded PRs listed above and #259 can be closed.
Generated by Claude Code