Repository navigation
feat: migrate Hyprland configuration to Lua - #14
Merged
Merged
Conversation
Preserve the modular desktop configuration and all 63 shortcuts on Hyprland 0.56.2. Translate idle/logout dispatchers and select a pinned user-local Waybar build with Lua workspace protocol support. Add preservation and integration regressions, CI coverage, and a staged rollout/rollback guide. Retain the legacy compositor files and leave the live desktop unchanged until the Waybar build and host checks pass. Co-authored-by: Codex <noreply@openai.com>
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing: 22
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Full desktop reload starts both Waybar and SwayNC asynchronously. Wait for both fake executables to finish writing before deleting their test home, preventing the intermittent directory-not-empty failure in CI. Reproduced the failure locally, then passed 100 restart/reload iterations and the complete regression suite after adding the completion barrier. Co-authored-by: Codex <noreply@openai.com>
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.
Hyprland's legacy configuration format is being retired. This migrates the desktop to Lua for Hyprland 0.56.2 while preserving the ten-module structure, all 63 shortcuts, display/input settings, appearance, animations, startup commands, and window rules.
hyprland/workspacesand existing Waybar styling. Add a pinned user-local Waybar builder containing Lua dispatch and config-provider detection; route startup/reload through the same executable.docs/hyprland-lua.md.Validation
Passed locally:
bash tests/run.sh: three shell suites, 17 Python cases, and Lua assertions covering all 63 bindings and configuration values.git diff --cached --checkand redacted Gitleaks scan of the staged change.CodeRabbit completed a host-side review of all 22 migration files with one trivial finding: the nohup mock did not execute fake Waybar. The finding was reproduced with a failing assertion, fixed, and the full suite rerun successfully. Sam explicitly waived a second CLI review.
Rollout status
This PR does not activate the desktop configuration. The live symlinks remain on the existing checkout.
The pinned Waybar build and upstream tests have not run because build tools/development packages are missing in the agent environment. Push and pull-request CI both passed on
a3e520e132907cefae3eb7a43492f26ac404eb89, including ShellCheck. A detached-service test cleanup race was reproduced and fixed; 100 restart/reload iterations passed locally. A successful build and fresh-login desktop acceptance—including workspace clicks, lock/DPMS/suspend, and duplicate-service checks—remain required before activation.Co-authored-by: Codex noreply@openai.com