diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..2b619a5 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,43 @@ +# AGENTS.md — niri config + +## Structure + +- **`config.kdl`** — main niri compositor config (KDL format, https://kdl.dev). Includes `dms/*.kdl` at the bottom. +- **`dms/`** — sub-configs, split by concern. Several are auto-generated by DMS (external tool) and **must not be edited** directly: + + | File | Editable? | + |---|---| + | `layout.kdl`, `cursor.kdl`, `wpblur.kdl`, `alttab.kdl`, `colors.kdl` | No — auto-generated by DMS, note says changes will be overwritten | + | `outputs.kdl` | Yes — monitor layout (manually maintained despite auto-gen header) | + | `binds.kdl`, `windowrules.kdl` | Yes — empty, available for custom keybinds/window rules | + +- **`config.kdl.backup*`** — historical snapshots, not active configs. + +## Keybindings (subset referenced in config) + +| Keys | Action | +|---|---| +| Mod+E | `thunar` (file manager) | +| Mod+D | `rofi -show drun` (app launcher) | +| Mod+T | `kitty` (terminal) | +| Mod+B | `firefox` (browser) | +| Super+Alt+L | `swaylock` (screen locker) | + +(Mod = Super on TTY, Alt on winit window.) + +## Key tools + +- **niri** — Wayland compositor. Runtime queries: `niri msg outputs`, `niri msg action `. +- **DMS** — external config manager that re-generates auto files in `dms/`. +- **Audio:** PipeWire + WirePlumber (`wpctl`). **Media keys:** `playerctl` (MPRIS). **Brightness:** `brightnessctl`. + +## Conventions + +- Do not edit auto-generated DMS files. Edit `config.kdl`, `dms/outputs.kdl`, `dms/binds.kdl`, or `dms/windowrules.kdl` instead. +- After config changes, restart niri or use `niri msg` to apply per-action. + +## 项目规定 + +- 使用中文交流。 +- 构建完毕后,按功能将修改拆分提交(一次提交只对应一个目的)。 +- 远程仓库:`git@git.sugarsource.club:Akn/nirion.git`,提交完后执行 `git push`。