You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,7 @@ If you are an AI assistant (Cursor, Claude Code, etc.), you MUST adhere to the f
13
13
## 2. Privilege Escalation
14
14
- On **Linux**, when running commands that require root or administrator privileges, **ALWAYS use `pkexec` instead of `sudo`**. The user cannot type their password in the IDE terminal, so a GUI prompt via `pkexec` is required.
15
15
- On **macOS**, `pkexec` does not exist, so you may use standard `sudo` (or `osascript`) as macOS handles terminal authentication differently.
16
+
-**Selective Phase Execution**: When running the setup scripts (`run_once_setup_fedora.sh`), avoid running blindly with `AUTO_YES=1` in the background if root authorizations are required. Instead, run interactively and selectively authorize only the phases that contain the modified files (e.g. Phase 2 for general/flatpak package updates) while declining others (like Phase 1/Phase 3) to minimize prompt overhead and privilege escalation failures.
16
17
17
18
## 3. Scripting & Code Quality
18
19
-**Idempotency**: All bash scripts (like `bootstrap.sh`) must be safely repeatable. Always check if a command or directory exists before trying to install it.
@@ -55,3 +56,17 @@ To achieve a macOS-like modifier experience on PC keyboard hardware, the followi
55
56
## 9. KDE Plasma Style Theme Management
56
57
- Plasma panel theme styles (Breeze Light/Dark) are separate from standard window color schemes and are saved in `plasmarc`.
57
58
- Because Chezmoi template deployment completely overwrites `plasmarc` (often wiping out the `[Theme]` group), you must use the `run_after_setup_plasma.sh` hook. This script reads the active `kdeglobals` color scheme and dynamically re-writes the matching Plasma style (`breeze-light` or `breeze-dark`) back into `plasmarc` to guarantee the panel colors stay in sync after every apply.
59
+
60
+
## 10. Flatpak Applications, Settings & Overrides
61
+
-**Permission Overrides**: Custom Flatpak permission overrides (such as browser integrations, global menus, or GTK theme access for apps like Todoist) MUST be tracked under `dot_local/share/flatpak/overrides/` to maintain desktop consistency.
62
+
-**EasyEffects Syncing**: Because EasyEffects is a Flatpak, it sandboxes its configs. Its data directories (`~/.var/app/com.github.wwmm.easyeffects/data/easyeffects` and `~/.var/app/com.github.wwmm.easyeffects/config/easyeffects`) MUST be symlinked to the central, chezmoi-tracked `~/.config/easyeffects` folder via setup scripts to ensure presets remain in sync.
63
+
64
+
## 11. KDE Panels, Greeters, and Settings
65
+
-**KDE Panels & Applets**: Do NOT track the dynamic `plasma-org.kde.plasma.desktop-appletsrc` file as it contains coordinate layouts and unique IDs that break across screens. Instead, panels must be configured programmatically using the KDE Desktop Scripting API via `scripts/setup_plasma_panels.js`.
66
+
-**kscreenlockerrc**: Static screen lock settings (disabling auto-lock, setting solid black background) are tracked directly as a private chezmoi file (`dot_config/private_kscreenlockerrc`).
67
+
-**SDDM Greeter Theme Sync**: Do NOT track `/etc/sddm.conf` directly. Instead, customize the login screen programmatically during bootstrapping by writing synchronized cursor/font settings to `/etc/sddm.conf.d/kde_settings.conf`.
68
+
69
+
## 12. Steam Client and Gaming Optimizations
70
+
-**Client Configuration**: Do NOT track Steam's `config.vdf` file directly as it contains personal credentials and active download history logs.
71
+
-**Download Speed Fixes**: Automatically write the HTTP2 and connection optimizations (`steam_dev.cfg`) to `~/.local/share/Steam/steam_dev.cfg` during bootstrapping.
72
+
-**Btrfs No-CoW**: Always disable Copy-on-Write (`chattr +C`) on Steam directories to prevent database fragmentation and gaming stutters.
0 commit comments