Files
dotfiles/AGENTS.md
s0wlz (Matthias Puchstein) a392bdc1fc docs: document external docs submodules and update ignore list
Document the external docs layout under dot_local/share/docs in AGENTS and
  GEMINI, and drop outdated references to the old hyprland/waybar wiki mirrors.
  Remove the ignore entries for the previous wiki paths from .chezmoiignore.

  hypr: switch hyprpaper template to wallpaper blocks

  Replace preload generation with explicit wallpaper blocks per monitor.

  waybar: always include custom/alhp module

  Remove the hostname guard so the module is present on all hosts.
2025-12-31 02:53:47 +01:00

73 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Repository Guidelines
## Project Structure & Module Organization
This is a chezmoi dotfiles source tree. Key paths:
- `dot_config/` maps to `~/.config/` (e.g., `dot_config/hypr/`, `dot_config/nvim/`, `dot_config/waybar/`).
- `dot_local/` maps to `~/.local/` (app data, scripts, etc.).
- `dot_profile.tmpl` renders to `~/.profile`.
- `.chezmoiscripts/` contains chezmoi hooks (e.g., `run_onchange_*` scripts).
- Host-specific variants use `##hostname.<name>` (e.g., `hyprpaper.conf##hostname.owlenlap01`).
## Documentation
- Docs live under `dot_local/share/docs/` as git submodules and use the `external_` attribute so chezmoi does not interpret their contents.
- `dot_local/share/docs/external_chezmoi-docs` (sparse checkout `assets/chezmoi.io`) renders to `~/.local/share/docs/chezmoi-docs`.
- `dot_local/share/docs/external_hyprland.wiki` (sparse checkout `content`) renders to `~/.local/share/docs/hyprland.wiki`.
- `dot_local/share/docs/external_waybar.wiki` renders to `~/.local/share/docs/waybar.wiki`.
- Waybar manual pages are not stored in the repo; use `man 5 waybar` and `man 5 waybar-<module>` for module docs.
## Chezmoi Config (chezmoi.toml)
- Source of truth: `~/.config/chezmoi/chezmoi.toml` (not tracked here).
- Tag keys are stable across machines; templates must access them via `.chezmoi.config.data.tags.<tag>`.
- `microphone` is only present when `pipewire` is true; guard access with the tag.
- `data.monitors` is an array and the number of entries varies by machine.
- Reference structure (current machine):
```
[data]
tags = { desktop = true, laptop = false, hyprland = true, waybar = true, pipewire = true, dev = true, entertainment = true, cs2 = true, bluetooth = false }
microphone = "alsa_input.usb-DCMT_Technology_USB_Condenser_Microphone_214b206000000178-00.mono-fallback"
# --- Primary Monitor ---
[[data.monitors]]
name = "DP-1"
primary = true
width = 1920
height = 1080
refresh_rate = 60
position = "0x0"
scale = 1.0
workspaces = [1, 2, 3, 4, 5]
wallpaper = "/home/mpuchstein/Pictures/wallpaper/ki/1920x1080/rosepinesuccubus11.png"
# --- Secondary Monitor ---
[[data.monitors]]
name = "DP-2"
width = 1920
height = 1080
refresh_rate = 144
position = "1920x0"
scale = 1.0
vrr = 1
workspaces = [6, 7, 8, 9, 10]
wallpaper = "/home/mpuchstein/Pictures/wallpaper/ki/1920x1080/witch_autumn.png"
```
## Build, Test, and Development Commands
There is no build system; apply and verify changes with chezmoi:
- `chezmoi diff` preview pending changes.
- `chezmoi apply` render and apply to `$HOME`.
- `chezmoi status` show managed file status.
After applying, restart the affected app (e.g., reload Hyprland/Waybar) to validate.
## Coding Style & Naming Conventions
- Match the existing files formatting; dont reflow unrelated sections.
- Lua configs in `dot_config/nvim/` use 2space indents and include `dot_config/nvim/dot_stylua.toml` and `dot_config/nvim/selene.toml` for format/lint settings.
- Use chezmoi prefixes: `dot_` for dotfiles, `executable_` for executable files, `symlink_` for symlinks, `private_` for restrictedpermission files, and `.tmpl` for Go templates.
## Testing Guidelines
No automated tests are defined. Validate by:
- Running `chezmoi diff` and `chezmoi apply`.
- Smoketesting the specific tool you changed (e.g., open Neovim, restart Waybar, reload Hyprland).
## Commit & Pull Request Guidelines
This repository has no commits yet, so there is no established commit message convention. Use short, imperative subjects and include a scope when helpful (e.g., `hypr: adjust keybinds`). For PRs, include a clear summary, affected paths, and screenshots for visual/UI changes.