@sebastienrousseau/dotfiles 0.2.481 → 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 (546) hide show
  1. package/CHANGELOG.md +122 -32
  2. package/LICENSE +1 -1
  3. package/README.md +211 -242
  4. package/docs/.vitepress/reports/localization-readability-audit.md +69 -0
  5. package/docs/AI.md +102 -0
  6. package/docs/COPYRIGHT +2 -2
  7. package/docs/NAMING_CONVENTIONS.md +95 -0
  8. package/docs/README.md +58 -249
  9. package/docs/adr/ADR-004-cli-architecture.md +2 -2
  10. package/docs/adr/ADR-006-shell-selection.md +2 -2
  11. package/docs/adr/ADR-007-multi-shell-parity.md +53 -0
  12. package/docs/adr/ADR-008-alias-system-architecture.md +85 -0
  13. package/docs/adr/README.md +2 -3
  14. package/docs/architecture/ARCHITECTURE.md +113 -0
  15. package/docs/architecture/INTEROP.md +36 -0
  16. package/docs/architecture/REPO_LAYOUT.md +237 -0
  17. package/docs/architecture/WALKTHROUGH.md +82 -0
  18. package/docs/architecture/fleet-deployment.md +73 -0
  19. package/docs/archive/EUXIS_2026_REVIEW.md +119 -0
  20. package/docs/archive/MILESTONE_v0.2.493.md +43 -0
  21. package/docs/{PLAN.md → archive/PLAN.md} +1 -1
  22. package/docs/guides/INSTALL.md +140 -0
  23. package/docs/{NEOVIM_IDE_GUIDE.md → guides/NEOVIM_IDE_GUIDE.md} +12 -12
  24. package/docs/guides/THEMING.md +222 -0
  25. package/docs/{TROUBLESHOOTING.md → guides/TROUBLESHOOTING.md} +36 -0
  26. package/docs/{WSL2_NIX_TROUBLESHOOTING.md → guides/WSL2_NIX_TROUBLESHOOTING.md} +8 -8
  27. package/docs/index.md +39 -0
  28. package/docs/interop/A2A.md +32 -0
  29. package/docs/manual/00-introduction.md +85 -0
  30. package/docs/manual/01-concepts/01-architecture.md +134 -0
  31. package/docs/manual/01-concepts/02-trust-model.md +178 -0
  32. package/docs/manual/01-concepts/03-theme-engine.md +182 -0
  33. package/docs/manual/01-concepts/04-fleet.md +142 -0
  34. package/docs/manual/01-concepts/05-self-healing.md +197 -0
  35. package/docs/manual/02-tutorials/01-first-install.md +192 -0
  36. package/docs/manual/02-tutorials/02-add-wallpaper.md +211 -0
  37. package/docs/manual/02-tutorials/03-create-profile.md +238 -0
  38. package/docs/manual/02-tutorials/04-encrypt-secret.md +275 -0
  39. package/docs/manual/02-tutorials/05-deploy-fleet.md +279 -0
  40. package/docs/manual/03-reference/01-dot-cli.md +413 -0
  41. package/docs/manual/03-reference/02-config-files.md +259 -0
  42. package/docs/manual/03-reference/03-environment.md +120 -0
  43. package/docs/manual/03-reference/04-templates.md +184 -0
  44. package/docs/manual/03-reference/05-feature-flags.md +118 -0
  45. package/docs/manual/04-cookbook/01-recipes.md +281 -0
  46. package/docs/manual/04-cookbook/02-troubleshooting.md +319 -0
  47. package/docs/manual/04-cookbook/03-faq.md +167 -0
  48. package/docs/manual/05-appendices/A-platform-matrix.md +97 -0
  49. package/docs/manual/05-appendices/B-security-checklist.md +78 -0
  50. package/docs/manual/05-appendices/C-glossary.md +36 -0
  51. package/docs/manual/05-appendices/D-bibliography.md +54 -0
  52. package/docs/manual/05-appendices/E-license.md +34 -0
  53. package/docs/manual/_toc.yml +58 -0
  54. package/docs/manual/command-index.md +58 -0
  55. package/docs/manual/concept-index.md +164 -0
  56. package/docs/operations/ATTESTATION.md +39 -0
  57. package/docs/operations/MAINTENANCE.md +59 -0
  58. package/docs/operations/MIGRATION.md +101 -0
  59. package/docs/operations/OPERATIONS.md +164 -0
  60. package/docs/operations/RELIABILITY.md +116 -0
  61. package/docs/{ROADMAP.md → operations/ROADMAP.md} +11 -11
  62. package/docs/operations/TESTING.md +195 -0
  63. package/docs/operations/TRACEABILITY.md +31 -0
  64. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +61 -0
  65. package/docs/operations/VERSION_SYNC.md +344 -0
  66. package/docs/{ALIASES.md → reference/ALIASES.md} +2 -6
  67. package/docs/reference/ALIASES_CHEATSHEET.md +28 -0
  68. package/docs/reference/ALIASES_DEPRECATIONS.md +9 -0
  69. package/docs/reference/FEATURES.md +62 -0
  70. package/docs/reference/FONTS.md +108 -0
  71. package/docs/reference/PROFILES.md +65 -0
  72. package/docs/{SCREENSHOTS.md → reference/SCREENSHOTS.md} +26 -25
  73. package/docs/reference/SCRIPTS.md +67 -0
  74. package/docs/reference/SUPPORT_MATRIX.md +74 -0
  75. package/docs/reference/THEMES.md +113 -0
  76. package/docs/reference/TOOLS.md +105 -0
  77. package/docs/reference/UTILS.md +151 -0
  78. package/docs/security/AI_ACT_COMPLIANCE.md +90 -0
  79. package/docs/security/AUTOMATION_SECRETS.md +22 -0
  80. package/docs/security/COMPLIANCE.md +453 -0
  81. package/docs/security/ENCRYPTION.md +52 -0
  82. package/docs/security/FMEA.md +155 -0
  83. package/docs/security/INCIDENT_RESPONSE.md +575 -0
  84. package/docs/security/KEYS.md +45 -0
  85. package/docs/security/MCP_POLICY.md +69 -0
  86. package/docs/security/POLICY_RELEASES.md +33 -0
  87. package/docs/security/README.md +24 -0
  88. package/docs/security/SECRETS.md +146 -0
  89. package/docs/security/SECURITY.md +41 -0
  90. package/docs/security/SECURITY_CHECKLIST.md +44 -0
  91. package/docs/security/SOUP_REGISTER.md +32 -0
  92. package/docs/security/THREAT_MODEL.md +120 -0
  93. package/docs/security/VERIFICATION_VALIDATION.md +224 -0
  94. package/docs/themes/README.md +3 -17
  95. package/docs/themes/VISUAL_INTEGRITY_REPORT.md +26 -0
  96. package/docs/themes/hero-shot.svg +78 -0
  97. package/dot_config/.module-manifest.json +69 -0
  98. package/dot_config/ai/identity.md +20 -0
  99. package/dot_config/ai/patterns/architect.md +14 -0
  100. package/dot_config/ai/patterns/hardener.md +13 -0
  101. package/dot_config/ai/patterns/refactor.md +13 -0
  102. package/dot_config/aider/aider.conf.yml +1 -1
  103. package/dot_config/alacritty/alacritty.toml.tmpl +41 -469
  104. package/dot_config/atuin/config.toml +18 -1
  105. package/dot_config/bat/config +16 -1
  106. package/dot_config/claude/mcp_servers.json +3 -32
  107. package/dot_config/dotfiles/agent-card.json +29 -0
  108. package/dot_config/dotfiles/agent-profiles.json +92 -0
  109. package/dot_config/dotfiles/boot/README.md +1 -1
  110. package/dot_config/dotfiles/grub/README.md +1 -1
  111. package/dot_config/dotfiles/lock/README.md +1 -1
  112. package/dot_config/dotfiles/mcp-lock.json +33 -0
  113. package/dot_config/dotfiles/mcp-policy.json +52 -0
  114. package/dot_config/dotfiles/mcp-registry.json +47 -0
  115. package/dot_config/dotfiles/model-registry.json +20 -0
  116. package/dot_config/dotfiles/policy-bundles.json +38 -0
  117. package/dot_config/dotfiles/prompt-registry.json +16 -0
  118. package/dot_config/dotfiles/versions.env +18 -0
  119. package/dot_config/environment.d/50-ssh-agent.conf +2 -0
  120. package/dot_config/environment.d/90-wayland.conf +19 -0
  121. package/dot_config/firefox/user.js.tmpl +58 -0
  122. package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +9 -0
  123. package/dot_config/fish/completions/dot.fish.tmpl +115 -0
  124. package/dot_config/fish/conf.d/000-perf-cache.fish +56 -0
  125. package/dot_config/fish/conf.d/aliases.fish.tmpl +77 -0
  126. package/dot_config/fish/conf.d/env.fish.tmpl +48 -0
  127. package/dot_config/fish/conf.d/functions.fish.tmpl +22 -0
  128. package/dot_config/fish/conf.d/init.fish.tmpl +151 -0
  129. package/dot_config/fish/config.fish.tmpl +44 -0
  130. package/dot_config/fish/fish_plugins +1 -0
  131. package/dot_config/fish/functions/_.fish +3 -0
  132. package/dot_config/fish/functions/_cached_eval.fish +58 -0
  133. package/dot_config/fish/functions/als.fish +46 -0
  134. package/dot_config/fish/functions/bg-upgrade.fish +7 -0
  135. package/dot_config/fish/functions/c.fish +3 -0
  136. package/dot_config/fish/functions/cat.fish +9 -0
  137. package/dot_config/fish/functions/d.fish +7 -0
  138. package/dot_config/fish/functions/dot.fish +34 -0
  139. package/dot_config/fish/functions/h.fish +3 -0
  140. package/dot_config/fish/functions/l.fish +7 -0
  141. package/dot_config/fish/functions/la.fish +7 -0
  142. package/dot_config/fish/functions/ll.fish +7 -0
  143. package/dot_config/fish/functions/log_error.fish +13 -0
  144. package/dot_config/fish/functions/log_info.fish +13 -0
  145. package/dot_config/fish/functions/lr.fish +7 -0
  146. package/dot_config/fish/functions/lra.fish +7 -0
  147. package/dot_config/fish/functions/ls.fish +7 -0
  148. package/dot_config/fish/functions/lt.fish +7 -0
  149. package/dot_config/fish/functions/lta.fish +7 -0
  150. package/dot_config/fish/functions/notify-run.fish +11 -0
  151. package/dot_config/fish/functions/q.fish +3 -0
  152. package/dot_config/fish/functions/silent-run.fish +7 -0
  153. package/dot_config/fish/functions/yy.fish +8 -0
  154. package/dot_config/fontconfig/fonts.conf.tmpl +13 -0
  155. package/dot_config/foot/foot.ini.tmpl +33 -0
  156. package/dot_config/fuzzel/fuzzel.ini.tmpl +18 -0
  157. package/dot_config/fzf/fzf.zsh +48 -0
  158. package/dot_config/ghostty/config.tmpl +69 -565
  159. package/dot_config/git/allowed_signers.tmpl +18 -0
  160. package/dot_config/git/commit-template +10 -0
  161. package/dot_config/gnupg/{gpg-agent.conf.tmpl → gpg-agent.conf} +3 -3
  162. package/dot_config/goose/config.yaml +2 -2
  163. package/dot_config/gtk-3.0/gtk.css.tmpl +59 -180
  164. package/dot_config/gtk-3.0/settings.ini.tmpl +5 -44
  165. package/dot_config/gtk-4.0/gtk.css.tmpl +79 -136
  166. package/dot_config/gtk-4.0/settings.ini.tmpl +5 -8
  167. package/dot_config/ipython/profile_default/ipython_config.py +19 -0
  168. package/dot_config/just/justfile +18 -0
  169. package/dot_config/kanshi/config.tmpl +22 -0
  170. package/dot_config/kitty/kitty.conf.tmpl +44 -508
  171. package/dot_config/lazygit/config.yml +18 -6
  172. package/dot_config/mako/config +47 -0
  173. package/dot_config/micro/settings.json +3 -0
  174. package/dot_config/mimeapps.list +77 -0
  175. package/dot_config/mise/config.toml +63 -5
  176. package/dot_config/mongosh/mongoshrc.js +1 -0
  177. package/dot_config/mpv/input.conf +47 -0
  178. package/dot_config/mpv/mpv.conf +47 -0
  179. package/dot_config/niri/config.kdl.tmpl +327 -0
  180. package/dot_config/nushell/aliases.nu +18 -0
  181. package/dot_config/nushell/completions.nu.tmpl +52 -0
  182. package/dot_config/nushell/config.nu.tmpl +86 -0
  183. package/dot_config/nushell/env.nu.tmpl +94 -0
  184. package/dot_config/nushell/functions.nu.tmpl +17 -0
  185. package/dot_config/nvim/init.lua +14 -0
  186. package/dot_config/nvim/lazy-lock.json +45 -14
  187. package/dot_config/nvim/lua/config/autocmds.lua +45 -1
  188. package/dot_config/nvim/lua/config/keymaps.lua +13 -8
  189. package/dot_config/nvim/lua/config/lazy.lua +22 -12
  190. package/dot_config/nvim/lua/config/options.lua +1 -0
  191. package/dot_config/nvim/lua/plugins/ai.lua +75 -0
  192. package/dot_config/nvim/lua/plugins/coding.lua +11 -29
  193. package/dot_config/nvim/lua/plugins/completion.lua +60 -0
  194. package/dot_config/nvim/lua/plugins/dap.lua +215 -4
  195. package/dot_config/nvim/lua/plugins/editor.lua +6 -10
  196. package/dot_config/nvim/lua/plugins/git.lua +1 -0
  197. package/dot_config/nvim/lua/plugins/lsp.lua +16 -81
  198. package/dot_config/nvim/lua/plugins/markdown.lua +1 -0
  199. package/dot_config/nvim/lua/plugins/rust.lua +1 -0
  200. package/dot_config/nvim/lua/plugins/sessions.lua +1 -0
  201. package/dot_config/nvim/lua/plugins/ui.lua +23 -51
  202. package/dot_config/paru/paru.conf +10 -0
  203. package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
  204. package/dot_config/pueue/pueue.yml +34 -0
  205. package/dot_config/raycast/README.md +1 -1
  206. package/dot_config/ripgrep/ripgreprc +21 -0
  207. package/dot_config/shell/00-core-paths.sh.tmpl +62 -24
  208. package/dot_config/shell/05-core-safety.sh +47 -0
  209. package/dot_config/shell/10-secrets.sh +40 -0
  210. package/dot_config/shell/40-fzf-defaults.sh.tmpl +16 -0
  211. package/dot_config/shell/40-ls-colors.sh +48 -0
  212. package/dot_config/shell/50-logic-functions-core.sh.tmpl +10 -0
  213. package/dot_config/shell/51-logic-functions-extra.sh.tmpl +64 -0
  214. package/dot_config/shell/90-ux-aliases.sh.tmpl +90 -5
  215. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +33 -2
  216. package/dot_config/shell/Brewfile.cli +8 -0
  217. package/dot_config/shell/README.md +9 -9
  218. package/dot_config/shell/als_data.txt.tmpl +65 -0
  219. package/dot_config/shell/custom/auto_ls.zsh +20 -0
  220. package/dot_config/shell/custom/context_suggest.zsh +50 -50
  221. package/dot_config/shell/custom/error_analysis.zsh +29 -29
  222. package/dot_config/starship.toml.tmpl +85 -7
  223. package/dot_config/swaylock/config +43 -0
  224. package/dot_config/systemd/user/dotfiles-maintenance.service +8 -0
  225. package/dot_config/systemd/user/dotfiles-maintenance.timer +11 -0
  226. package/dot_config/systemd/user/pueued.service +12 -0
  227. package/dot_config/systemd/user/ssh-agent.service +12 -0
  228. package/dot_config/tmux/tmux.conf.tmpl +80 -38
  229. package/dot_config/topgrade.toml.tmpl +54 -0
  230. package/dot_config/user-dirs.dirs +9 -0
  231. package/dot_config/vscode/settings.json.tmpl +9 -50
  232. package/dot_config/waybar/config.jsonc.tmpl +90 -0
  233. package/dot_config/waybar/style.css.tmpl +211 -0
  234. package/dot_config/wezterm/wezterm.lua.tmpl +31 -203
  235. package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
  236. package/dot_config/yazi/keymap.toml +67 -0
  237. package/dot_config/yazi/theme.toml +102 -0
  238. package/dot_config/zathura/zathurarc +52 -0
  239. package/dot_config/zellij/{config.kdl → config.kdl.tmpl} +1 -1
  240. package/dot_config/zsh/dot_zprofile +1 -7
  241. package/dot_config/zsh/dot_zshenv +2 -3
  242. package/dot_config/zsh/dot_zshrc.tmpl +368 -69
  243. package/dot_config/zsh/rc.d/00-alias-shims.zsh +77 -0
  244. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +17 -4
  245. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +4 -4
  246. package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
  247. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +101 -30
  248. package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +32 -0
  249. package/dot_local/bin/__pycache__/executable_dot-load-benchmark-ptycpython-312.pyc +0 -0
  250. package/dot_local/bin/executable_ai-update +195 -0
  251. package/dot_local/bin/executable_ai_core +113 -91
  252. package/dot_local/bin/executable_antigravity +11 -0
  253. package/dot_local/bin/executable_b64 +61 -36
  254. package/dot_local/bin/executable_bm +77 -0
  255. package/dot_local/bin/executable_cb +39 -0
  256. package/dot_local/bin/executable_dot +543 -132
  257. package/dot_local/bin/executable_dot-ai +36 -0
  258. package/dot_local/bin/executable_dot-bootstrap +77 -0
  259. package/dot_local/bin/executable_dot-launch-or-focus +52 -0
  260. package/dot_local/bin/executable_dot-load-benchmark +31 -0
  261. package/dot_local/bin/executable_dot-load-benchmark-pty +77 -0
  262. package/dot_local/bin/executable_dot-theme-sync +952 -0
  263. package/dot_local/bin/executable_dot_completion +2 -0
  264. package/dot_local/bin/executable_dtags +28 -0
  265. package/dot_local/bin/executable_epoch +43 -38
  266. package/dot_local/bin/executable_extract +32 -99
  267. package/dot_local/bin/executable_gbd +52 -0
  268. package/dot_local/bin/executable_gd +42 -0
  269. package/dot_local/bin/executable_git-ai-commit +35 -20
  270. package/dot_local/bin/executable_git-ai-diff +33 -18
  271. package/dot_local/bin/executable_gl +101 -0
  272. package/dot_local/bin/executable_hash +56 -18
  273. package/dot_local/bin/executable_hashsum +160 -0
  274. package/dot_local/bin/executable_hex +44 -8
  275. package/dot_local/bin/executable_jsonv +34 -10
  276. package/dot_local/bin/executable_jwt +22 -6
  277. package/dot_local/bin/executable_kill-port +18 -2
  278. package/dot_local/bin/executable_lorem +21 -6
  279. package/dot_local/bin/executable_mkscript +35 -0
  280. package/dot_local/bin/executable_monitor +56 -0
  281. package/dot_local/bin/{executable_ip → executable_myip} +16 -2
  282. package/dot_local/bin/executable_notify +22 -0
  283. package/dot_local/bin/executable_open +36 -0
  284. package/dot_local/bin/executable_pw +27 -0
  285. package/dot_local/bin/executable_rec-start +46 -0
  286. package/dot_local/bin/executable_rec-stop +35 -0
  287. package/dot_local/bin/executable_regex +49 -13
  288. package/dot_local/bin/executable_start-niri +8 -0
  289. package/dot_local/bin/executable_tmux-sessionizer +276 -149
  290. package/dot_local/bin/executable_tour +112 -74
  291. package/dot_local/bin/executable_up +21 -0
  292. package/dot_local/bin/executable_update +45 -11
  293. package/dot_local/bin/executable_uuid +37 -7
  294. package/dot_local/bin/executable_win +32 -0
  295. package/dot_local/bin/executable_yamlv +25 -7
  296. package/dot_local/share/bash-completion/completions/dot +62 -44
  297. package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
  298. package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
  299. package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
  300. package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
  301. package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
  302. package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
  303. package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
  304. package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
  305. package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
  306. package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
  307. package/dot_local/share/man/man1/dot.1 +149 -0
  308. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +64 -0
  309. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +18 -0
  310. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +13 -0
  311. package/dot_local/share/wayland-sessions/niri.desktop.tmpl +6 -0
  312. package/dot_local/share/zsh/completions/_dot +283 -0
  313. package/install.sh +297 -210
  314. package/package.json +17 -5
  315. package/scripts/ci/check-copyright-headers.sh +96 -0
  316. package/scripts/ci/guard-gitleaks-checkout.sh +57 -0
  317. package/scripts/ci/install-chezmoi-verified.sh +64 -0
  318. package/scripts/ci/validate-ci-config.sh +41 -39
  319. package/scripts/demo/record.sh +3 -2
  320. package/scripts/diagnostics/a2a-conformance.sh +162 -0
  321. package/scripts/diagnostics/alias-governance.sh +137 -0
  322. package/scripts/diagnostics/aliases-cheatsheet.sh +73 -0
  323. package/scripts/diagnostics/aliases-manifest.sh +31 -0
  324. package/scripts/diagnostics/benchmark.sh +209 -29
  325. package/scripts/diagnostics/conflicts.sh +72 -0
  326. package/scripts/diagnostics/doctor-unified.sh +38 -0
  327. package/scripts/diagnostics/doctor.sh +491 -65
  328. package/scripts/diagnostics/drift-dashboard.sh +17 -6
  329. package/scripts/diagnostics/health.sh +351 -110
  330. package/scripts/diagnostics/history-analysis.sh +12 -4
  331. package/scripts/diagnostics/mcp-doctor.sh +575 -0
  332. package/scripts/diagnostics/perf.sh +225 -0
  333. package/scripts/diagnostics/scorecard.sh +118 -0
  334. package/scripts/diagnostics/secret-governance.sh +58 -0
  335. package/scripts/diagnostics/security-score.sh +139 -93
  336. package/scripts/diagnostics/smoke-test.sh +87 -0
  337. package/scripts/diagnostics/snapshot.sh +89 -0
  338. package/scripts/diagnostics/verify.sh +107 -0
  339. package/scripts/diagnostics/verify_state.sh +2 -2
  340. package/scripts/diagnostics/version-locks.sh +79 -0
  341. package/scripts/diagnostics/workstation-attestation.sh +181 -0
  342. package/scripts/docs/build-manual.sh +883 -0
  343. package/scripts/docs/check-manual.sh +213 -0
  344. package/scripts/dot/commands/agent.sh +465 -0
  345. package/scripts/dot/commands/ai.sh +416 -0
  346. package/scripts/dot/commands/aliases.sh +250 -0
  347. package/scripts/dot/commands/appearance.sh +21 -4
  348. package/scripts/dot/commands/core.sh +59 -4
  349. package/scripts/dot/commands/diagnostics.sh +132 -3
  350. package/scripts/dot/commands/fleet.sh +399 -0
  351. package/scripts/dot/commands/lint.sh +177 -0
  352. package/scripts/dot/commands/manual.sh +168 -0
  353. package/scripts/dot/commands/meta.sh +148 -17
  354. package/scripts/dot/commands/patterns.sh +54 -0
  355. package/scripts/dot/commands/restore.sh +57 -35
  356. package/scripts/dot/commands/secrets.sh +151 -9
  357. package/scripts/dot/commands/security.sh +3 -0
  358. package/scripts/dot/commands/tools.sh +268 -27
  359. package/scripts/dot/data/alias-deprecations.tsv +2 -0
  360. package/scripts/dot/lib/bento.sh +49 -0
  361. package/scripts/dot/lib/log.sh +194 -0
  362. package/scripts/dot/lib/platform.sh +98 -0
  363. package/scripts/dot/lib/ui.sh +507 -0
  364. package/scripts/dot/lib/utils.sh +318 -18
  365. package/scripts/fonts/install-nerd-fonts.sh +19 -10
  366. package/scripts/fonts/patch-fonts.sh +1 -0
  367. package/scripts/git-hooks/install.sh +11 -0
  368. package/scripts/git-hooks/pre-commit +12 -0
  369. package/scripts/git-hooks/pre-commit-audit.sh +145 -0
  370. package/scripts/git-hooks/pre-push +29 -0
  371. package/scripts/git-hooks/prepare-commit-msg +29 -0
  372. package/scripts/lib/secrets_provider.sh +158 -0
  373. package/scripts/maintenance/check-updates.sh +131 -0
  374. package/scripts/ops/ai-setup.sh +55 -0
  375. package/scripts/ops/bundle.sh +77 -0
  376. package/scripts/ops/chaos.sh +49 -0
  377. package/scripts/ops/chezmoi-apply.sh +245 -17
  378. package/scripts/ops/chezmoi-diff.sh +1 -0
  379. package/scripts/ops/chezmoi-remove.sh +2 -0
  380. package/scripts/ops/chezmoi-update.sh +34 -2
  381. package/scripts/ops/heal-chezmoi.sh +51 -0
  382. package/scripts/ops/heal-system.sh +128 -0
  383. package/scripts/ops/heal-tools.sh +340 -0
  384. package/scripts/ops/heal.sh +98 -342
  385. package/scripts/ops/post-apply-repair.sh +106 -0
  386. package/scripts/ops/prewarm.sh +127 -0
  387. package/scripts/ops/release.sh +252 -0
  388. package/scripts/ops/rollback.sh +86 -28
  389. package/scripts/ops/setup.sh +137 -0
  390. package/scripts/ops/teleport.sh +2 -1
  391. package/scripts/qa/coverage-baseline.sh +60 -0
  392. package/scripts/qa/docs-coverage.sh +111 -0
  393. package/scripts/qa/reliability-audit.sh +138 -0
  394. package/scripts/qa/traceability-coverage.sh +116 -0
  395. package/scripts/qa/validate-examples.sh +26 -0
  396. package/scripts/qa/wsl-contract.sh +11 -0
  397. package/scripts/release/package-policy-bundles.sh +125 -0
  398. package/scripts/secrets/age-init.sh +1 -0
  399. package/scripts/secrets/create-secrets-file.sh +1 -0
  400. package/scripts/secrets/encrypt-ssh-key.sh +1 -0
  401. package/scripts/security/backup.sh +44 -4
  402. package/scripts/security/dns-doh.sh +36 -14
  403. package/scripts/security/encryption-check.sh +27 -12
  404. package/scripts/security/enforce-policies.sh +11 -16
  405. package/scripts/security/firewall.sh +76 -20
  406. package/scripts/security/lock-configs.sh +2 -2
  407. package/scripts/security/lock-screen.sh +40 -18
  408. package/scripts/security/manage-secrets.sh +42 -29
  409. package/scripts/security/ssh-cert.sh +203 -0
  410. package/scripts/security/telemetry-kill.sh +40 -18
  411. package/scripts/security/usb-safety.sh +37 -15
  412. package/scripts/theme/apply-gnome-theme.sh +87 -56
  413. package/scripts/theme/extract-theme.py +677 -0
  414. package/scripts/theme/install-boot-logo.sh +1 -0
  415. package/scripts/theme/install-catppuccin-themes.sh +57 -33
  416. package/scripts/theme/install-cursors.sh +1 -0
  417. package/scripts/theme/install-file-icons.sh +1 -0
  418. package/scripts/theme/install-grub-theme.sh +11 -1
  419. package/scripts/theme/install-lock-icon.sh +1 -0
  420. package/scripts/theme/merge-wallpaper.sh +141 -0
  421. package/scripts/theme/rebuild-themes.sh +309 -0
  422. package/scripts/theme/switch.sh +308 -137
  423. package/scripts/theme/wallpaper-rotate.sh +66 -12
  424. package/scripts/theme/wallpaper-sync.sh +386 -31
  425. package/scripts/tools/cmatrix.sh +1 -0
  426. package/scripts/tools/detect-collisions.py +1 -1
  427. package/scripts/tools/emoji-picker.sh +4 -1
  428. package/scripts/tools/figlet-banner.sh +1 -0
  429. package/scripts/tools/log-rotate.sh +2 -1
  430. package/scripts/tools/lolcat-wrap.sh +1 -0
  431. package/scripts/tools/pipes.sh +1 -0
  432. package/scripts/tuning/linux.sh +23 -13
  433. package/scripts/tuning/macos.sh +13 -4
  434. package/scripts/uninstall.sh +85 -0
  435. package/scripts/version-sync.sh +487 -0
  436. package/templates/chezmoi-data/geekom-a9.toml.example +21 -0
  437. package/templates/chezmoi-data/mac-m1.toml.example +16 -0
  438. package/templates/chezmoi-data/mac-t2-linux.toml.example +21 -0
  439. package/templates/chezmoi-data/surface-pro-7p.toml.example +21 -0
  440. package/templates/projects/go/.github/workflows/ci.yml +31 -0
  441. package/templates/projects/go/README.md +1 -1
  442. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +1 -0
  443. package/templates/projects/go/go.sum +0 -0
  444. package/templates/projects/molecule/README.md +1 -1
  445. package/templates/projects/node/.github/workflows/ci.yml +30 -0
  446. package/templates/projects/node/README.md +1 -1
  447. package/templates/projects/node/package-lock.json +12 -0
  448. package/templates/projects/node/src/index.js +1 -0
  449. package/templates/projects/packer/README.md +1 -1
  450. package/templates/projects/python/.github/workflows/ci.yml +34 -0
  451. package/templates/projects/python/README.md +1 -1
  452. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
  453. package/templates/projects/python/tests/test_basic.py +1 -0
  454. package/docs/ARCHITECTURE.md +0 -229
  455. package/docs/COMPLIANCE.md +0 -47
  456. package/docs/FEATURES.md +0 -166
  457. package/docs/FONTS.md +0 -147
  458. package/docs/INSTALL.md +0 -119
  459. package/docs/KEYS.md +0 -40
  460. package/docs/OPERATIONS.md +0 -130
  461. package/docs/PR_DESCRIPTION.md +0 -149
  462. package/docs/SECRETS.md +0 -76
  463. package/docs/SECURITY.md +0 -30
  464. package/docs/SECURITY_CHECKLIST.md +0 -25
  465. package/docs/TASK.md +0 -99
  466. package/docs/TESTING.md +0 -190
  467. package/docs/TOOLS.md +0 -146
  468. package/docs/UTILS.md +0 -105
  469. package/docs/WALKTHROUGH.md +0 -165
  470. package/dot_config/clippy.toml +0 -55
  471. package/dot_config/dotfiles/versions.env.tmpl +0 -19
  472. package/dot_config/firefox/user.js +0 -8
  473. package/dot_config/git/config.tmpl +0 -77
  474. package/dot_config/go/aliases.sh +0 -61
  475. package/dot_config/go/env.sh +0 -24
  476. package/dot_config/ice/README.md +0 -13
  477. package/dot_config/ipython/profile_default/ipython_config.py.tmpl +0 -5
  478. package/dot_config/lsd/config.yaml +0 -19
  479. package/dot_config/nvim/snippets/all.lua +0 -9
  480. package/dot_config/nvim/snippets/python.lua +0 -16
  481. package/dot_config/shell/00-container-detect.sh +0 -53
  482. package/dot_config/shell/05-core-safety.sh.tmpl +0 -13
  483. package/dot_config/shell/40-ls-colors.sh.tmpl +0 -31
  484. package/dot_config/shell/90-theme-switch.sh +0 -70
  485. package/dot_config/topgrade/topgrade.toml.tmpl +0 -42
  486. package/dot_config/waybar/style.css +0 -8
  487. package/dot_config/zsh/rc.d/20-zinit.zsh.tmpl +0 -22
  488. package/dot_local/bin/executable_zig-install +0 -89
  489. package/dot_local/bin/voice_ops +0 -7
  490. package/scripts/ops/health-check.sh +0 -380
  491. package/scripts/tests/README.md +0 -241
  492. package/scripts/tests/benchmark.sh +0 -91
  493. package/scripts/tests/framework/assertions.sh +0 -283
  494. package/scripts/tests/framework/mocks.sh +0 -201
  495. package/scripts/tests/framework/test_runner.sh +0 -189
  496. package/scripts/tests/integration/test_install.sh +0 -237
  497. package/scripts/tests/performance/benchmark_runner.sh +0 -156
  498. package/scripts/tests/performance/regression_check.sh +0 -73
  499. package/scripts/tests/performance/stress_test.sh +0 -65
  500. package/scripts/tests/test-aliases.sh +0 -25
  501. package/scripts/tests/test-docker.sh +0 -48
  502. package/scripts/tests/unit/test_ai_aliases.sh +0 -158
  503. package/scripts/tests/unit/test_ai_cli_checks.sh +0 -47
  504. package/scripts/tests/unit/test_backup.sh +0 -227
  505. package/scripts/tests/unit/test_case_functions.sh +0 -238
  506. package/scripts/tests/unit/test_cd_aliases.sh +0 -367
  507. package/scripts/tests/unit/test_dot_cli.sh +0 -217
  508. package/scripts/tests/unit/test_encode64.sh +0 -67
  509. package/scripts/tests/unit/test_environment.sh +0 -78
  510. package/scripts/tests/unit/test_extract.sh +0 -163
  511. package/scripts/tests/unit/test_framework_edge_cases.sh +0 -113
  512. package/scripts/tests/unit/test_genpass.sh +0 -298
  513. package/scripts/tests/unit/test_install_edge_cases.sh +0 -167
  514. package/scripts/tests/unit/test_installers.sh +0 -172
  515. package/scripts/tests/unit/test_keygen.sh +0 -68
  516. package/scripts/tests/unit/test_logging.sh +0 -96
  517. package/scripts/tests/unit/test_os_detection_comprehensive.sh +0 -388
  518. package/scripts/tests/unit/test_package_managers_comprehensive.sh +0 -321
  519. package/scripts/tests/unit/test_prependpath.sh +0 -66
  520. package/scripts/tests/unit/test_prependpath_refactored.sh +0 -89
  521. package/scripts/tests/unit/test_rd.sh +0 -230
  522. package/scripts/tests/unit/test_security_fixes.sh +0 -130
  523. package/scripts/tests/unit/test_security_scripts.sh +0 -87
  524. package/scripts/tests/unit/test_template_validation.sh +0 -238
  525. package/scripts/tests/unit/test_utility_functions.sh +0 -144
  526. package/scripts/tests/unit/test_wave1_alias_split.sh +0 -132
  527. package/scripts/tests/unit/test_wave1_ci_pinning.sh +0 -61
  528. package/scripts/tests/unit/test_wave1_gitleaks_config.sh +0 -52
  529. package/scripts/tests/unit/test_wave1_heal_fixes.sh +0 -97
  530. package/scripts/tests/unit/test_wave1_install_gpg.sh +0 -35
  531. package/scripts/tests/unit/test_wave1_zshenv_path.sh +0 -89
  532. package/scripts/tests/unit/test_wave1_zshrc_lazy_hook.sh +0 -115
  533. package/scripts/tests/unit/test_wave2_dot_new_guard.sh +0 -75
  534. package/scripts/tests/unit/test_zipf.sh +0 -76
  535. /package/docs/{LEGACY_ROADMAP.md → archive/LEGACY_ROADMAP.md} +0 -0
  536. /package/docs/{REPO_AUDIT.md → archive/REPO_AUDIT.md} +0 -0
  537. /package/docs/{KEY_ROTATION.md → security/KEY_ROTATION.md} +0 -0
  538. /package/dot_config/ansible/{ansible.cfg.tmpl → ansible.cfg} +0 -0
  539. /package/dot_config/docker/{config.json.tmpl → config.json} +0 -0
  540. /package/dot_config/k9s/{config.yaml.tmpl → config.yaml} +0 -0
  541. /package/dot_config/pypoetry/{config.toml.tmpl → config.toml} +0 -0
  542. /package/dot_config/{pyrightconfig.json.tmpl → pyrightconfig.json} +0 -0
  543. /package/dot_config/tflint/{tflint.hcl.tmpl → tflint.hcl} +0 -0
  544. /package/dot_config/yarn/{yarnrc.yml.tmpl → yarnrc.yml} +0 -0
  545. /package/dot_config/zsh/rc.d/{40-bell.zsh.tmpl → 40-bell.zsh} +0 -0
  546. /package/dot_config/zsh/rc.d/{50-login-fortune.zsh.tmpl → 50-login-fortune.zsh} +0 -0
@@ -0,0 +1,344 @@
1
+ # Version Synchronization System
2
+
3
+ The version synchronization system ensures that all version references across the repository remain consistent with the version specified in `package.json`.
4
+
5
+ ## Overview
6
+
7
+ ### Problem Statement
8
+ Large repositories often have version numbers scattered across multiple files:
9
+ - README badges
10
+ - Documentation headers
11
+ - Feature version stamps
12
+ - Configuration files
13
+
14
+ Manually keeping these synchronized is error-prone and time-consuming.
15
+
16
+ ### Solution Architecture
17
+ This system provides automated version synchronization through:
18
+ 1. **CI/CD Workflow** (`.github/workflows/sync-versions.yml`) - Automated synchronization on version changes
19
+ 2. **Local Script** (`scripts/version-sync.sh`) - Manual synchronization and verification
20
+ 3. **Verification System** - Ensures all references remain consistent
21
+
22
+ ## Components
23
+
24
+ ### 1. GitHub Actions Workflow
25
+
26
+ **Location**: `.github/workflows/sync-versions.yml`
27
+
28
+ **Triggers**:
29
+ - Push to `master` branch when `package.json` changes
30
+ - Pull requests affecting `package.json`
31
+ - Manual dispatch with optional target version
32
+
33
+ **Process**:
34
+ 1. **Detect Changes** - Compares current vs previous `package.json` version
35
+ 2. **Sync Versions** - Updates all markdown files with version references
36
+ 3. **Verify Consistency** - Ensures all references match target version
37
+ 4. **Commit & Push** - Automatically commits changes (except on PRs)
38
+
39
+ **Features**:
40
+ - Backup creation before changes
41
+ - Comprehensive change reporting
42
+ - PR comment integration
43
+ - Artifact preservation for rollback
44
+
45
+ ### 2. Local Synchronization Script
46
+
47
+ **Location**: `scripts/version-sync.sh`
48
+
49
+ **Usage**:
50
+ ```bash
51
+ # Sync to current package.json version
52
+ ./scripts/version-sync.sh
53
+
54
+ # Sync to specific version
55
+ ./scripts/version-sync.sh 1.2.3
56
+
57
+ # Preview changes without applying
58
+ ./scripts/version-sync.sh --dry-run
59
+
60
+ # Verify current consistency
61
+ ./scripts/version-sync.sh --verify
62
+ ```
63
+
64
+ **Options**:
65
+ - `--dry-run` - Preview changes without applying
66
+ - `--verify` - Check version consistency only
67
+ - `--backup` / `--no-backup` - Control backup creation
68
+ - `--force` - Force sync even if no changes detected
69
+
70
+ ### 3. Version Patterns
71
+
72
+ The system recognizes and updates these patterns:
73
+
74
+ #### README.md
75
+ ```markdown
76
+ [![Version](https://img.shields.io/badge/Version-v0.2.500-blue?style=for-the-badge)]
77
+ ```
78
+
79
+ #### Documentation Files
80
+ ```markdown
81
+ **Version**: v0.2.500
82
+ **Dotfiles Version**: v0.2.500
83
+ Version: v0.2.500
84
+ version 0.2.485
85
+ ```
86
+
87
+ ## Integration Points
88
+
89
+ ### CI/CD Pipeline Integration
90
+
91
+ The workflow integrates with the existing CI pipeline:
92
+
93
+ ```yaml
94
+ # Existing CI workflow can depend on version sync
95
+ needs: [sync-versions, lint-shell, test-linux]
96
+ ```
97
+
98
+ ### Git Hooks Integration
99
+
100
+ For local development, add to `.git/hooks/pre-commit`:
101
+
102
+ ```bash
103
+ #!/bin/bash
104
+ # Check version consistency before commits
105
+ ./scripts/version-sync.sh --verify || {
106
+ echo "Version inconsistency detected. Run: ./scripts/version-sync.sh"
107
+ exit 1
108
+ }
109
+ ```
110
+
111
+ ### Package.json Integration
112
+
113
+ Version changes in `package.json` automatically trigger synchronization:
114
+
115
+ ```json
116
+ {
117
+ "name": "@sebastienrousseau/dotfiles",
118
+ "version": "0.2.485", // Changes here trigger sync
119
+ "scripts": {
120
+ "version-sync": "./scripts/version-sync.sh",
121
+ "version-verify": "./scripts/version-sync.sh --verify"
122
+ }
123
+ }
124
+ ```
125
+
126
+ ## Workflow Examples
127
+
128
+ ### Scenario 1: Version Bump
129
+ ```bash
130
+ # Developer updates package.json version
131
+ npm version patch
132
+
133
+ # Push to master
134
+ git push origin master
135
+
136
+ # GitHub Actions automatically:
137
+ # 1. Detects version change
138
+ # 2. Updates all markdown files
139
+ # 3. Commits and pushes changes
140
+ # 4. Verifies consistency
141
+ ```
142
+
143
+ ### Scenario 2: PR Review
144
+ ```bash
145
+ # PR with package.json changes
146
+ # GitHub Actions automatically:
147
+ # 1. Checks version consistency
148
+ # 2. Reports any mismatches
149
+ # 3. Comments on PR with sync status
150
+ # 4. Provides diff preview
151
+ ```
152
+
153
+ ### Scenario 3: Manual Sync
154
+ ```bash
155
+ # Local development
156
+ ./scripts/version-sync.sh --dry-run # Preview changes
157
+ ./scripts/version-sync.sh # Apply changes
158
+ ./scripts/version-sync.sh --verify # Confirm consistency
159
+ ```
160
+
161
+ ## File Detection Logic
162
+
163
+ ### Automatic Discovery
164
+ The system automatically discovers files containing version references:
165
+ ```bash
166
+ rg -l "v?[0-9]+\.[0-9]+\.[0-9]+" --type md
167
+ ```
168
+
169
+ ### Known Files
170
+ These files are always included even if they don't currently contain versions:
171
+ - `README.md`
172
+ - `docs/reference/FEATURES.md`
173
+ - Any file matching version patterns
174
+
175
+ ### Exclusions
176
+ Files that are intentionally excluded:
177
+ - `CHANGELOG.md` - May contain historical versions
178
+ - `package.json` - Source of truth
179
+ - `docs/security/COMPLIANCE.md` - Includes external compliance spec versions
180
+ - `docs/reference/FONTS.md` - Includes upstream font release versions
181
+ - `docs/archive/LEGACY_ROADMAP.md` - Keeps historical release markers
182
+ - `docs/archive/PLAN.md` - Captures multi-release planning references
183
+ - `docs/operations/VERSION_SYNC.md` - Documentation examples and usage
184
+ - `docs/architecture/WALKTHROUGH.md` - Contains environment-specific tag examples
185
+ - `docs/guides/WSL2_NIX_TROUBLESHOOTING.md` - Contains IP addresses and version-like values
186
+ - Binary files
187
+ - Test fixtures
188
+
189
+ ## Error Handling
190
+
191
+ ### Common Issues
192
+
193
+ #### Version Mismatch
194
+ ```text
195
+ ❌ Found inconsistent release in docs/reference/FEATURES.md: vX.Y.Z (expected: vA.B.C)
196
+ ```
197
+ **Solution**: Run `./scripts/version-sync.sh` to fix
198
+
199
+ #### Missing Dependencies
200
+ ```text
201
+ ❌ jq is required but not installed
202
+ ```
203
+ **Solution**: Install dependencies (`jq`, `rg`)
204
+
205
+ #### Permission Issues
206
+ ```text
207
+ ❌ Permission denied writing to README.md
208
+ ```
209
+ **Solution**: Check file permissions and Git status
210
+
211
+ ### Recovery Procedures
212
+
213
+ #### Rollback Changes
214
+ ```bash
215
+ # Restore from backup
216
+ cp .version-sync-backup/README.md.*.backup README.md
217
+
218
+ # Or restore from Git
219
+ git checkout HEAD~1 -- README.md
220
+ ```
221
+
222
+ #### Force Resync
223
+ ```bash
224
+ ./scripts/version-sync.sh --force
225
+ ```
226
+
227
+ ## Monitoring & Maintenance
228
+
229
+ ### Health Checks
230
+ ```bash
231
+ # Daily verification (add to cron)
232
+ ./scripts/version-sync.sh --verify || echo "Version drift detected"
233
+ ```
234
+
235
+ ### Metrics Tracking
236
+ The GitHub Actions workflow provides metrics:
237
+ - Files scanned
238
+ - Files updated
239
+ - Verification status
240
+ - Processing time
241
+
242
+ ### Backup Strategy
243
+ - Local backups in `.version-sync-backup/`
244
+ - GitHub Actions artifacts (30-day retention)
245
+ - Git history for rollback
246
+
247
+ ## Security Considerations
248
+
249
+ ### Token Permissions
250
+ ```yaml
251
+ permissions:
252
+ contents: write # Required for commits
253
+ pull-requests: write # Required for PR comments
254
+ ```
255
+
256
+ ### Validation
257
+ - Version format validation (`x.y.z` pattern)
258
+ - File path validation (no directory traversal)
259
+ - Change verification before commit
260
+
261
+ ### Audit Trail
262
+ - All changes logged in Git history
263
+ - GitHub Actions run history
264
+ - Backup preservation
265
+
266
+ ## Performance Optimization
267
+
268
+ ### Caching Strategy
269
+ - Git operations use shallow fetch when possible
270
+ - Pattern compilation cached
271
+ - File discovery optimized with `ripgrep`
272
+
273
+ ### Parallel Processing
274
+ - File processing is sequential but optimized
275
+ - Git operations batched
276
+ - Verification runs concurrently with updates
277
+
278
+ ### Resource Usage
279
+ - Typical run time: 30-60 seconds
280
+ - Memory usage: <100MB
281
+ - Network usage: Minimal (only Git operations)
282
+
283
+ ## Future Enhancements
284
+
285
+ ### Planned Features
286
+ 1. **Smart Version Detection** - Semantic version awareness
287
+ 2. **Template Support** - Custom version patterns
288
+ 3. **Multi-Format Support** - YAML, JSON, TOML files
289
+ 4. **Rollback Automation** - One-command rollback
290
+ 5. **Integration Testing** - End-to-end workflow tests
291
+
292
+ ### Extension Points
293
+ - Custom pattern definitions
294
+ - File-specific update rules
295
+ - Pre/post-sync hooks
296
+ - External validation services
297
+
298
+ ## Troubleshooting
299
+
300
+ ### Debug Mode
301
+ ```bash
302
+ # Enable verbose output
303
+ DEBUG=1 ./scripts/version-sync.sh --dry-run
304
+ ```
305
+
306
+ ### Common Solutions
307
+ | Issue | Solution |
308
+ |-------|----------|
309
+ | Script not executable | `chmod +x scripts/version-sync.sh` |
310
+ | Missing tools | `apt install jq ripgrep` (Ubuntu) |
311
+ | Permission denied | Check Git status and file permissions |
312
+ | Workflow not triggering | Verify `package.json` changes are in push |
313
+ | Changes not committed | Check branch protection rules |
314
+
315
+ ### Log Analysis
316
+ ```bash
317
+ # View GitHub Actions logs
318
+ gh run list --workflow=sync-versions.yml
319
+ gh run view <run-id> --log
320
+ ```
321
+
322
+ ## Contributing
323
+
324
+ ### Testing Changes
325
+ ```bash
326
+ # Test local changes
327
+ ./scripts/version-sync.sh --dry-run
328
+
329
+ # Test workflow changes (requires GitHub CLI)
330
+ gh workflow run sync-versions.yml --ref feature-branch
331
+ ```
332
+
333
+ ### Adding New Patterns
334
+ 1. Update pattern regex in script
335
+ 2. Add test cases
336
+ 3. Update documentation
337
+ 4. Submit PR with examples
338
+
339
+ ---
340
+
341
+ **Last Updated**: 2026-02-15
342
+ **Version**: v0.2.500
343
+ **Maintainer**: Principal Automation Engineer
344
+ **Status**: Production Ready ✅
@@ -1,10 +1,6 @@
1
1
  # Aliases
2
2
 
3
- This page lists all shell aliases that the dotfiles provide.
4
-
5
- ## Organization
6
-
7
- The repo organizes aliases in `~/.dotfiles/.chezmoitemplates/aliases/` by category. Each category has its own directory containing a `<name>.aliases.sh` file.
3
+ Shell aliases provided by the dotfiles, organized by category in `~/.dotfiles/.chezmoitemplates/aliases/`.
8
4
 
9
5
  ## Categories
10
6
 
@@ -46,7 +42,7 @@ The repo organizes aliases in `~/.dotfiles/.chezmoitemplates/aliases/` by catego
46
42
  | `di` | `docker images` | List images |
47
43
  | `dexec` | `docker exec -it` | Execute in container |
48
44
  | `denter` | `docker exec -it <container> /bin/bash` | Enter container |
49
- | `dlogsf` | `docker logs -f` | Follow logs |
45
+ | `dlogsf` | `docker logs -f` | Follow logs (deprecated, use `dklf`) |
50
46
  | `dl` | `docker logs` | Show logs |
51
47
  | `dprune` | `docker system prune` | Clean up |
52
48
  | `dprunea` | `docker system prune -a` | Clean up all |
@@ -0,0 +1,28 @@
1
+ # Alias Cheatsheet
2
+
3
+ Auto-generated from the alias manifest.
4
+
5
+ ## Core Shortcuts
6
+
7
+ | Alias | Command |
8
+ |-------|---------|
9
+ | `c` | `clear_screen` |
10
+ | `q` | `quit` |
11
+ | `e` | `${EDITOR:-nano}` |
12
+ | `h` | `history` |
13
+ | `_` | `sudo ` |
14
+ | `i` | `epoch` |
15
+ | `l` | `dot_ls` |
16
+ | `ll` | `dot_ll` |
17
+ | `la` | `dot_la` |
18
+ | `lr` | `dot_lr` |
19
+ | `lra` | `dot_lra` |
20
+ | `lt` | `dot_lt` |
21
+ | `lta` | `dot_lta` |
22
+ | `a` | `ai_core query` |
23
+ | `d` | `dot` |
24
+
25
+ ## Notes
26
+
27
+ - Regenerate with `dot aliases cheatsheet`.
28
+ - Apply changes with `chezmoi apply`.
@@ -0,0 +1,9 @@
1
+ # Alias Deprecations
2
+
3
+ This file tracks aliases that we've kept temporarily for backwards compatibility.
4
+
5
+ | Alias | Replacement | Remove In | Note |
6
+ |-------|-------------|-----------|------|
7
+ | `dlogsf` | `dklf` | `v0.2.500` | Removed duplicate logs-follow alias |
8
+
9
+ Use `dot aliases why <alias>` to check deprecation status from the CLI.
@@ -0,0 +1,62 @@
1
+ # Feature Flags Reference
2
+
3
+ Feature flags let you turn parts of the dotfiles on or off. All flags live in `.chezmoidata.toml` under `[features]`. Set a flag to `true` to enable it, or `false` to disable it. Changes take effect after you run `dot apply`.
4
+
5
+ ## Shell and Terminal
6
+
7
+ These flags control shell behavior and terminal tools.
8
+
9
+ | Flag | Default | Description |
10
+ |------|---------|-------------|
11
+ | `alias_wrapper` | `false` | Enable alias governance wrapper (confirms destructive aliases) |
12
+ | `dms` | `true` | Dank Material Shell theming for GNOME |
13
+ | `zellij` | `false` | Enable Zellij terminal multiplexer config |
14
+
15
+ ## Linux Desktop
16
+
17
+ These flags enable Wayland desktop components. Turn them on if you run a Linux desktop with Niri or another tiling compositor.
18
+
19
+ | Flag | Default | Description |
20
+ |------|---------|-------------|
21
+ | `linux_desktop` | `false` | Enable full Linux desktop environment configs |
22
+ | `niri` | `false` | Niri Wayland compositor config |
23
+ | `waybar` | `false` | Waybar status bar config |
24
+ | `fuzzel` | `false` | Fuzzel application launcher config |
25
+ | `mako` | `false` | Mako notification daemon config |
26
+ | `foot` | `false` | Foot terminal emulator config |
27
+ | `kanshi` | `false` | Kanshi display manager config |
28
+
29
+ ## Hardware
30
+
31
+ | Flag | Default | Description |
32
+ |------|---------|-------------|
33
+ | `touch` | `false` | Enable touchscreen support (gestures, on-screen keyboard) |
34
+ | `t2` | `false` | Apple T2 security chip handling |
35
+ | `surface` | `false` | Microsoft Surface hardware support |
36
+
37
+ ## Tool Selection
38
+
39
+ | Setting | Default | Options |
40
+ |---------|---------|---------|
41
+ | `node_manager` | `mise` | `mise`, `fnm`, `nvm` |
42
+
43
+ ## Alias Policy
44
+
45
+ | Setting | Default | Description |
46
+ |---------|---------|-------------|
47
+ | `aliases.buckets.system` | `true` | Enable system utility aliases |
48
+ | `aliases.buckets.svn` | `true` | Enable SVN aliases |
49
+ | `aliases.policy.strict_mode` | `false` | Require confirmation for destructive aliases (rm, mv) |
50
+
51
+ ## How to Toggle Features
52
+
53
+ You can edit flags in two places. Change `.chezmoidata.toml` in the repo to set defaults for all machines. Or override on a single machine in `~/.config/chezmoi/chezmoi.toml`:
54
+
55
+ ```bash
56
+ # In ~/.config/chezmoi/chezmoi.toml
57
+ [data.features]
58
+ zellij = true
59
+ linux_desktop = true
60
+ ```
61
+
62
+ Then apply: `dot apply`
@@ -0,0 +1,108 @@
1
+ # Font configuration
2
+
3
+ How fonts are set up, rendered, and installed in these dotfiles.
4
+
5
+ ## Recommended fonts
6
+
7
+ ### Primary: JetBrains Mono Nerd Font
8
+
9
+ The default font is JetBrains Mono with Nerd Font patches. It's designed for code readability, supports ligatures, includes Powerline/Nerd Font glyphs, and clearly distinguishes similar characters (`0`/`O`, `1`/`l`/`I`).
10
+
11
+ ### Alternatives
12
+
13
+ | Font | Style | Best for |
14
+ |------|-------|----------|
15
+ | Fira Code | Modern | Ligature fans |
16
+ | Cascadia Code | Microsoft | VS Code users |
17
+ | Hack | Classic | Traditional monospace look |
18
+ | Source Code Pro | Adobe | Clean aesthetic |
19
+ | Iosevka | Narrow | Small screens |
20
+
21
+ ## Installation
22
+
23
+ ### macOS (Homebrew)
24
+
25
+ ```bash
26
+ brew tap homebrew/cask-fonts
27
+ brew install --cask font-jetbrains-mono-nerd-font
28
+
29
+ # Or use the dot CLI
30
+ dot fonts install
31
+ ```
32
+
33
+ ### Linux (manual)
34
+
35
+ ```bash
36
+ wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.4.0/JetBrainsMono.zip
37
+ unzip JetBrainsMono.zip -d ~/.local/share/fonts/
38
+ fc-cache -fv
39
+ ```
40
+
41
+ ### Patching your own fonts
42
+
43
+ To patch a custom font with Nerd Font glyphs:
44
+
45
+ ```bash
46
+ ~/.dotfiles/scripts/fonts/patch-fonts.sh /path/to/font.ttf
47
+ ```
48
+
49
+ ## Terminal configuration
50
+
51
+ ### Ghostty
52
+
53
+ ```text
54
+ font-family = JetBrains Mono Nerd Font
55
+ font-size = 14
56
+ ```
57
+
58
+ ### WezTerm
59
+
60
+ ```lua
61
+ config.font = wezterm.font("JetBrains Mono Nerd Font")
62
+ config.font_size = 14.0
63
+ ```
64
+
65
+ ### Alacritty
66
+
67
+ ```yaml
68
+ font:
69
+ normal:
70
+ family: JetBrains Mono Nerd Font
71
+ size: 14.0
72
+ ```
73
+
74
+ ### Kitty
75
+
76
+ ```text
77
+ font_family JetBrains Mono Nerd Font
78
+ font_size 14.0
79
+ ```
80
+
81
+ ## Font size recommendations
82
+
83
+ | Display | Size |
84
+ |---------|------|
85
+ | 13" laptop | 12-13pt |
86
+ | 15" laptop | 13-14pt |
87
+ | 24" monitor | 14-15pt |
88
+ | 27" 4K monitor | 15-16pt |
89
+
90
+ ## Troubleshooting
91
+
92
+ ### Fonts not displaying correctly
93
+
94
+ 1. Verify the font is installed: `fc-list | grep JetBrains`
95
+ 2. Restart your terminal
96
+ 3. Double-check the terminal's font settings
97
+
98
+ ### Nerd Font icons missing
99
+
100
+ 1. Make sure you're using a Nerd Font variant (not the plain version)
101
+ 2. Confirm the terminal supports the required Unicode range
102
+ 3. Try a different Nerd Font if the issue persists
103
+
104
+ ### Ligatures not working
105
+
106
+ 1. Enable ligatures in your terminal's settings
107
+ 2. Some terminals don't support ligatures (e.g., `Terminal.app`)
108
+ 3. Ghostty, WezTerm, and Kitty all handle ligatures well
@@ -0,0 +1,65 @@
1
+ # Profiles and Machine Setup
2
+
3
+ ## Profile System
4
+
5
+ You can set up each machine differently using profiles and hardware presets.
6
+
7
+ ### Setting Your Profile
8
+
9
+ Edit `~/.config/chezmoi/chezmoi.toml`:
10
+
11
+ ```toml
12
+ [data]
13
+ profile = "laptop" # laptop | minimal | server
14
+ machine = "macbook-m3" # optional: machine identifier
15
+ ```
16
+
17
+ ### Available Profiles
18
+
19
+ | Profile | Description | What's Included |
20
+ |---------|-------------|-----------------|
21
+ | `laptop` | Full desktop setup (default) | All tools, AI CLIs, themes, completions |
22
+ | `minimal` | Fast, lightweight | Core shell, git, basic aliases only |
23
+ | `server` | Headless server | Shell, git, monitoring tools, no desktop |
24
+
25
+ ### Per-Machine Overrides
26
+
27
+ Create a `~/.config/chezmoi/chezmoi.toml` file on each machine to override defaults:
28
+
29
+ ```toml
30
+ [data]
31
+ profile = "laptop"
32
+ machine = "work-macbook"
33
+ default_shell = "zsh"
34
+
35
+ [data.features]
36
+ linux_desktop = false
37
+ zellij = true
38
+ ```
39
+
40
+ ### Hardware Presets
41
+
42
+ The `templates/chezmoi-data/` folder has ready-made configs for common hardware:
43
+
44
+ - `mac-m1.toml.example` — Apple Silicon MacBook
45
+ - `geekom-a9.toml.example` — AMD mini PC (Linux)
46
+ - `surface-pro-7p.toml.example` — Microsoft Surface (Linux)
47
+ - `mac-t2-linux.toml.example` — Intel Mac running Linux
48
+
49
+ Copy the one that matches your hardware:
50
+
51
+ ```bash
52
+ cp templates/chezmoi-data/mac-m1.toml.example ~/.config/chezmoi/chezmoi.toml
53
+ chezmoi apply
54
+ ```
55
+
56
+ ### Environment Variables
57
+
58
+ You can change behavior for a single session without editing any files:
59
+
60
+ | Variable | Default | Effect |
61
+ |----------|---------|--------|
62
+ | `DOTFILES_FAST=1` | 0 | Skip heavy layers (zinit, completions) |
63
+ | `DOTFILES_ULTRA_FAST=1` | 0 | Bare minimum shell (aliases + prompt) |
64
+ | `DOTFILES_AI=1` | 0 | Enable AI helper scripts |
65
+ | `DOTFILES_PROFILE=custom` | laptop | Override profile for session |