Hyprland Configuration Rework #63

Merged
Ghost merged 0 commits from refs/pull/63/head into master 2025-10-06 11:51:47 +10:00
Ghost commented 2025-10-06 11:47:23 +10:00 (Migrated from codeberg.org)
  • Named workspaces
    • For applications like vesktop, email, gaming etc.
  • Workspace tags (with rules applied to tags)
  • Workspace / Monitor Binding rework
  • Slightly changed colourscheme and shadows

$mod, 1..3 will navigate to monitors instead of workspaces,
Workspaces can be configured / set using workspace submap.

$mod, W enables submap and 1..1(0) will change the numbered workspace

Summary by CodeRabbit

  • New Features
    • Added dedicated workspace module with named workspaces (gaming, music, email, chat), submap navigation, and keybindings.
    • Per-workspace behaviors: monitor bindings and auto-launch commands for select workspaces.
  • Refactor
    • Migrated window rules to a tag-based model (gaming/video) and consolidated app rules.
    • Replaced auto-generated workspace bindings with an explicit workspaces submap.
  • Style
    • Updated window border color and shadow appearance.
  • Chores
    • Removed obsolete monitor descriptors from the workspace configuration.
- Named workspaces - For applications like vesktop, email, gaming etc. - Workspace tags (with rules applied to tags) - Workspace / Monitor Binding rework - Slightly changed colourscheme and shadows $mod, 1..3 will navigate to monitors instead of workspaces, Workspaces can be configured / set using workspace submap. $mod, W enables submap and 1..1(0) will change the numbered workspace <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - New Features - Added dedicated workspace module with named workspaces (gaming, music, email, chat), submap navigation, and keybindings. - Per-workspace behaviors: monitor bindings and auto-launch commands for select workspaces. - Refactor - Migrated window rules to a tag-based model (gaming/video) and consolidated app rules. - Replaced auto-generated workspace bindings with an explicit workspaces submap. - Style - Updated window border color and shadow appearance. - Chores - Removed obsolete monitor descriptors from the workspace configuration. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Ghost commented 2025-10-06 11:47:32 +10:00 (Migrated from codeberg.org)

Walkthrough

Introduces a new Hyprland workspaces module with named workspaces and keybindings, shifts window rules to tag-based logic with an added apprules file, removes autogenerated workspace binds from binds.nix, wires the new module via imports, tweaks visual settings, and removes two monitor descriptors from a host config.

Changes

Cohort / File(s) Summary
Hyprland workspaces module
modules/homeManagerModules/hyprland/workspaces.nix
New module defining named workspaces (gaming, music, email, chat), dynamic 1–10 workspace labels, submap for workspace actions, keybindings, per-workspace settings, and on-created-empty commands.
Bindings refactor
modules/homeManagerModules/hyprland/binds.nix
Removed dynamic workspace binding generator and its injection into bindm; retains only fixed binds.
Rules rework + app rules
modules/homeManagerModules/hyprland/rules.nix, modules/homeManagerModules/hyprland/apprules.nix
Added apprules import and static rule set; migrated from workspace-based to tag-based rules (gaming/video) and adjusted named workspace assignments (email/chat/music).
Module wiring
modules/homeManagerModules/hyprland/default.nix
Added ./workspaces.nix to imports when Hyprland is enabled.
Visual settings
modules/homeManagerModules/hyprland/settings.nix
Updated border color and shadow color/offset; no logic changes.
Host monitor descriptors cleanup
hosts/striking_distance/default.nix
Removed two monitor descriptor entries; no other changes.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant Hyprland
  participant Workspaces as Workspaces Module
  participant Rules as Rules & AppRules
  participant App as Applications

  User->>Hyprland: Keybind (workspace/move/focus)
  Hyprland->>Workspaces: Resolve submap action
  Workspaces-->>Hyprland: Target workspace (named or numeric)
  Hyprland->>Rules: Apply window rules/tags
  Rules-->>Hyprland: Tag set (e.g., gaming, video, chat)
  Hyprland->>App: Assign workspace, set states (fullscreen/float)
  note over Hyprland,Rules: New: tag-based matching replaces workspace-coupled rules

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Kruziikrel13/NixOS#58 — Implements named workspaces, tag-based application rules, and reworked binds/workspaces modules aligning with the issue’s objectives.

Poem

I mapped my hops to numbered skies,
Then named the clouds before my eyes.
Tags on breezes, windows glide,
Gaming burrows, chats beside.
Shadows trimmed, borders bright—
A tidy warren for the night. 🥕

Pre-merge checks and finishing touches

Passed checks (3 passed)
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check Passed The title succinctly captures the major rework to Hyprland configuration, reflecting updates to workspace and monitor binding behavior as outlined in the PR objectives. It is concise, clear, and directly relates to the primary change. It avoids unnecessary detail while conveying the scope of the update.
Docstring Coverage Passed No functions found in the changes. Docstring coverage check skipped.
Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch hyprland_rework

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

<!-- This is an auto-generated comment: summarize by coderabbit.ai --> <!-- walkthrough_start --> ## Walkthrough Introduces a new Hyprland workspaces module with named workspaces and keybindings, shifts window rules to tag-based logic with an added apprules file, removes autogenerated workspace binds from binds.nix, wires the new module via imports, tweaks visual settings, and removes two monitor descriptors from a host config. ## Changes | Cohort / File(s) | Summary | | --- | --- | | **Hyprland workspaces module**<br>`modules/homeManagerModules/hyprland/workspaces.nix` | New module defining named workspaces (gaming, music, email, chat), dynamic 1–10 workspace labels, submap for workspace actions, keybindings, per-workspace settings, and on-created-empty commands. | | **Bindings refactor**<br>`modules/homeManagerModules/hyprland/binds.nix` | Removed dynamic workspace binding generator and its injection into bindm; retains only fixed binds. | | **Rules rework + app rules**<br>`modules/homeManagerModules/hyprland/rules.nix`, `modules/homeManagerModules/hyprland/apprules.nix` | Added apprules import and static rule set; migrated from workspace-based to tag-based rules (gaming/video) and adjusted named workspace assignments (email/chat/music). | | **Module wiring**<br>`modules/homeManagerModules/hyprland/default.nix` | Added `./workspaces.nix` to imports when Hyprland is enabled. | | **Visual settings**<br>`modules/homeManagerModules/hyprland/settings.nix` | Updated border color and shadow color/offset; no logic changes. | | **Host monitor descriptors cleanup**<br>`hosts/striking_distance/default.nix` | Removed two monitor descriptor entries; no other changes. | ## Sequence Diagram(s) ```mermaid sequenceDiagram autonumber actor User participant Hyprland participant Workspaces as Workspaces Module participant Rules as Rules & AppRules participant App as Applications User->>Hyprland: Keybind (workspace/move/focus) Hyprland->>Workspaces: Resolve submap action Workspaces-->>Hyprland: Target workspace (named or numeric) Hyprland->>Rules: Apply window rules/tags Rules-->>Hyprland: Tag set (e.g., gaming, video, chat) Hyprland->>App: Assign workspace, set states (fullscreen/float) note over Hyprland,Rules: New: tag-based matching replaces workspace-coupled rules ``` ## Estimated code review effort 🎯 3 (Moderate) | ⏱️ ~25 minutes ## Possibly related issues - Kruziikrel13/NixOS#58 — Implements named workspaces, tag-based application rules, and reworked binds/workspaces modules aligning with the issue’s objectives. ## Poem > I mapped my hops to numbered skies, > Then named the clouds before my eyes. > Tags on breezes, windows glide, > Gaming burrows, chats beside. > Shadows trimmed, borders bright— > A tidy warren for the night. 🥕✨ <!-- walkthrough_end --> <!-- pre_merge_checks_walkthrough_start --> ## Pre-merge checks and finishing touches <details> <summary>✅ Passed checks (3 passed)</summary> | Check name | Status | Explanation | | :----------------: | :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Description Check | ✅ Passed | Check skipped - CodeRabbit’s high-level summary is enabled. | | Title Check | ✅ Passed | The title succinctly captures the major rework to Hyprland configuration, reflecting updates to workspace and monitor binding behavior as outlined in the PR objectives. It is concise, clear, and directly relates to the primary change. It avoids unnecessary detail while conveying the scope of the update. | | Docstring Coverage | ✅ Passed | No functions found in the changes. Docstring coverage check skipped. | </details> <!-- pre_merge_checks_walkthrough_end --> <!-- finishing_touch_checkbox_start --> <details> <summary>✨ Finishing touches</summary> <details> <summary>🧪 Generate unit tests (beta)</summary> - [ ] <!-- {"checkboxId": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "radioGroupId": "utg-output-choice-group-unknown_comment_id"} --> Create PR with unit tests - [ ] <!-- {"checkboxId": "07f1e7d6-8a8e-4e23-9900-8731c2c87f58", "radioGroupId": "utg-output-choice-group-unknown_comment_id"} --> Post copyable unit tests in a comment - [ ] <!-- {"checkboxId": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", "radioGroupId": "utg-output-choice-group-unknown_comment_id"} --> Commit unit tests in branch `hyprland_rework` </details> </details> <!-- finishing_touch_checkbox_end --> <!-- tips_start --> --- 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. <details> <summary>❤️ Share</summary> - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code) </details> <sub>Comment `@coderabbitai help` to get the list of available commands and usage tips.</sub> <!-- tips_end --> <!-- internal state start --> <!-- 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 --> <!-- internal state end -->
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kruziikrel13/NixOS!63
No description provided.