feat(hyprland): emit compositor config as lua

This commit is contained in:
2026-10-09 20:12:07 -04:00
parent 4908c4751f
commit fce4bdc526
9 changed files with 346 additions and 119 deletions

View File

@@ -8,7 +8,7 @@
Match the mapping on the window class.
Run `hyprctl clients -j | jq -r '.[].class' | sort -u` to list classes in the running session.
- TODO: Verify this path after the NixOS configuration is migrated.
Set Hyprland session environment variables in `modules/desktop/session/hyprland/default.nix` with `env = KEY,VALUE`.
Set Hyprland session environment variables in `modules/desktop/session/hyprland/default.nix` with Lua `env` call records.
`home.sessionVariables` do **not** reach the Hyprland session because UWSM does not source `hm-session-vars.sh`.
Source cursor values from `config.stylix.cursor`.
Set `XCURSOR_*` and `HYPRCURSOR_*` to the same theme for Bibata.
@@ -65,3 +65,10 @@
and Zeus), not in the generic host module.
- Module-relative paths resolve from the module file. Update them when moving a module into a subdirectory.
- On Pikachu, `uptime` does not support `-s`. Use `who -b` to report the boot time.
- Changing `networking.hostId` makes ZFS reject a previously imported pool. Force-import the pool once after confirming no other host uses it.
- Remote `ssh pikachu` starts Fish. Pass `sh -c` when a command needs POSIX shell syntax.
- `deploy-to` runs on the initiating host. Deploy its Fish definition to that host before testing workflow changes.
- Home Manager stores `programs.ssh.settings` blocks as DAG entries. Read configured values from each entry's `data` attribute.
- A `NOLINT(let_order)` comment before a `let` suppresses the whole let scope. Place it on an individual binding to limit suppression.
- `util.deriveMac` derives a deterministic locally administered MAC address from a name.
- GameMode needs membership in the `gamemode` group only when enabled settings require it, such as process renicing or core parking.