47 lines
2.0 KiB
Markdown
47 lines
2.0 KiB
Markdown
# CLAUDE.md
|
||
|
||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||
|
||
## What this repo is
|
||
|
||
Documentation and planning for a GNOME → Hyprland migration on Fedora 43. No build system, no tests, no executables. The actual system configuration lives in `~/.dotfiles/` (separate Forgejo repo), managed with GNU Stow.
|
||
|
||
## Key locations outside this repo
|
||
|
||
| What | Where |
|
||
|------|-------|
|
||
| Hyprland config | `~/.dotfiles/hypr/.config/hypr/hyprland.conf` |
|
||
| DMS source configs | `~/.dotfiles/hypr/.config/hypr/dms/` |
|
||
| Symlink target | `~/.config/hypr/` → symlinked via `stow hypr` |
|
||
| Hyprland log | `~/.cache/hyprland/hyprland.log` |
|
||
| Dotfiles remote | `git@forgejo.swansoncloud.com:jared/dotfiles.git` |
|
||
|
||
## Hyprland configuration
|
||
|
||
**Installed version:** 0.51.1 (Fedora 43). See `docs/hyprland/version-history.md` before applying patterns from the official wiki — the wiki tracks git HEAD, which is ahead of the installed version.
|
||
|
||
**Window rule syntax for 0.48–0.51** (not the block syntax shown in current wiki):
|
||
```
|
||
windowrule = match:class classname, effect
|
||
windowrule = match:class classname, match:title titlepattern, effect1, effect2
|
||
```
|
||
Do NOT use `^(...)$` wrapping — Hyprland 0.51 rejects it as "Invalid rulev2". Use plain names or bare regexes (e.g. `^org\.gnome\.` for a prefix match).
|
||
|
||
**Block syntax** (`windowrule { }`) is 0.52+ only — do not use until after a Fedora upgrade.
|
||
|
||
## Docs structure
|
||
|
||
- `docs/window-manager/` — migration plan, phased progress log, keybindings cheatsheet
|
||
- `docs/hyprland/` — version-aware Hyprland config reference; update these when Hyprland is upgraded
|
||
|
||
## Project status
|
||
|
||
Phases 0–3 complete (install, config, dotfiles integration). Phase 4 (first successful Hyprland login and smoke tests) is in progress. Phase 5 (tuning) is deferred.
|
||
|
||
Known workaround in place: `hyprpolkitagent` replaced with `lxpolkit` due to Qt 6 ABI issue on Fedora 43.
|
||
|
||
## Hardware
|
||
|
||
- AMD Vega iGPU (primary display, Wayland)
|
||
- NVIDIA RTX 3060 dGPU (unused — `akmod-nvidia` intentionally not installed)
|