@sebastienrousseau/dotfiles 0.2.499 → 0.2.500

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/CHANGELOG.md +375 -0
  2. package/LICENSE +1283 -0
  3. package/README.md +284 -0
  4. package/docs/.vitepress/reports/localization-readability-audit.md +69 -0
  5. package/docs/AI.md +102 -0
  6. package/docs/COPYRIGHT +4 -3
  7. package/docs/NAMING_CONVENTIONS.md +95 -0
  8. package/docs/README.md +78 -0
  9. package/docs/adr/ADR-001-ci-cd-pipeline.md +101 -0
  10. package/docs/adr/ADR-002-shell-performance.md +121 -0
  11. package/docs/adr/ADR-003-security-first.md +140 -0
  12. package/docs/adr/ADR-004-cli-architecture.md +157 -0
  13. package/docs/adr/ADR-005-chezmoi-choice.md +89 -0
  14. package/docs/adr/ADR-006-shell-selection.md +115 -0
  15. package/docs/adr/ADR-007-multi-shell-parity.md +53 -0
  16. package/docs/adr/ADR-008-alias-system-architecture.md +85 -0
  17. package/docs/adr/README.md +32 -0
  18. package/docs/architecture/ARCHITECTURE.md +113 -0
  19. package/docs/architecture/INTEROP.md +36 -0
  20. package/docs/architecture/REPO_LAYOUT.md +237 -0
  21. package/docs/architecture/WALKTHROUGH.md +82 -0
  22. package/docs/architecture/fleet-deployment.md +73 -0
  23. package/docs/archive/EUXIS_2026_REVIEW.md +119 -0
  24. package/docs/archive/LEGACY_ROADMAP.md +142 -0
  25. package/docs/archive/MILESTONE_v0.2.493.md +43 -0
  26. package/docs/{PLAN.md → archive/PLAN.md} +4 -4
  27. package/docs/archive/REPO_AUDIT.md +23 -0
  28. package/docs/guides/INSTALL.md +140 -0
  29. package/docs/guides/NEOVIM_IDE_GUIDE.md +52 -0
  30. package/docs/guides/THEMING.md +222 -0
  31. package/docs/guides/TROUBLESHOOTING.md +148 -0
  32. package/docs/guides/WSL2_NIX_TROUBLESHOOTING.md +723 -0
  33. package/docs/index.md +39 -0
  34. package/docs/interop/A2A.md +32 -0
  35. package/docs/manual/00-introduction.md +85 -0
  36. package/docs/manual/01-concepts/01-architecture.md +134 -0
  37. package/docs/manual/01-concepts/02-trust-model.md +178 -0
  38. package/docs/manual/01-concepts/03-theme-engine.md +182 -0
  39. package/docs/manual/01-concepts/04-fleet.md +142 -0
  40. package/docs/manual/01-concepts/05-self-healing.md +197 -0
  41. package/docs/manual/02-tutorials/01-first-install.md +192 -0
  42. package/docs/manual/02-tutorials/02-add-wallpaper.md +211 -0
  43. package/docs/manual/02-tutorials/03-create-profile.md +238 -0
  44. package/docs/manual/02-tutorials/04-encrypt-secret.md +275 -0
  45. package/docs/manual/02-tutorials/05-deploy-fleet.md +279 -0
  46. package/docs/manual/03-reference/01-dot-cli.md +413 -0
  47. package/docs/manual/03-reference/02-config-files.md +259 -0
  48. package/docs/manual/03-reference/03-environment.md +120 -0
  49. package/docs/manual/03-reference/04-templates.md +184 -0
  50. package/docs/manual/03-reference/05-feature-flags.md +118 -0
  51. package/docs/manual/04-cookbook/01-recipes.md +281 -0
  52. package/docs/manual/04-cookbook/02-troubleshooting.md +319 -0
  53. package/docs/manual/04-cookbook/03-faq.md +167 -0
  54. package/docs/manual/05-appendices/A-platform-matrix.md +97 -0
  55. package/docs/manual/05-appendices/B-security-checklist.md +78 -0
  56. package/docs/manual/05-appendices/C-glossary.md +36 -0
  57. package/docs/manual/05-appendices/D-bibliography.md +54 -0
  58. package/docs/manual/05-appendices/E-license.md +34 -0
  59. package/docs/manual/_toc.yml +58 -0
  60. package/docs/manual/command-index.md +58 -0
  61. package/docs/manual/concept-index.md +164 -0
  62. package/docs/operations/ATTESTATION.md +39 -0
  63. package/docs/operations/MAINTENANCE.md +59 -0
  64. package/docs/operations/MIGRATION.md +101 -0
  65. package/docs/operations/OPERATIONS.md +164 -0
  66. package/docs/operations/RELIABILITY.md +116 -0
  67. package/docs/{ROADMAP.md → operations/ROADMAP.md} +22 -22
  68. package/docs/operations/TESTING.md +195 -0
  69. package/docs/operations/TRACEABILITY.md +31 -0
  70. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +61 -0
  71. package/docs/operations/VERSION_SYNC.md +344 -0
  72. package/docs/reference/ALIASES.md +124 -0
  73. package/docs/reference/ALIASES_CHEATSHEET.md +28 -0
  74. package/docs/reference/ALIASES_DEPRECATIONS.md +9 -0
  75. package/docs/reference/FEATURES.md +62 -0
  76. package/docs/reference/FONTS.md +108 -0
  77. package/docs/reference/PROFILES.md +65 -0
  78. package/docs/reference/SCREENSHOTS.md +117 -0
  79. package/docs/reference/SCRIPTS.md +67 -0
  80. package/docs/reference/SUPPORT_MATRIX.md +74 -0
  81. package/docs/reference/THEMES.md +113 -0
  82. package/docs/reference/TOOLS.md +105 -0
  83. package/docs/reference/UTILS.md +151 -0
  84. package/docs/security/AI_ACT_COMPLIANCE.md +90 -0
  85. package/docs/security/AUTOMATION_SECRETS.md +22 -0
  86. package/docs/security/COMPLIANCE.md +453 -0
  87. package/docs/security/ENCRYPTION.md +52 -0
  88. package/docs/security/FMEA.md +155 -0
  89. package/docs/security/INCIDENT_RESPONSE.md +575 -0
  90. package/docs/security/KEYS.md +45 -0
  91. package/docs/security/KEY_ROTATION.md +219 -0
  92. package/docs/security/MCP_POLICY.md +69 -0
  93. package/docs/security/POLICY_RELEASES.md +33 -0
  94. package/docs/security/README.md +24 -0
  95. package/docs/security/SECRETS.md +146 -0
  96. package/docs/security/SECURITY.md +41 -0
  97. package/docs/security/SECURITY_CHECKLIST.md +44 -0
  98. package/docs/security/SOUP_REGISTER.md +32 -0
  99. package/docs/security/THREAT_MODEL.md +120 -0
  100. package/docs/security/VERIFICATION_VALIDATION.md +224 -0
  101. package/docs/themes/README.md +6 -0
  102. package/docs/themes/VISUAL_INTEGRITY_REPORT.md +26 -0
  103. package/docs/themes/hero-shot.svg +78 -0
  104. package/dot_config/.module-manifest.json +69 -0
  105. package/dot_config/ai/identity.md +20 -0
  106. package/dot_config/ai/patterns/architect.md +14 -0
  107. package/dot_config/ai/patterns/hardener.md +13 -0
  108. package/dot_config/ai/patterns/refactor.md +13 -0
  109. package/dot_config/aider/aider.conf.yml +32 -0
  110. package/dot_config/alacritty/alacritty.toml.tmpl +55 -0
  111. package/dot_config/ansible/ansible.cfg +11 -0
  112. package/dot_config/atuin/config.toml +40 -0
  113. package/dot_config/bat/config +23 -0
  114. package/dot_config/brave-flags.conf.tmpl +7 -0
  115. package/dot_config/btop/btop.conf +16 -0
  116. package/dot_config/btop/themes/tokyonight.theme +34 -0
  117. package/dot_config/bun/bunfig.toml.tmpl +33 -0
  118. package/dot_config/claude/mcp_servers.json +20 -0
  119. package/dot_config/containers/containers.conf +14 -0
  120. package/dot_config/curl/dot_curlrc +18 -0
  121. package/dot_config/dlv/config.yml +39 -0
  122. package/dot_config/docker/config.json +15 -0
  123. package/dot_config/dotfiles/agent-card.json +29 -0
  124. package/dot_config/dotfiles/agent-profiles.json +92 -0
  125. package/dot_config/dotfiles/boot/README.md +11 -0
  126. package/dot_config/dotfiles/grub/README.md +11 -0
  127. package/dot_config/dotfiles/lock/README.md +11 -0
  128. package/dot_config/dotfiles/mcp-lock.json +33 -0
  129. package/dot_config/dotfiles/mcp-policy.json +52 -0
  130. package/dot_config/dotfiles/mcp-registry.json +47 -0
  131. package/dot_config/dotfiles/model-registry.json +20 -0
  132. package/dot_config/dotfiles/policy-bundles.json +38 -0
  133. package/dot_config/dotfiles/prompt-registry.json +16 -0
  134. package/dot_config/dotfiles/versions.env +18 -0
  135. package/dot_config/duf/duf.conf +6 -0
  136. package/dot_config/duti/defaults.duti +5 -0
  137. package/dot_config/emoji/emoji.txt +34 -0
  138. package/dot_config/environment.d/50-ssh-agent.conf +2 -0
  139. package/dot_config/environment.d/90-wayland.conf +19 -0
  140. package/dot_config/fastfetch/config.jsonc +28 -0
  141. package/dot_config/firefox/user.js.tmpl +58 -0
  142. package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +9 -0
  143. package/dot_config/fish/completions/dot.fish.tmpl +115 -0
  144. package/dot_config/fish/conf.d/000-perf-cache.fish +56 -0
  145. package/dot_config/fish/conf.d/aliases.fish.tmpl +77 -0
  146. package/dot_config/fish/conf.d/env.fish.tmpl +48 -0
  147. package/dot_config/fish/conf.d/functions.fish.tmpl +22 -0
  148. package/dot_config/fish/conf.d/init.fish.tmpl +151 -0
  149. package/dot_config/fish/config.fish.tmpl +44 -0
  150. package/dot_config/fish/fish_plugins +1 -0
  151. package/dot_config/fish/functions/_.fish +3 -0
  152. package/dot_config/fish/functions/_cached_eval.fish +58 -0
  153. package/dot_config/fish/functions/als.fish +46 -0
  154. package/dot_config/fish/functions/bg-upgrade.fish +7 -0
  155. package/dot_config/fish/functions/c.fish +3 -0
  156. package/dot_config/fish/functions/cat.fish +9 -0
  157. package/dot_config/fish/functions/d.fish +7 -0
  158. package/dot_config/fish/functions/dot.fish +34 -0
  159. package/dot_config/fish/functions/h.fish +3 -0
  160. package/dot_config/fish/functions/l.fish +7 -0
  161. package/dot_config/fish/functions/la.fish +7 -0
  162. package/dot_config/fish/functions/ll.fish +7 -0
  163. package/dot_config/fish/functions/log_error.fish +13 -0
  164. package/dot_config/fish/functions/log_info.fish +13 -0
  165. package/dot_config/fish/functions/lr.fish +7 -0
  166. package/dot_config/fish/functions/lra.fish +7 -0
  167. package/dot_config/fish/functions/ls.fish +7 -0
  168. package/dot_config/fish/functions/lt.fish +7 -0
  169. package/dot_config/fish/functions/lta.fish +7 -0
  170. package/dot_config/fish/functions/notify-run.fish +11 -0
  171. package/dot_config/fish/functions/q.fish +3 -0
  172. package/dot_config/fish/functions/silent-run.fish +7 -0
  173. package/dot_config/fish/functions/yy.fish +8 -0
  174. package/dot_config/flatpak/flatpak.list +4 -0
  175. package/dot_config/fontconfig/fonts.conf.tmpl +57 -0
  176. package/dot_config/foot/foot.ini.tmpl +33 -0
  177. package/dot_config/fuzzel/fuzzel.ini.tmpl +18 -0
  178. package/dot_config/fzf/fzf.zsh +48 -0
  179. package/dot_config/gem/gemrc +9 -0
  180. package/dot_config/gh/config.yml +12 -0
  181. package/dot_config/ghostty/config.tmpl +165 -0
  182. package/dot_config/git/allowed_signers.tmpl +18 -0
  183. package/dot_config/git/attributes +12 -0
  184. package/dot_config/git/commit-template +10 -0
  185. package/dot_config/git/ignore +27 -0
  186. package/dot_config/gnupg/gpg-agent.conf +11 -0
  187. package/dot_config/go/golangci.yml +118 -0
  188. package/dot_config/go/gopls.json +30 -0
  189. package/dot_config/goose/config.yaml +29 -0
  190. package/dot_config/gtk-3.0/gtk.css.tmpl +184 -0
  191. package/dot_config/gtk-3.0/settings.ini.tmpl +27 -0
  192. package/dot_config/gtk-4.0/gtk.css.tmpl +252 -0
  193. package/dot_config/gtk-4.0/settings.ini.tmpl +18 -0
  194. package/dot_config/htop/htoprc +20 -0
  195. package/dot_config/inputrc +2 -0
  196. package/dot_config/ipython/profile_default/ipython_config.py +19 -0
  197. package/dot_config/just/justfile +122 -0
  198. package/dot_config/k9s/config.yaml +65 -0
  199. package/dot_config/k9s/skins/catppuccin-mocha.yaml +116 -0
  200. package/dot_config/kanshi/config.tmpl +22 -0
  201. package/dot_config/karabiner/karabiner.json +14 -0
  202. package/dot_config/kitty/kitty.conf.tmpl +53 -0
  203. package/dot_config/lazydocker/config.yml +186 -0
  204. package/dot_config/lazygit/config.yml +35 -0
  205. package/dot_config/mako/config +47 -0
  206. package/dot_config/mas/masapps.txt +5 -0
  207. package/dot_config/micro/settings.json +3 -0
  208. package/dot_config/mimeapps.list +77 -0
  209. package/dot_config/minikube/config.json +13 -0
  210. package/dot_config/mise/config.toml +99 -0
  211. package/dot_config/mongosh/mongoshrc.js +68 -0
  212. package/dot_config/mpv/input.conf +47 -0
  213. package/dot_config/mpv/mpv.conf +47 -0
  214. package/dot_config/mycli/myclirc +67 -0
  215. package/dot_config/nano/nanorc +28 -0
  216. package/dot_config/ncdu/config +12 -0
  217. package/dot_config/niri/config.kdl.tmpl +327 -0
  218. package/dot_config/nushell/aliases.nu +18 -0
  219. package/dot_config/nushell/completions.nu.tmpl +52 -0
  220. package/dot_config/nushell/config.nu.tmpl +86 -0
  221. package/dot_config/nushell/env.nu.tmpl +94 -0
  222. package/dot_config/nushell/functions.nu.tmpl +17 -0
  223. package/dot_config/nvim/init.lua +18 -0
  224. package/dot_config/nvim/lazy-lock.json +58 -0
  225. package/dot_config/nvim/lua/config/autocmds.lua +107 -0
  226. package/dot_config/nvim/lua/config/keymaps.lua +92 -0
  227. package/dot_config/nvim/lua/config/lazy.lua +44 -0
  228. package/dot_config/nvim/lua/config/options.lua +49 -0
  229. package/dot_config/nvim/lua/plugins/ai.lua +75 -0
  230. package/dot_config/nvim/lua/plugins/coding.lua +216 -0
  231. package/dot_config/nvim/lua/plugins/completion.lua +60 -0
  232. package/dot_config/nvim/lua/plugins/dap.lua +412 -0
  233. package/dot_config/nvim/lua/plugins/editor.lua +55 -0
  234. package/dot_config/nvim/lua/plugins/git.lua +10 -0
  235. package/dot_config/nvim/lua/plugins/lsp.lua +156 -0
  236. package/dot_config/nvim/lua/plugins/markdown.lua +18 -0
  237. package/dot_config/nvim/lua/plugins/rust.lua +34 -0
  238. package/dot_config/nvim/lua/plugins/sessions.lua +33 -0
  239. package/dot_config/nvim/lua/plugins/ui.lua +509 -0
  240. package/dot_config/paru/paru.conf +10 -0
  241. package/dot_config/pip/pip.conf.tmpl +32 -0
  242. package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
  243. package/dot_config/pueue/pueue.yml +34 -0
  244. package/dot_config/pypoetry/config.toml +6 -0
  245. package/dot_config/pyrightconfig.json +5 -0
  246. package/dot_config/raycast/README.md +13 -0
  247. package/dot_config/redis/redisclirc +41 -0
  248. package/dot_config/ripgrep/ripgreprc +21 -0
  249. package/dot_config/shell/00-core-paths.sh.tmpl +133 -0
  250. package/dot_config/shell/05-core-safety.sh +47 -0
  251. package/dot_config/shell/10-secrets.sh +40 -0
  252. package/dot_config/shell/40-fzf-defaults.sh.tmpl +16 -0
  253. package/dot_config/shell/40-ls-colors.sh +48 -0
  254. package/dot_config/shell/50-logic-functions-core.sh.tmpl +10 -0
  255. package/dot_config/shell/50-logic-functions.sh.tmpl +10 -0
  256. package/dot_config/shell/51-logic-functions-extra.sh.tmpl +64 -0
  257. package/dot_config/shell/90-ux-aliases.sh.tmpl +120 -0
  258. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +54 -0
  259. package/dot_config/shell/Brewfile +207 -0
  260. package/dot_config/shell/Brewfile.cask +92 -0
  261. package/dot_config/shell/Brewfile.cli +127 -0
  262. package/dot_config/shell/README.md +267 -0
  263. package/dot_config/shell/als_data.txt.tmpl +65 -0
  264. package/dot_config/shell/custom/auto_ls.zsh +20 -0
  265. package/dot_config/shell/custom/context_suggest.zsh +68 -0
  266. package/dot_config/shell/custom/error_analysis.zsh +45 -0
  267. package/dot_config/sops/dot_sops.yaml +23 -0
  268. package/dot_config/starship.toml.tmpl +202 -0
  269. package/dot_config/swaylock/config +43 -0
  270. package/dot_config/systemd/user/dotfiles-maintenance.service +8 -0
  271. package/dot_config/systemd/user/dotfiles-maintenance.timer +11 -0
  272. package/dot_config/systemd/user/pueued.service +12 -0
  273. package/dot_config/systemd/user/ssh-agent.service +12 -0
  274. package/dot_config/task/Taskfile.yml +86 -0
  275. package/dot_config/tflint/tflint.hcl +9 -0
  276. package/dot_config/tmux/tmux.conf.tmpl +223 -0
  277. package/dot_config/topgrade.toml.tmpl +54 -0
  278. package/dot_config/user-dirs.dirs +9 -0
  279. package/dot_config/vscode/extensions.txt +11 -0
  280. package/dot_config/vscode/settings.json.tmpl +82 -0
  281. package/dot_config/waybar/config.jsonc.tmpl +90 -0
  282. package/dot_config/waybar/style.css.tmpl +211 -0
  283. package/dot_config/wezterm/wezterm.lua.tmpl +64 -0
  284. package/dot_config/wget/wgetrc +12 -0
  285. package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
  286. package/dot_config/yarn/yarnrc.yml +36 -0
  287. package/dot_config/yazi/keymap.toml +67 -0
  288. package/dot_config/yazi/theme.toml +102 -0
  289. package/dot_config/yazi/yazi.toml +40 -0
  290. package/dot_config/zathura/zathurarc +52 -0
  291. package/dot_config/zellij/config.kdl.tmpl +79 -0
  292. package/dot_config/zsh/dot_zprofile +7 -0
  293. package/dot_config/zsh/dot_zshenv +5 -0
  294. package/dot_config/zsh/dot_zshrc.tmpl +498 -0
  295. package/dot_config/zsh/rc.d/00-alias-shims.zsh +77 -0
  296. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +18 -0
  297. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +28 -0
  298. package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
  299. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +194 -0
  300. package/dot_config/zsh/rc.d/40-bell.zsh +20 -0
  301. package/dot_config/zsh/rc.d/50-login-fortune.zsh +9 -0
  302. package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +32 -0
  303. package/dot_local/bin/__pycache__/executable_dot-load-benchmark-ptycpython-312.pyc +0 -0
  304. package/dot_local/bin/executable_ai-update +195 -0
  305. package/dot_local/bin/executable_ai_core +152 -0
  306. package/dot_local/bin/executable_antigravity +11 -0
  307. package/dot_local/bin/executable_b64 +84 -0
  308. package/dot_local/bin/executable_bm +77 -0
  309. package/dot_local/bin/executable_cb +39 -0
  310. package/dot_local/bin/executable_dot +589 -0
  311. package/dot_local/bin/executable_dot-ai +36 -0
  312. package/dot_local/bin/executable_dot-bootstrap +77 -0
  313. package/dot_local/bin/executable_dot-launch-or-focus +52 -0
  314. package/dot_local/bin/executable_dot-load-benchmark +31 -0
  315. package/dot_local/bin/executable_dot-load-benchmark-pty +77 -0
  316. package/dot_local/bin/executable_dot-theme-sync +952 -0
  317. package/dot_local/bin/executable_dot_completion +57 -0
  318. package/dot_local/bin/executable_dtags +28 -0
  319. package/dot_local/bin/executable_epoch +67 -0
  320. package/dot_local/bin/executable_extract +41 -0
  321. package/dot_local/bin/executable_gbd +52 -0
  322. package/dot_local/bin/executable_gd +42 -0
  323. package/dot_local/bin/executable_git-ai-commit +175 -0
  324. package/dot_local/bin/executable_git-ai-diff +169 -0
  325. package/dot_local/bin/executable_gl +101 -0
  326. package/dot_local/bin/executable_hash +161 -0
  327. package/dot_local/bin/executable_hashsum +160 -0
  328. package/dot_local/bin/executable_hex +115 -0
  329. package/dot_local/bin/executable_jsonv +78 -0
  330. package/dot_local/bin/executable_jwt +94 -0
  331. package/dot_local/bin/executable_kill-port +75 -0
  332. package/dot_local/bin/executable_lorem +118 -0
  333. package/dot_local/bin/executable_mkscript +35 -0
  334. package/dot_local/bin/executable_monitor +56 -0
  335. package/dot_local/bin/executable_myip +51 -0
  336. package/dot_local/bin/executable_notify +22 -0
  337. package/dot_local/bin/executable_open +36 -0
  338. package/dot_local/bin/executable_pw +27 -0
  339. package/dot_local/bin/executable_rec-start +46 -0
  340. package/dot_local/bin/executable_rec-stop +35 -0
  341. package/dot_local/bin/executable_regex +132 -0
  342. package/dot_local/bin/executable_start-niri +8 -0
  343. package/dot_local/bin/executable_tmux-sessionizer +314 -0
  344. package/dot_local/bin/executable_tour +175 -0
  345. package/dot_local/bin/executable_up +21 -0
  346. package/dot_local/bin/executable_update +142 -0
  347. package/dot_local/bin/executable_uuid +87 -0
  348. package/dot_local/bin/executable_win +32 -0
  349. package/dot_local/bin/executable_yamlv +57 -0
  350. package/dot_local/share/bash-completion/completions/dot +72 -0
  351. package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
  352. package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
  353. package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
  354. package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
  355. package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
  356. package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
  357. package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
  358. package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
  359. package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
  360. package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
  361. package/dot_local/share/man/man1/dot.1 +149 -0
  362. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +64 -0
  363. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +18 -0
  364. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +13 -0
  365. package/dot_local/share/wayland-sessions/niri.desktop.tmpl +6 -0
  366. package/dot_local/share/zsh/completions/.keep +0 -0
  367. package/dot_local/share/zsh/completions/_dot +283 -0
  368. package/install.sh +342 -0
  369. package/package.json +1 -1
  370. package/scripts/ci/check-copyright-headers.sh +96 -0
  371. package/scripts/ci/guard-gitleaks-checkout.sh +57 -0
  372. package/scripts/ci/install-chezmoi-verified.sh +64 -0
  373. package/scripts/ci/validate-ci-config.sh +224 -0
  374. package/scripts/demo/record.sh +42 -0
  375. package/scripts/diagnostics/a2a-conformance.sh +162 -0
  376. package/scripts/diagnostics/alias-governance.sh +137 -0
  377. package/scripts/diagnostics/aliases-cheatsheet.sh +73 -0
  378. package/scripts/diagnostics/aliases-manifest.sh +31 -0
  379. package/scripts/diagnostics/benchmark.sh +381 -0
  380. package/scripts/diagnostics/conflicts.sh +72 -0
  381. package/scripts/diagnostics/doctor-unified.sh +38 -0
  382. package/scripts/diagnostics/doctor.sh +541 -0
  383. package/scripts/diagnostics/drift-dashboard.sh +37 -0
  384. package/scripts/diagnostics/health.sh +597 -0
  385. package/scripts/diagnostics/history-analysis.sh +85 -0
  386. package/scripts/diagnostics/mcp-doctor.sh +575 -0
  387. package/scripts/diagnostics/perf.sh +225 -0
  388. package/scripts/diagnostics/scorecard.sh +118 -0
  389. package/scripts/diagnostics/secret-governance.sh +58 -0
  390. package/scripts/diagnostics/security-score.sh +438 -0
  391. package/scripts/diagnostics/smoke-test.sh +87 -0
  392. package/scripts/diagnostics/snapshot.sh +89 -0
  393. package/scripts/diagnostics/verify.sh +107 -0
  394. package/scripts/{verify_state.sh → diagnostics/verify_state.sh} +22 -22
  395. package/scripts/diagnostics/version-locks.sh +79 -0
  396. package/scripts/diagnostics/workstation-attestation.sh +181 -0
  397. package/scripts/docs/build-manual.sh +883 -0
  398. package/scripts/docs/check-manual.sh +213 -0
  399. package/scripts/dot/commands/agent.sh +465 -0
  400. package/scripts/dot/commands/ai.sh +416 -0
  401. package/scripts/dot/commands/aliases.sh +250 -0
  402. package/scripts/dot/commands/appearance.sh +80 -0
  403. package/scripts/dot/commands/core.sh +185 -0
  404. package/scripts/dot/commands/diagnostics.sh +229 -0
  405. package/scripts/dot/commands/fleet.sh +399 -0
  406. package/scripts/dot/commands/lint.sh +177 -0
  407. package/scripts/dot/commands/manual.sh +168 -0
  408. package/scripts/dot/commands/meta.sh +248 -0
  409. package/scripts/dot/commands/patterns.sh +54 -0
  410. package/scripts/dot/commands/restore.sh +231 -0
  411. package/scripts/dot/commands/secrets.sh +223 -0
  412. package/scripts/dot/commands/security.sh +76 -0
  413. package/scripts/dot/commands/tools.sh +469 -0
  414. package/scripts/dot/data/alias-deprecations.tsv +2 -0
  415. package/scripts/dot/lib/bento.sh +49 -0
  416. package/scripts/dot/lib/log.sh +194 -0
  417. package/scripts/dot/lib/platform.sh +98 -0
  418. package/scripts/dot/lib/ui.sh +507 -0
  419. package/scripts/dot/lib/utils.sh +372 -0
  420. package/scripts/fonts/install-nerd-fonts.sh +68 -0
  421. package/scripts/fonts/patch-fonts.sh +35 -0
  422. package/scripts/git-hooks/install.sh +11 -0
  423. package/scripts/git-hooks/pre-commit +12 -0
  424. package/scripts/git-hooks/pre-commit-audit.sh +145 -0
  425. package/scripts/git-hooks/pre-push +29 -0
  426. package/scripts/git-hooks/prepare-commit-msg +29 -0
  427. package/scripts/lib/secrets_provider.sh +158 -0
  428. package/scripts/maintenance/check-updates.sh +131 -0
  429. package/scripts/ops/ai-setup.sh +55 -0
  430. package/scripts/ops/bundle.sh +77 -0
  431. package/scripts/ops/chaos.sh +49 -0
  432. package/scripts/ops/chezmoi-apply.sh +270 -0
  433. package/scripts/ops/chezmoi-diff.sh +15 -0
  434. package/scripts/ops/chezmoi-remove.sh +45 -0
  435. package/scripts/ops/chezmoi-update.sh +48 -0
  436. package/scripts/ops/heal-chezmoi.sh +51 -0
  437. package/scripts/ops/heal-system.sh +128 -0
  438. package/scripts/ops/heal-tools.sh +340 -0
  439. package/scripts/ops/heal.sh +222 -0
  440. package/scripts/ops/post-apply-repair.sh +106 -0
  441. package/scripts/ops/prewarm.sh +127 -0
  442. package/scripts/ops/release.sh +252 -0
  443. package/scripts/ops/rollback.sh +589 -0
  444. package/scripts/ops/setup.sh +137 -0
  445. package/scripts/ops/teleport.sh +33 -0
  446. package/scripts/qa/coverage-baseline.sh +60 -0
  447. package/scripts/qa/docs-coverage.sh +111 -0
  448. package/scripts/qa/reliability-audit.sh +138 -0
  449. package/scripts/qa/traceability-coverage.sh +116 -0
  450. package/scripts/qa/validate-examples.sh +26 -0
  451. package/scripts/qa/wsl-contract.sh +11 -0
  452. package/scripts/release/package-policy-bundles.sh +125 -0
  453. package/scripts/secrets/age-init.sh +70 -0
  454. package/scripts/secrets/create-secrets-file.sh +45 -0
  455. package/scripts/secrets/encrypt-ssh-key.sh +43 -0
  456. package/scripts/security/backup.sh +57 -0
  457. package/scripts/security/dns-doh.sh +51 -0
  458. package/scripts/security/encryption-check.sh +54 -0
  459. package/scripts/security/enforce-policies.sh +334 -0
  460. package/scripts/security/firewall.sh +90 -0
  461. package/scripts/security/lock-configs.sh +57 -0
  462. package/scripts/security/lock-screen.sh +55 -0
  463. package/scripts/security/manage-secrets.sh +428 -0
  464. package/scripts/security/ssh-cert.sh +203 -0
  465. package/scripts/security/telemetry-kill.sh +50 -0
  466. package/scripts/security/usb-safety.sh +51 -0
  467. package/scripts/theme/apply-gnome-theme.sh +328 -0
  468. package/scripts/theme/extract-theme.py +677 -0
  469. package/scripts/theme/install-boot-logo.sh +62 -0
  470. package/scripts/theme/install-catppuccin-themes.sh +370 -0
  471. package/scripts/theme/install-cursors.sh +25 -0
  472. package/scripts/theme/install-file-icons.sh +26 -0
  473. package/scripts/theme/install-grub-theme.sh +61 -0
  474. package/scripts/theme/install-lock-icon.sh +30 -0
  475. package/scripts/theme/merge-wallpaper.sh +141 -0
  476. package/scripts/theme/rebuild-themes.sh +309 -0
  477. package/scripts/theme/switch.sh +421 -0
  478. package/scripts/theme/wallpaper-rotate.sh +136 -0
  479. package/scripts/theme/wallpaper-sync.sh +397 -0
  480. package/scripts/tools/cmatrix.sh +21 -0
  481. package/scripts/{detect-collisions.py → tools/detect-collisions.py} +2 -2
  482. package/scripts/tools/emoji-picker.sh +48 -0
  483. package/scripts/tools/figlet-banner.sh +18 -0
  484. package/scripts/tools/log-rotate.sh +30 -0
  485. package/scripts/tools/lolcat-wrap.sh +19 -0
  486. package/scripts/tools/pipes.sh +48 -0
  487. package/scripts/tuning/linux.sh +185 -0
  488. package/scripts/tuning/macos.sh +55 -0
  489. package/scripts/uninstall.sh +85 -0
  490. package/scripts/version-sync.sh +487 -0
  491. package/templates/chezmoi-data/geekom-a9.toml.example +21 -0
  492. package/templates/chezmoi-data/mac-m1.toml.example +16 -0
  493. package/templates/chezmoi-data/mac-t2-linux.toml.example +21 -0
  494. package/templates/chezmoi-data/surface-pro-7p.toml.example +21 -0
  495. package/templates/projects/go/.github/workflows/ci.yml +31 -0
  496. package/templates/projects/go/README.md +4 -0
  497. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +1 -0
  498. package/templates/projects/go/go.sum +0 -0
  499. package/templates/projects/molecule/README.md +7 -0
  500. package/templates/projects/molecule/converge.yml +7 -0
  501. package/templates/projects/molecule/molecule.yml +16 -0
  502. package/templates/projects/node/.github/workflows/ci.yml +30 -0
  503. package/templates/projects/node/README.md +4 -0
  504. package/templates/projects/node/package-lock.json +12 -0
  505. package/templates/projects/node/src/index.js +1 -0
  506. package/templates/projects/packer/README.md +15 -0
  507. package/templates/projects/packer/main.pkr.hcl +15 -0
  508. package/templates/projects/python/.github/workflows/ci.yml +34 -0
  509. package/templates/projects/python/README.md +4 -0
  510. package/templates/projects/python/pyproject.toml +15 -0
  511. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
  512. package/templates/projects/python/tests/test_basic.py +1 -0
  513. package/docs/ARCHITECTURE.md +0 -62
  514. package/docs/COMPLIANCE.md +0 -47
  515. package/docs/OPERATIONS.md +0 -103
  516. package/docs/PR_DESCRIPTION.md +0 -150
  517. package/docs/ROADMAP_legacy.md +0 -556
  518. package/docs/SECURITY_CHECKLIST.md +0 -25
  519. package/docs/TASK.md +0 -99
  520. package/docs/WALKTHROUGH.md +0 -46
  521. package/scripts/backup.sh +0 -142
  522. package/scripts/banner.sh +0 -20
  523. package/scripts/benchmark.sh +0 -20
  524. package/scripts/build.sh +0 -41
  525. package/scripts/clean.sh +0 -31
  526. package/scripts/compile.sh +0 -54
  527. package/scripts/copy.sh +0 -108
  528. package/scripts/doctor.sh +0 -79
  529. package/scripts/dotfiles.sh +0 -63
  530. package/scripts/download.sh +0 -35
  531. package/scripts/help.sh +0 -57
  532. package/scripts/lock-configs.sh +0 -57
  533. package/scripts/package.sh +0 -46
  534. package/scripts/ssh.sh +0 -55
  535. package/scripts/teleport.sh +0 -23
  536. package/scripts/test-aliases.sh +0 -25
  537. package/scripts/test_smoke.sh +0 -88
  538. package/scripts/unpack.sh +0 -28
@@ -0,0 +1,237 @@
1
+ <!-- Copyright (c) 2015-2026 Dotfiles. All rights reserved. -->
2
+
3
+ # Repository Layout
4
+
5
+ A map of every top-level folder and file in this repo, grouped by purpose.
6
+ Use this when you're not sure where something belongs or why a particular
7
+ directory exists.
8
+
9
+ For naming conventions (file prefixes, run-script numbering tiers), see
10
+ [`../NAMING_CONVENTIONS.md`](../NAMING_CONVENTIONS.md). For the broader
11
+ architectural rationale (philosophy, startup model, flake strategy), see
12
+ [`ARCHITECTURE.md`](ARCHITECTURE.md). For the configuration-management
13
+ strategy at a higher level, see [`../../CONFIG_STRATEGY.md`](../../CONFIG_STRATEGY.md).
14
+
15
+ ---
16
+
17
+ ## 1. Chezmoi source tree — the actual dotfiles
18
+
19
+ Chezmoi reads this directory and deploys to `$HOME`. Filename **prefixes**
20
+ carry semantics:
21
+
22
+ | Prefix | Effect | Example |
23
+ |------------------|---------------------------------------------|----------------------------------------------------|
24
+ | `dot_` | Deployed with a leading `.` | `dot_gitconfig.tmpl` → `~/.gitconfig` |
25
+ | `private_` | Sets `0600` perms on deploy | `private_dot_ssh/` → `~/.ssh/` |
26
+ | `executable_` | Sets `+x` on deploy | `executable_dot` → `~/.local/bin/dot` |
27
+ | `run_onchange_` | Runs once when its content hash changes | `run_onchange_20-ghostty-config.sh.tmpl` |
28
+ | `.tmpl` | Rendered as a Go template at apply time | `dot_npmrc.tmpl` |
29
+
30
+ > **Gotcha:** `executable_dot_foo` deploys as `.foo` (not `dot_foo`). Chezmoi
31
+ > consumes the `dot_` prefix even when stacked with `executable_`.
32
+
33
+ ### Chezmoi data and templates
34
+
35
+ | Path | Role |
36
+ |-----------------------------|----------------------------------------------------------------------------------------------|
37
+ | `.chezmoi.toml.tmpl` | Init-time prompts (name, email, signing key). |
38
+ | `.chezmoidata.toml` | **Source of truth** for version, profile, default theme, shell, feature flags. |
39
+ | `.chezmoidata/` | Split data files: `themes.toml`, `keybinds.toml`, `hardware.toml`. |
40
+ | `.chezmoiignore.tmpl` | Feature-flag-gated "don't deploy these to `$HOME`" list. |
41
+ | `.chezmoitemplates/` | Reusable template partials (`aliases/`, `functions/`, `paths/`, `desktop/`). Not deployed. |
42
+
43
+ ### Shell rc files (root level)
44
+
45
+ | Path | Target | Purpose |
46
+ |---|---|---|
47
+ | `dot_bashrc`, `dot_profile` | `~/.bashrc`, `~/.profile` | Bash startup |
48
+ | `dot_zshenv`, `dot_zprofile`, `dot_zshrc` | `~/.zshenv` etc. | Zsh startup chain (see [`ARCHITECTURE.md`](ARCHITECTURE.md) for order) |
49
+ | `dot_vimrc`, `dot_inputrc`, `dot_psqlrc`, `dot_sqliterc`, `dot_Xresources` | `~/.*` | Classic per-tool dotfiles |
50
+ | `dot_gitconfig.tmpl`, `dot_npmrc.tmpl` | `~/.gitconfig`, `~/.npmrc` | Templated — identity/tokens injected at apply |
51
+ | `dot_cargo/config.toml.tmpl` | `~/.cargo/config.toml` | Rust build dirs redirected to `/tmp` |
52
+ | `dot_fdignore`, `dot_noderc`, `dot_rustfmt.toml` | `~/.*` | Per-tool config |
53
+ | `private_dot_netrc.tmpl`, `private_dot_ssh/` | `~/.netrc`, `~/.ssh/` | 0600 files |
54
+
55
+ ### Large chezmoi directories
56
+
57
+ | Path | Target | Notes |
58
+ |---------------|-------------------|----------------------------------------------------------------------------------------------|
59
+ | `dot_config/` | `~/.config/` | **Largest** — fish, zsh, nvim, ghostty, tmux, niri, mise, and ~90 other app configs. |
60
+ | `dot_local/bin/` | `~/.local/bin/` | Every `dot-*` subcommand and helper script (the `dot` CLI lives here). |
61
+ | `dot_local/share/` | `~/.local/share/` | Fonts and shared data. |
62
+ | `dot_etc/opt/chrome/policies/` | `~/etc/opt/chrome/policies/` | Managed Chrome enterprise policies. |
63
+
64
+ ### `run_onchange_*` hooks at the root
65
+
66
+ Scripts triggered when their content changes. Numbering follows the
67
+ convention in [`../NAMING_CONVENTIONS.md`](../NAMING_CONVENTIONS.md):
68
+
69
+ - `run_onchange_20-ghostty-config.sh.tmpl` — re-renders Ghostty config
70
+ - `run_onchange_21-topgrade-config.sh.tmpl` — refreshes topgrade config
71
+ - `run_onchange_after_fonts.sh` — post-deploy font cache refresh
72
+
73
+ ---
74
+
75
+ ## 2. AI-assistant files — **three** files, three distinct roles
76
+
77
+ This is the most common source of confusion in the repo. All three files
78
+ exist on purpose and don't overlap:
79
+
80
+ | File | Deployed to | Audience | Scope |
81
+ |-------------------------------|-----------------------|------------------------------------------------------------------|-------------------------------|
82
+ | `dot_claude/CLAUDE.md` | `~/.claude/CLAUDE.md` | Claude Code, in **any** cwd on this machine | Personal, cross-project |
83
+ | `CLAUDE.md` (repo root) | Not deployed | Claude Code, when cwd is **this** repo | Repo-scoped guidance |
84
+ | `OPENCODE.md` (repo root) | Not deployed | OpenCode CLI, when cwd is **this** repo | Repo-scoped guidance (mirror) |
85
+ | `.claude/settings.local.json` | Not deployed, **not tracked** | Claude Code | Per-machine permission allowlist |
86
+
87
+ Each of the three tracked files carries a header comment explaining its
88
+ role to prevent drift. Keep that header in place when editing.
89
+
90
+ ---
91
+
92
+ ## 3. Agent-protocol surface
93
+
94
+ Standards-compliant discovery endpoints that let external agents and tools
95
+ find this workstation's agent capabilities:
96
+
97
+ | Path | Purpose |
98
+ |-------------------------------------|-----------------------------------------------------------------------------|
99
+ | `.well-known/agent-card.json` | A2A v0.3 agent card — skills, capabilities, URL |
100
+ | `.well-known/agent.json` | Legacy pointer card, kept for back-compat |
101
+ | `.well-known/mcp/server-card.json` | MCP server discovery manifest |
102
+
103
+ ---
104
+
105
+ ## 4. CI/CD and repo metadata
106
+
107
+ | Path | Purpose |
108
+ |------------------------------------------------------------------|----------------------------------------------------------------|
109
+ | `.github/workflows/` | 20+ workflows: `ci.yml`, `ci-enforced.yml`, reusable lints, release pipelines |
110
+ | `.github/workflows/reusable-*.yml` | Shared workflow fragments (`shell-lint`, `lua-lint`, `nix-lint`, `copyright-lint`, `test-suite`, `secrets-scan`, `security-baseline`) |
111
+ | `.github/ISSUE_TEMPLATE/`, `PULL_REQUEST_TEMPLATE.md`, `CODEOWNERS`, `SECURITY.md`, `CONTRIBUTING.md`, `CODE-OF-CONDUCT.md`, `FUNDING.yml` | Standard GitHub metadata |
112
+ | `.github/security-policies/` | Org-level security policy files |
113
+ | `.github/branch-protection-config.json`, `BRANCH_PROTECTION.md` | Codified branch-protection settings |
114
+ | `.github/dependabot.yml` | Dependency bump schedule |
115
+ | `.devcontainer/` | GitHub Codespaces + VS Code dev container |
116
+ | `Dockerfile.test`, `tests/Dockerfile.sandbox` | Ubuntu sandboxes for integration / e2e tests |
117
+
118
+ ---
119
+
120
+ ## 5. Build, bootstrap, and dev tooling
121
+
122
+ | Path | Purpose |
123
+ |-----------------------------------------|--------------------------------------------------------------------------------|
124
+ | `install.sh` | Top-level one-liner installer |
125
+ | `install/provision/`, `install/lib/` | Platform-specific install helpers invoked by `install.sh` |
126
+ | `Makefile`, `Justfile.tmpl`, `treefmt.toml` | Convenience runners |
127
+ | `mise.toml`, `mise-versions.lock.json` | Mise toolchain versions (locked) |
128
+ | `flake.nix`, `flake.lock` (root) | Root Nix flake for `direnv` + repo dev shell |
129
+ | `nix/flake.nix`, `nix/home.nix` | Separate flake for Home Manager activation (used by `dot upgrade` and `ci-enforced.yml → lint-nix`) |
130
+ | `lib/wasm-tools/` | Vendored WebAssembly tooling (build output gitignored) |
131
+ | `.envrc` | `direnv` hook into the root flake |
132
+
133
+ ---
134
+
135
+ ## 6. Scripts (`scripts/`) — repo-local, never deployed
136
+
137
+ Nothing under `scripts/` ends up in `$HOME`. It's all tooling for running
138
+ the repo itself.
139
+
140
+ | Subdir | Purpose |
141
+ |-------------------------------------------|-----------------------------------------------------------------|
142
+ | `scripts/ci/` | CI helpers (`check-copyright-headers.sh`, `install-chezmoi-verified.sh`, `validate-ci-config.sh`) |
143
+ | `scripts/dot/commands/` | Subcommand implementations for the `dot` CLI |
144
+ | `scripts/docs/` | Manual build pipeline (`build-manual.sh`, `check-manual.sh`) |
145
+ | `scripts/theme/` | K-Means CIELAB theme engine + HEIC merge/convert |
146
+ | `scripts/ops/`, `scripts/maintenance/`, `scripts/release/` | Operator tooling |
147
+ | `scripts/diagnostics/`, `scripts/qa/`, `scripts/security/`, `scripts/secrets/` | Domain-scoped scripts |
148
+ | `scripts/fonts/`, `scripts/demo/`, `scripts/git-hooks/`, `scripts/tools/`, `scripts/tuning/`, `scripts/lib/` | Supporting scripts |
149
+ | `scripts/uninstall.sh`, `scripts/version-sync.sh` | Top-level ops entrypoints |
150
+
151
+ ---
152
+
153
+ ## 7. Documentation (`docs/`)
154
+
155
+ | Path | Purpose |
156
+ |---------------------------------------|----------------------------------------------------------------------------|
157
+ | `docs/manual/` | 26-page GNU-Stow-style reference manual (the v0.2.500 feature) |
158
+ | `docs/architecture/` | This file + core architecture docs (ARCHITECTURE, INTEROP, fleet, walkthrough) |
159
+ | `docs/operations/` | Runbooks, traceability matrix, migration notes |
160
+ | `docs/reference/` | Command/config reference material |
161
+ | `docs/guides/` | Long-form how-tos |
162
+ | `docs/security/` | Threat model, disclosure policy, audit records |
163
+ | `docs/adr/` | Architecture Decision Records |
164
+ | `docs/themes/` | Theme catalogue / screenshots |
165
+ | `docs/interop/` | Agent/MCP interop notes |
166
+ | `docs/archive/` | Superseded docs kept for history |
167
+ | `docs/NAMING_CONVENTIONS.md` | Naming bible (file prefixes, run-script numbering tiers) |
168
+ | `docs/index.md`, `docs/README.md`, `docs/AI.md`, `docs/COPYRIGHT` | Entry points |
169
+
170
+ ---
171
+
172
+ ## 8. Tests (`tests/`)
173
+
174
+ | Path | Purpose |
175
+ |-------------------------------------------|--------------------------------------------------------------------------------------------|
176
+ | `tests/framework/` | `test_runner.sh`, `assertions.sh`, `mocks.sh` — the custom shell-test framework |
177
+ | `tests/unit/` | Unit tests organised by domain: `aliases/`, `ci/`, `docs/`, `dot-cli/`, `fish/`, `functions/`, `install/`, `nvim/`, `ops/`, `secrets/`, `security/`, `shell/`, `theme/`, `tools/`, `diagnostics/`, `misc/`, `nushell/` |
178
+ | `tests/integration/` | End-to-end install and apply flows |
179
+ | `tests/regression/` | Guardrail tests for previously-broken behaviours |
180
+ | `tests/performance/` | `benchmark_runner.sh` and friends |
181
+ | `tests/benchmark.sh`, `tests/test-aliases.sh`, `tests/test-docker.sh` | Top-level entrypoints |
182
+ | `tests/Dockerfile.sandbox` | Fresh-Ubuntu sandbox image for integration tests |
183
+
184
+ Tests execute shell source files directly — **do not** use Go template
185
+ syntax in non-`.tmpl` files, or the test framework will choke on the curly
186
+ braces.
187
+
188
+ ---
189
+
190
+ ## 9. Other top-level
191
+
192
+ | Path | Purpose |
193
+ |-------------------------------------------|------------------------------------------------------------------------------|
194
+ | `config/` | Repo-local tool configs: `cliff.toml` (changelog), `gitleaks.toml`, `pre-commit-config.yaml`, `stylua.toml`, `trivyignore` |
195
+ | `templates/chezmoi-data/`, `templates/projects/` | Starter scaffolding for new machines / new projects |
196
+ | `examples/` | 14 standalone demo scripts used by the manual and tutorials |
197
+ | `CHANGELOG.md`, `LICENSE`, `README.md` | Standard |
198
+ | `CONFIG_STRATEGY.md` | High-level "how configuration management works here" overview |
199
+ | `.gitattributes`, `.gitignore`, `.gitleaksignore`, `.editorconfig`, `.secrets.baseline`, `.sops.yaml`, `.luacheckrc` | Repo-level tool configs |
200
+ | `.pre-commit-config.yaml` → `config/pre-commit-config.yaml` | Symlink so `pre-commit` finds the canonical config |
201
+
202
+ ---
203
+
204
+ ## 10. Local-only artefacts (gitignored — if you see them, don't commit them)
205
+
206
+ The following paths can appear during local work but are excluded from
207
+ version control. If one of them ever shows up in `git status`, check the
208
+ `.gitignore` entry rather than adding the file:
209
+
210
+ | Path | Source |
211
+ |--------------------------|------------------------------------------------------------------------------|
212
+ | `_build/` | Output of `scripts/docs/build-manual.sh` |
213
+ | `.pnpm-store/` | pnpm's content-addressable store (should never appear here) |
214
+ | `.claude/` | Claude Code per-machine state (`settings.local.json` permission allowlists) |
215
+ | `node_modules/` | Node dependency trees from repo-local scripts |
216
+ | `.version-sync-backup/` | Timestamped backups from `version-sync.sh` |
217
+ | `lib/wasm-tools/target/` | Rust build artefacts for the vendored wasm tooling |
218
+ | `dot_etc/machines/` | Host-specific installer overrides |
219
+
220
+ ---
221
+
222
+ ## How to decide where a new file belongs
223
+
224
+ A quick decision tree for common cases:
225
+
226
+ - **New app config that lives under `~/.config/<app>/`** → `dot_config/<app>/` (see `docs/NAMING_CONVENTIONS.md` → "Adding New Modules").
227
+ - **New user-facing CLI script** → `dot_local/bin/executable_<name>`.
228
+ - **New `dot` subcommand** → implementation in `scripts/dot/commands/<name>.sh`, routing in `dot_local/bin/executable_dot`.
229
+ - **New repo-only automation** (CI helper, maintenance task, release step) → `scripts/<domain>/<name>.sh`.
230
+ - **New test** → `tests/unit/<domain>/test_<feature>.sh` (follow `test_{domain}_{feature}.sh` naming).
231
+ - **New doc** → pick the narrowest of `docs/architecture/`, `docs/reference/`, `docs/guides/`, `docs/operations/`, `docs/security/`.
232
+ - **New alias file** → `.chezmoitemplates/aliases/<category>/<tool>.aliases.sh` (see conventions doc).
233
+ - **New run-once hook** → `run_onchange_<NN>-<verb>-<noun>.sh.tmpl` at the root, using the numbering tier appropriate to its category.
234
+
235
+ If none of the above fits, stop and ask in an issue or PR before
236
+ introducing a new top-level directory. The current layout is deliberate
237
+ and one-off additions cost everyone later.
@@ -0,0 +1,82 @@
1
+ # Walkthrough
2
+
3
+ A hands-on tour of the dotfiles after installation. Run each step in your terminal to get comfortable with what's available.
4
+
5
+ ## Step 1: Verify Installation
6
+
7
+ Make sure everything landed correctly:
8
+
9
+ ```bash
10
+ dot --version
11
+ dot doctor
12
+ dot status
13
+ ```
14
+
15
+ `dot doctor` catches common problems early. If something's off, it'll tell you.
16
+
17
+ ## Step 2: Explore the Shell
18
+
19
+ The shell ships with modern replacements wired in:
20
+
21
+ ```bash
22
+ z dotfiles # Jump to ~/.dotfiles (zoxide)
23
+ z - # Go back
24
+
25
+ <Ctrl-R> # Fuzzy search command history (fzf)
26
+ <Ctrl-T> # Fuzzy find files
27
+
28
+ ls # Aliased to eza
29
+ cat file.txt # Aliased to bat
30
+ ```
31
+
32
+ ## Step 3: Git Workflow
33
+
34
+ ```bash
35
+ gst # git status
36
+ lg # Pretty log graph
37
+ ga . # git add
38
+ gcm "message" # git commit -m
39
+ lgui # Launch lazygit
40
+ ```
41
+
42
+ ## Step 4: Tmux
43
+
44
+ Prefix is `Ctrl-a`:
45
+
46
+ ```bash
47
+ <Ctrl-a> c # New window
48
+ <Ctrl-a> | # Split vertically
49
+ <Ctrl-a> - # Split horizontally
50
+ <Ctrl-a> h/j/k/l # Navigate panes (vim-style)
51
+ <Ctrl-a> f # Fuzzy session switcher
52
+ ```
53
+
54
+ ## Step 5: Neovim
55
+
56
+ ```bash
57
+ nvim .
58
+
59
+ # Inside Neovim:
60
+ <Space> # Leader — shows command palette
61
+ <Space>ff # Find files
62
+ <Space>fg # Live grep
63
+ <Space>e # Toggle file tree
64
+ ```
65
+
66
+ ## Step 6: Docker
67
+
68
+ ```bash
69
+ dps # List running containers
70
+ dco up -d # docker compose up
71
+ dlogsf container # Follow container logs
72
+ lzd # Launch lazydocker
73
+ ```
74
+
75
+ ## Step 7: Kubernetes (if enabled)
76
+
77
+ ```bash
78
+ k get pods # kubectl
79
+ kctx # Switch context
80
+ kn # Switch namespace
81
+ k9 # Launch k9s
82
+ ```
@@ -0,0 +1,73 @@
1
+ # Fleet Deployment Architecture
2
+
3
+ ## Deployment Flow
4
+
5
+ ```mermaid
6
+ ---
7
+ title: Fleet Deployment Architecture
8
+ ---
9
+ flowchart TD
10
+ subgraph repo["Git Repository (SSOT)"]
11
+ data[".chezmoidata.toml<br/>theme, profile, machine, features"]
12
+ wallpapers["~/Pictures/Wallpapers/ + System<br/>wallpapers (source of truth)"]
13
+ engine_k["K-Means CIELAB engine<br/>extract-theme.py + rebuild-themes.sh"]
14
+ themes[".chezmoidata/themes.toml<br/>auto-generated, WCAG AAA"]
15
+ hw[".chezmoidata/hardware.toml<br/>machine presets: T2, Surface, Geekom"]
16
+ keys[".chezmoidata/keybinds.toml<br/>modifier hierarchy matrix"]
17
+ tpl[".chezmoitemplates/<br/>reusable partials"]
18
+ configs["dot_config/<br/>50+ app configs as .tmpl"]
19
+ wallpapers --> engine_k --> themes
20
+ end
21
+
22
+ repo --> engine["Chezmoi Template Engine<br/>chezmoi apply"]
23
+
24
+ engine --> t2["MacBook T2<br/>scale 2.0 | macOS"]
25
+ engine --> sp["Surface Pro<br/>scale 1.5 | Linux"]
26
+ engine --> gk["Geekom A9<br/>scale 1.0 | Linux"]
27
+
28
+ subgraph apps["App Configs (per machine)"]
29
+ niri["Niri (WM)"]
30
+ ghostty["Ghostty (Term)"]
31
+ tmux["Tmux (Mux)"]
32
+ nvim["Neovim (Edit)"]
33
+ gtk["GTK (UI)"]
34
+ end
35
+
36
+ t2 --> apps
37
+ sp --> apps
38
+ gk --> apps
39
+
40
+ themes -. "colors" .-> niri & ghostty & tmux & nvim & gtk
41
+
42
+ subgraph hotreload["IPC Hot-Reload Path"]
43
+ direction LR
44
+ user(["User runs dot-theme-sync"]) --> ipc["dot-theme-sync<br/>writes theme choice"]
45
+ ipc --> reload_niri["niri: IPC reload"]
46
+ ipc --> reload_ghostty["ghostty: config reload"]
47
+ ipc --> reload_gtk["GTK: gsettings"]
48
+ ipc --> reload_tmux["tmux: source-file"]
49
+ ipc --> reload_nvim["nvim: RPC colorscheme"]
50
+ end
51
+
52
+ style repo fill:#313244,stroke:#cba6f7,color:#cdd6f4
53
+ style engine fill:#45475a,stroke:#89b4fa,color:#cdd6f4
54
+ style apps fill:#313244,stroke:#a6e3a1,color:#cdd6f4
55
+ style hotreload fill:#313244,stroke:#f9e2af,color:#cdd6f4
56
+ ```
57
+
58
+ > **Note — Keybind Modifier Hierarchy:** Each input layer owns a
59
+ > non-overlapping modifier prefix. The compositor (Super) never collides
60
+ > with the multiplexer (Ctrl+a prefix), which never collides with the
61
+ > editor (Space leader). `Ctrl+h/j/k/l` is the sole shared binding,
62
+ > resolved by `tmux-vim-navigator` interop.
63
+
64
+ ## Keybind Conflict Resolution Matrix
65
+
66
+ | Modifier | Layer | Owner | Examples |
67
+ |---|---|---|---|
68
+ | `Super` (Mod) | Compositor | Niri | `Super+1`-`9` workspaces, `Super+Enter` terminal |
69
+ | `Alt` | Window Switch | Niri | `Alt+Tab`, `Alt+grave` |
70
+ | `Ctrl+a` prefix | Multiplexer | Tmux | `Ctrl+a h/j/k/l` panes, `Ctrl+a N` new window |
71
+ | `Ctrl+h/j/k/l` | Smart Navigation | Tmux / Neovim | Seamless pane/split traversal |
72
+ | `Ctrl+c/v/t/w` | Terminal | Ghostty | Copy, paste, new tab, close |
73
+ | `Space` (leader) | Editor | Neovim | `Space+ff` find, `Space+ca` code action |
@@ -0,0 +1,119 @@
1
+ # Euxis 2026 Architecture & Product Review
2
+
3
+ This review translates the current dotfiles CLI stack into an Apple-tier product strategy:
4
+ high power, near-zero cognitive load, and cross-platform parity (macOS, Linux, WSL).
5
+
6
+ ## Current state (what is already strong)
7
+
8
+ - Unified entrypoint (`dot`) with modular command routing.
9
+ - Good safety baseline (strict mode, governance, preflight checks).
10
+ - Broad CI coverage with strong shell quality gates.
11
+ - WSL support already exists but is distributed across scripts.
12
+
13
+ ## Gaps to close for Apple-tier quality
14
+
15
+ ### Performance and responsiveness
16
+
17
+ - `dot doctor` scans broad filesystem paths and can feel slow on large homes.
18
+ - Platform detection logic is duplicated across scripts.
19
+ - Source directory resolution repeats file system probes in hot paths.
20
+
21
+ ### UX and cognitive load
22
+
23
+ - Cross-platform behavior is implicit, not surfaced as a simple product contract.
24
+ - Users still need to understand host/guest boundaries (especially WSL).
25
+ - Onboarding signal is fragmented across docs and command help.
26
+
27
+ ### Product parity
28
+
29
+ - No single abstraction layer for path conversion and host-native opening.
30
+ - No first-class “platform parity” diagnostics in one section.
31
+
32
+ ## Implemented in this branch
33
+
34
+ ### 1) Platform abstraction layer
35
+
36
+ Added `scripts/dot/lib/platform.sh` with:
37
+
38
+ - `dot_platform_id`
39
+ - `dot_host_os`
40
+ - `dot_is_wsl`
41
+ - `dot_path_to_unix`
42
+ - `dot_path_to_native`
43
+ - `dot_open_path`
44
+
45
+ This centralizes platform semantics and removes per-script drift.
46
+
47
+ ### 2) Hot-path optimization in shared utils
48
+
49
+ Updated `scripts/dot/lib/utils.sh`:
50
+
51
+ - sources `platform.sh`
52
+ - adds process-local source dir cache (`_DOT_SOURCE_DIR_CACHE`)
53
+ - avoids repeated filesystem checks in repeated command flows
54
+
55
+ ### 3) Faster, clearer diagnostics
56
+
57
+ Updated `scripts/diagnostics/doctor.sh`:
58
+
59
+ - new **Platform** section (runtime + host + WSL bridge/fallback checks)
60
+ - warns when running in `/mnt/*` under WSL (high IO latency path)
61
+ - scoped symlink scan to standard roots only (`~/.config`, `~/.local`, `~/.ssh`)
62
+ - adds explicit `dot` command resolution check
63
+
64
+ ### 4) Onboarding clarity
65
+
66
+ Updated `README.md`:
67
+
68
+ - added “60-second onboarding” with a clear success state
69
+
70
+ ### 5) Test coverage for new abstraction
71
+
72
+ Added `scripts/tests/unit/test_dot_lib_platform.sh`:
73
+
74
+ - existence + syntax + function presence + return contract checks
75
+
76
+ ## File-by-file next refactors (high ROI)
77
+
78
+ 1. `scripts/dot/commands/tools.sh`
79
+ - Split `cmd_aliases` into submodule file.
80
+ - Replace repeated `command -v` checks with cached capability map.
81
+
82
+ 2. `dot_config/zsh/dot_zshrc.tmpl`
83
+ - Add startup budget guard (record startup time; warn >400ms).
84
+ - Move optional integrations behind capability checks generated once/session.
85
+
86
+ 3. `scripts/ops/health-check.sh`
87
+ - Import `platform.sh`, unify WSL/macOS/Linux branch logic.
88
+ - Emit machine-readable JSON summary for UI frontends.
89
+
90
+ 4. `scripts/diagnostics/perf.sh`
91
+ - Add percentile reporting (P50/P95 over 10 runs).
92
+ - Add regression threshold with actionable remediation hints.
93
+
94
+ ## Product roadmap (prioritized)
95
+
96
+ ### P0 (1-2 weeks)
97
+
98
+ - Platform abstraction adoption across all dot commands.
99
+ - Bounded diagnostic scans everywhere (`find` scope + timeout).
100
+ - “Single-screen health” command output format harmonization.
101
+
102
+ ### P1 (2-4 weeks)
103
+
104
+ - Local state model for predictive UX (`~/.local/state/dotfiles/session.json`).
105
+ - Adaptive hints (“next best action”) based on detected failures.
106
+ - Non-blocking diagnostics execution with staged rendering.
107
+
108
+ ### P2 (4-8 weeks)
109
+
110
+ - Optional Rust helper binary for path/process abstraction and fast JSON output.
111
+ - WASM-compatible policy engine for deterministic config validation.
112
+ - Cross-device state sync model (privacy-first, local-first defaults).
113
+
114
+ ## Apple-tier UX bar (acceptance criteria)
115
+
116
+ - First successful install + health check in under 90 seconds.
117
+ - `dot doctor` completes in under 700ms on warmed cache.
118
+ - No user-facing distinction between macOS/Linux/WSL for core commands.
119
+ - All failures return one-line remediation with direct command to fix.
@@ -0,0 +1,142 @@
1
+ # The Ultimate Developer Environment Roadmap
2
+
3
+ This roadmap outlines the path to a high-performance, super-efficient development machine designed for Rust, Python, and AI on Linux (Zorin OS / T2 Mac hardware).
4
+
5
+ ## Phase 1: Foundation (Completed)
6
+ - **Core Shell**: Zsh + Oh My Zsh.
7
+ - **Modern Prompt**: Starship (hooked & active).
8
+ - **Language Managers**: `rustup` (Rust) and `fnm` (Node.js).
9
+ - **Ultra-Fast Python**: `uv` installed.
10
+ - **Basic Modern Tools**: `eza` (ls), `bat` (cat), `fd` (find), `ripgrep` (grep).
11
+ - **Git Enhancements**: `lazygit` (TUI) and `delta` (Diffs).
12
+ - **Multiplexer**: `zellij` installed.
13
+ - **AI**: `ollama` installed locally.
14
+ - **Security**: Firewall (`ufw`) enabled.
15
+
16
+ ---
17
+
18
+ ## Phase 2: Speed & Navigation (Completed)
19
+ Focus: Reduce friction in filesystem navigation and build times.
20
+
21
+ ### 1. Navigation
22
+ - [x] **Zoxide**: Smarter `cd` command that learns your habits (`z directory`).
23
+ - [x] **FZF**: Command-line fuzzy finder. Essential for search history, files, and replacing standard completion.
24
+ - [x] **Yazi**: Blazing fast terminal file manager (Rust-based).
25
+
26
+ ### 2. Rust Optimization
27
+ - [x] **Mold**: Use the `mold` linker to speed up Rust compile times by 3x-10x.
28
+ - [x] **Sccache**: Shared compilation cache to speed up recompilations across projects.
29
+ - [x] **Bacon**: Background rust compiler that gives instant feedback on errors.
30
+
31
+ ### 3. Python Optimization
32
+ - [x] **Ruff**: Extremely fast Python linter and formatter (replace flake8/black).
33
+ - [x] **Global Config**: Set `uv` to use system Python or managed Python preferences.
34
+
35
+ ### 4. Code Search
36
+ - [x] **Ripgrep-all (rga)**: Search inside PDFs, E-Books, zip files, etc.
37
+
38
+ ---
39
+
40
+ ## Phase 3: AI Power User (Completed)
41
+ Focus: Integrate AI deeply into the workflow.
42
+
43
+ - [x] **Fabric**: Open-source framework for augmenting humans using AI (installed via `cmd` path).
44
+ - [x] **Open WebUI**: A beautiful web interface for `ollama` (requires Docker).
45
+ - [x] **GitHub Copilot CLI**: Integrate AI assistance directly into the terminal commands.
46
+ - [x] **Local RAG**: Setup tools to chat with your own documents locally (Open WebUI).
47
+
48
+ ---
49
+
50
+ ## Phase 4: System Tuning & Hardening (Completed)
51
+ Focus: Squeeze every ounce of performance and security from the hardware.
52
+
53
+ - [x] **Kernel Tuning**: Increase file descriptor limits and optimize TCP stack for lower latency.
54
+ - [x] **Swap Optimization**: Configure `zram` for memory compression (improves performance on 16GB RAM).
55
+ - [x] **Flatpak Overrides**: Secure Flatpak permissions using `Flatseal`.
56
+ - [x] **Automated Updates**: Configure `unattended-upgrades` for security patches.
57
+
58
+ ---
59
+
60
+ ## Phase 5: Final Polish (Completed)
61
+ - [x] **Global UV Config**: Created `~/.config/uv/uv.toml` for managed python perference.
62
+ - [x] **Roadmap Completion**: Verified all items are 100% complete.
63
+
64
+ ---
65
+
66
+ ## Maintenance & Updates
67
+ - **Update System**: `sudo apt update && sudo apt upgrade`
68
+ - **Update Rust**: `rustup update`
69
+ - **Update Node**: `fnm install --lts`
70
+ - **Update UV**: `uv self update`
71
+ - **Update Firmware**: `fwupdmgr get-updates`
72
+
73
+ ---
74
+
75
+ ## Phase 6: Desktop Environment (Completed)
76
+ Focus: Clean, bloat-free, and supercharged GNOME/Zorin experience.
77
+
78
+ - [x] **Bloatware Removal**: Removed games (`aisleriot`, `mines`, etc.) and media apps (`rhythmbox`, `totem`).
79
+ - [x] **Menu Cleanup**: Created `hide_menu_entries.sh` to deduplicate and hide unwanted entries.
80
+ - [x] **GNOME Extensions**: Installed productivity boosters via `gnome-extensions-cli`:
81
+ - [x] `Clipboard Indicator`: History management.
82
+ - [x] `Caffeine`: Prevent auto-suspend.
83
+ - [x] `Impatience`: Speed up animations.
84
+ - [x] `Vitals`: System monitoring in top bar.
85
+ - [x] **Memory Tuning**: Optimize GNOME Shell performance.
86
+
87
+ ---
88
+
89
+ ## Phase 7: Browser Optimization (Completed)
90
+ Focus: Chrome tuned for development and memory efficiency.
91
+
92
+ - [x] **Settings**: Enable "Memory Saver" and "Energy Saver" via Managed Policies.
93
+ - [x] **Extensions**: Automated installation of developer stack (uBlock, JSON Viewer, React DevTools, Vimium, Refined GitHub).
94
+ - [x] **Profile Separation**: Separate Personal and Work profiles (Manual setup recommendation).
95
+
96
+ ---
97
+
98
+ ## Phase 8: Neovim IDE (Completed)
99
+ Focus: Building a terminal-based IDE that rivals VS Code for Rust, Python, and AI.
100
+
101
+ - [x] **Latest Version**: Installed Neovim v0.12.0-dev (Nightly) to resolve plugin stability issues.
102
+ - [x] **Plugin Manager**: Setup `lazy.nvim` with modular config (Restored from **PR #62**).
103
+ - [x] **Core Plugins**:
104
+ - [x] `Telescope`: Fuzzy finding.
105
+ - [x] `Treesitter`: Syntax highlighting.
106
+ - [x] `Harpoon`: Fast file switching.
107
+ - [x] `Neo-tree`: File explorer.
108
+ - [x] **UI/UX Menus**: Added `dressing.nvim` and `telescope-ui-select.nvim` for modern, searchable selection lists and floating inputs.
109
+ - [x] **LSP & Autocomplete**:
110
+ - [x] `Mason`: Managing LSPs (rust-analyzer, pyright, ruff).
111
+ - [x] `Cmp`: Autocompletion engine.
112
+ - [x] **Language Specifics**:
113
+ - [x] **Rust**: `rustaceanvim` configured.
114
+ - [x] **Python**: `pyright` + `ruff`.
115
+ - [x] **AI Integration**:
116
+ - [x] `Copilot.lua`: Enabled (needs `:Copilot auth`).
117
+ - [x] `CopilotChat.nvim`: Sidebar chat (VS Code style).
118
+ - [ ] `Avante.nvim`: Skipped (Removed due to complexity/instability).
119
+ - [x] **VS Code Parity Pack**:
120
+ - [x] `Trouble`: Problems panel.
121
+ - [x] `Spectre`: Search/Replace.
122
+ - [x] `Autopairs`: Auto-close brackets.
123
+ - [x] `Todo-Comments`: TODO/FIXME highlighting.
124
+ - [x] `Persistence`: Session management.
125
+
126
+ ---
127
+
128
+ ## Phase 9: Repository Polish & PR #62 (In Progress)
129
+ Focus: Finalize the `dotfiles` repository for public consumption and sync the local "Gold Standard" environment.
130
+
131
+ - [x] **Repository Sync**:
132
+ - [x] Clone official repo to `~/dotfiles`.
133
+ - [ ] Sync validated configuration (Neovim, scripts, tuning) into repository.
134
+ - [ ] **Documentation Update**:
135
+ - [ ] Refactor `README.md` for the modern architecture.
136
+ - [ ] Add "Easy Setup" and "Troubleshooting" guides.
137
+ - [ ] **Final PR Submission**:
138
+ - [ ] Verify clean diff against original PR #62.
139
+ - [ ] Push updates to PR #62 branch.
140
+
141
+
142
+