# 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`。