@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
@@ -1,20 +1,21 @@
1
- # Screenshots gallery
1
+ # Screenshots Gallery
2
2
 
3
- See how the dotfiles look across different themes and configurations.
3
+ Here's how the dotfiles look across different themes and configurations.
4
4
 
5
- ## Theme gallery
5
+ ## Theme Gallery
6
6
 
7
7
  ### Catppuccin Mocha (default)
8
8
 
9
- The default theme, Catppuccin Mocha, gives you a dark palette with warm, muted colors.
9
+ The default theme. Catppuccin Mocha gives you a dark palette with warm, muted colors.
10
10
 
11
- ```
11
+ ```text
12
12
  Terminal: Ghostty / WezTerm / Alacritty
13
- Font: JetBrains Mono Nerd Font
14
- Theme: Catppuccin Mocha
13
+ Font: JetBrains Mono Nerd Font
14
+ Theme: Catppuccin Mocha
15
15
  ```
16
16
 
17
17
  Key colors:
18
+
18
19
  - Background: `#1e1e2e`
19
20
  - Foreground: `#cdd6f4`
20
21
  - Accent Blue: `#89b4fa`
@@ -24,25 +25,25 @@ Key colors:
24
25
 
25
26
  A light theme option for daytime use.
26
27
 
27
- ```
28
+ ```text
28
29
  Terminal: Ghostty / WezTerm / Alacritty
29
- Font: JetBrains Mono Nerd Font
30
- Theme: Catppuccin Latte
30
+ Font: JetBrains Mono Nerd Font
31
+ Theme: Catppuccin Latte
31
32
  ```
32
33
 
33
34
  Key colors:
35
+
34
36
  - Background: `#eff1f5`
35
37
  - Foreground: `#4c4f69`
36
38
  - Accent Blue: `#1e66f5`
37
39
  - Accent Red: `#d20f39`
38
40
 
39
- ## Terminal configurations
41
+ ## Terminal Configurations
40
42
 
41
43
  ### Ghostty
42
44
 
43
45
  Modern, native terminal with GPU acceleration.
44
46
 
45
- Features:
46
47
  - Native macOS integration
47
48
  - Fast rendering
48
49
  - Ligature support
@@ -52,7 +53,6 @@ Features:
52
53
 
53
54
  Cross-platform terminal with Lua configuration.
54
55
 
55
- Features:
56
56
  - GPU acceleration
57
57
  - Multiple windows/tabs
58
58
  - Hyperlinks
@@ -62,7 +62,6 @@ Features:
62
62
 
63
63
  Minimal, fast terminal.
64
64
 
65
- Features:
66
65
  - Fast rendering
67
66
  - Simple YAML config
68
67
  - Vi mode
@@ -72,7 +71,6 @@ Features:
72
71
 
73
72
  Feature-rich terminal.
74
73
 
75
- Features:
76
74
  - GPU rendering
77
75
  - Ligatures
78
76
  - Image support
@@ -80,7 +78,8 @@ Features:
80
78
 
81
79
  ## Prompt (Starship)
82
80
 
83
- Your Starship prompt displays:
81
+ The Starship prompt displays:
82
+
84
83
  - Current directory
85
84
  - Git branch and status
86
85
  - Language versions (when relevant)
@@ -89,28 +88,30 @@ Your Starship prompt displays:
89
88
 
90
89
  ## Neovim
91
90
 
92
- Your Neovim configuration includes:
91
+ The Neovim configuration includes:
92
+
93
93
  - Catppuccin theme
94
94
  - Treesitter syntax highlighting
95
95
  - LSP integration
96
96
  - Telescope fuzzy finder
97
- - File tree (nvim-tree)
97
+ - File tree (`nvim-tree`)
98
98
 
99
99
  ## tmux
100
100
 
101
- Your tmux status bar displays:
101
+ The tmux status bar displays:
102
+
102
103
  - Session name
103
104
  - Current window
104
105
  - Host name
105
106
  - Date and time
106
107
 
107
- ## Adding screenshots
108
+ ## Adding Screenshots
108
109
 
109
110
  To contribute screenshots:
110
111
 
111
- 1. Take a screenshot of your terminal
112
- 2. Save as PNG in `docs/themes/`
113
- 3. Add reference in this file
114
- 4. Submit a PR
112
+ 1. Take a screenshot of your terminal.
113
+ 2. Save it as a PNG in `docs/themes/`.
114
+ 3. Add a reference in this file.
115
+ 4. Submit a PR.
115
116
 
116
- Recommended screenshot size: 1920x1080 or 2560x1440
117
+ Recommended screenshot size: 1920x1080 or 2560x1440.
@@ -0,0 +1,67 @@
1
+ # Script Catalog
2
+
3
+ Exhaustive catalog of user-facing executables installed from `dot_local/bin/`.
4
+
5
+ ## Core and dotfiles workflows
6
+
7
+ | Command | Description |
8
+ |---------|-------------|
9
+ | `dot` | Primary dotfiles command-line interface |
10
+ | `dot-ai` | Legacy AI query wrapper for local dotfiles context |
11
+ | `dot-bootstrap` | Deterministic bootstrap entrypoint for fresh machines |
12
+ | `dot-launch-or-focus` | Launch or focus desktop applications and sessions |
13
+ | `dot-load-benchmark` | Measure heavy shell layer readiness in a fresh shell |
14
+ | `dot-load-benchmark-pty` | PTY-based readiness benchmark for shell prewarm flows |
15
+ | `dot-theme-sync` | Synchronize managed theme state across tools |
16
+ | `update` | Update the managed dotfiles environment |
17
+ | `tour` | Interactive guided tour of the dotfiles environment |
18
+
19
+ ## AI and git helpers
20
+
21
+ | Command | Description |
22
+ |---------|-------------|
23
+ | `ai-update` | Update AI-related CLIs, runtimes, and supporting tools |
24
+ | `ai_core` | Local AI runtime wrapper and provider fallback core |
25
+ | `git-ai-commit` | Generate commit messages from staged changes with AI |
26
+ | `git-ai-diff` | Review diffs and change sets with AI assistance |
27
+ | `antigravity` | Safe wrapper for Antigravity updater execution |
28
+
29
+ ## Clipboard, encoding, and data inspection
30
+
31
+ | Command | Description |
32
+ |---------|-------------|
33
+ | `b64` | Base64 encode and decode utility |
34
+ | `bm` | Directory bookmark manager |
35
+ | `cb` | Cross-platform clipboard helper |
36
+ | `dtags` | Inspect Docker image tags |
37
+ | `epoch` | Convert between human time and Unix epoch values |
38
+ | `extract` | Archive extraction helper |
39
+ | `hash` | Compute hashes for strings or files |
40
+ | `hashsum` | Cross-platform cryptographic hash calculator |
41
+ | `hex` | Hex dump and transformation helper |
42
+ | `jsonv` | JSON validator and formatter |
43
+ | `jwt` | JWT decoder and payload inspector |
44
+ | `regex` | Regular expression testing helper |
45
+ | `uuid` | UUID generation utility |
46
+ | `yamlv` | YAML validator |
47
+
48
+ ## System, network, and session tools
49
+
50
+ | Command | Description |
51
+ |---------|-------------|
52
+ | `gd` | Git diff workflow helper |
53
+ | `gbd` | Git branch deletion workflow helper |
54
+ | `gl` | Git log workflow helper |
55
+ | `kill-port` | Terminate processes bound to a TCP or UDP port |
56
+ | `lorem` | Lorem ipsum text generator |
57
+ | `monitor` | System monitor and environment inspection helper |
58
+ | `myip` | Show public and local IP addresses |
59
+ | `notify` | Cross-platform desktop notification helper |
60
+ | `open` | Cross-platform opener for files, URLs, and paths |
61
+ | `pw` | Password and secret helper utility |
62
+ | `rec-start` | Start shell session recording |
63
+ | `rec-stop` | Stop shell session recording |
64
+ | `start-niri` | Launch a Niri compositor session |
65
+ | `tmux-sessionizer` | Fuzzy tmux session and project switcher |
66
+ | `up` | Jump up directory levels quickly |
67
+ | `win` | WSL bridge for launching Windows programs |
@@ -0,0 +1,74 @@
1
+ # Support Matrix
2
+
3
+ Tested platform and tool combinations for the dotfiles distribution.
4
+
5
+ ## Operating Systems
6
+
7
+ | OS | Version | Architecture | Status | Notes |
8
+ |----|---------|-------------|--------|-------|
9
+ | macOS | 14+ (Sonoma) | aarch64 (Apple Silicon) | Supported | Primary dev platform |
10
+ | macOS | 14+ (Sonoma) | x86_64 | Supported | CI tested |
11
+ | Ubuntu | 22.04+ | x86_64 | Supported | CI tested |
12
+ | Ubuntu | 22.04+ | aarch64 | Supported | Tested manually |
13
+ | Debian | 12+ | x86_64 | Supported | Compatible with Ubuntu |
14
+ | Fedora | 39+ | x86_64 | Community | Not CI tested |
15
+ | Arch Linux | Rolling | x86_64 | Community | Not CI tested |
16
+ | WSL2 | Ubuntu 22.04+ | x86_64 | Supported | Clipboard bridge included |
17
+ | NixOS | 23.11+ | x86_64/aarch64 | Supported | Via Nix Flake |
18
+
19
+ ## Shells
20
+
21
+ | Shell | Min Version | Status | Parity Tier | Notes |
22
+ |-------|-------------|--------|-------------|-------|
23
+ | Zsh | 5.8+ | Supported | Tier 1 (Full) | Default shell, all features |
24
+ | Bash | 5.0+ | Supported | Tier 1 (Full) | Shared logic core |
25
+ | Fish | 4.0+ | Supported | Tier 1 (Core CLI) | Native `dot`, `dm`, `da`, `dmc`, `datt`, and cached alias bridge |
26
+ | Nushell | 0.98+ | Supported | Tier 1 (Core CLI) | Native `d`, `dm`, `da`, `dmc`, `datt` aliases for core workflows |
27
+ | PowerShell | 7.5+ | Supported | Tier 1 (Core CLI) | Managed profile, `dot` wrapper, modern listing helpers, and attestation aliases |
28
+
29
+ ## Terminal Emulators
30
+
31
+ | Terminal | Status | Notes |
32
+ |----------|--------|-------|
33
+ | Ghostty | Supported | Primary, custom config in `dot_config/ghostty/` |
34
+ | iTerm2 | Supported | macOS, profile config included |
35
+ | Alacritty | Supported | Config in `dot_config/alacritty/` |
36
+ | Kitty | Supported | Config in `dot_config/kitty/` |
37
+ | WezTerm | Supported | Config in `dot_config/wezterm/` |
38
+ | Windows Terminal | Supported | WSL2 profile |
39
+ | tmux | Supported | Config in `dot_config/tmux/` |
40
+
41
+ ## Key Tools
42
+
43
+ | Tool | Min Version | Required | Notes |
44
+ |------|-------------|----------|-------|
45
+ | chezmoi | 2.40+ | Yes | Core dotfiles manager |
46
+ | git | 2.35+ | Yes | Version control |
47
+ | curl | 7.0+ | Yes | Bootstrap installer |
48
+ | Neovim | 0.11.2+ | No | IDE config, lazy.nvim plugins |
49
+ | Starship | 1.17+ | No | Cross-shell prompt |
50
+ | mise | 2024.1+ | No | Tool version manager |
51
+ | Nix | 2.18+ | No | Reproducible environments |
52
+ | fzf | 0.48+ | No | Fuzzy finder |
53
+ | zoxide | 0.9+ | No | Smart directory jumper |
54
+ | atuin | 18.0+ | No | Shell history sync |
55
+ | pueue | 3.0+ | No | Background task manager |
56
+
57
+ ## CI Environments
58
+
59
+ | Environment | Workflow | Platform | Status |
60
+ |------------|----------|----------|--------|
61
+ | GitHub Actions (Linux) | `ci.yml` | ubuntu-latest | Tested on every PR |
62
+ | GitHub Actions (macOS) | `ci.yml` | macos-latest | Tested on every PR |
63
+ | GitHub Actions (Enforced) | `ci-enforced.yml` | ubuntu-latest | Stricter checks |
64
+ | Devcontainer | `devcontainer-prebuild.yml` | ubuntu-latest | Pre-built images |
65
+
66
+ ## Known Limitations
67
+
68
+ | Platform | Limitation | Workaround |
69
+ |----------|-----------|------------|
70
+ | WSL2 | No native clipboard | `clip.exe`/`powershell.exe` bridge aliases |
71
+ | NixOS | System packages conflict | Use Nix Flake exclusively |
72
+ | Fish < 4.0 | No keyboard protocol | Upgrade to Fish 4.x |
73
+ | Nushell | Complex aliases skipped | Core `dot` workflow remains first-class |
74
+ | macOS Intel | Homebrew path differs | Template handles `/usr/local` vs `/opt/homebrew` |
@@ -0,0 +1,113 @@
1
+ # Themes
2
+
3
+ Themes are auto-generated from wallpapers. K-Means clustering in CIELAB color space extracts dominant colors. Every theme is WCAG AAA compliant.
4
+
5
+ There is no fixed theme catalog. The available themes depend on which wallpapers are present on your system. Run `dot theme list` to see what's discovered.
6
+
7
+ ## Source of truth
8
+
9
+ Wallpapers — not `themes.toml` — are the source of truth. The system discovers wallpapers from two locations:
10
+
11
+ 1. **System wallpapers** — platform-native (macOS `/System/Library/Desktop Pictures/`, Linux `/usr/share/backgrounds/`)
12
+ 2. **Custom wallpapers** — `~/Pictures/Wallpapers/` (custom overrides system on name collision)
13
+
14
+ `extract-theme.py` runs K-Means++ in CIELAB on each wallpaper, generates a 16-color terminal palette plus UI/app mappings, and enforces WCAG AAA contrast. `rebuild-themes.sh` orchestrates discovery → parallel extraction → assembly into `.chezmoidata/themes.toml` (cached in `~/.cache/dotfiles/themes/`, regenerated only when wallpapers change).
15
+
16
+ `.chezmoidata/themes.toml` is a **generated artifact**. Do not edit it directly.
17
+
18
+ ## Quick Start
19
+
20
+ ```bash
21
+ dot theme # Interactive picker (paired wallpaper themes only)
22
+ dot theme tahoe-dark # Switch directly
23
+ dot theme toggle # Swap dark↔light within current family
24
+ dot theme rebuild # Regenerate from current wallpapers
25
+ dot theme list # Show paired themes with System/Custom source
26
+ ```
27
+
28
+ ## Runtime Apply Behavior
29
+
30
+ `dot theme` writes the selected theme to `.chezmoidata.toml`, regenerates target configs through chezmoi, then attempts live reloads for running applications.
31
+
32
+ - **macOS**:
33
+ - Applies system Light/Dark appearance via `osascript` (`System Events`)
34
+ - Applies the wallpaper's derived accent color via `defaults write -g AppleAccentColor` and `AppleHighlightColor`
35
+ - Forces UI refresh via `killall cfprefsd SystemUIServer Dock "System Settings"`
36
+ - Sets desktop wallpaper across all displays via `osascript`
37
+ - **Linux**:
38
+ - Applies desktop color scheme through `gsettings`
39
+ - Sets `picture-uri` and `picture-uri-dark` separately
40
+ - Auto-converts HEIC → PNG via `magick`/`heif-convert`/`convert`
41
+ - DMS (Dank Material Shell) integration when present
42
+
43
+ ## Theme Naming
44
+
45
+ Themes follow the pattern `<wallpaper-name>-<dark|light>`. The wallpaper filename (lowercased, hyphenated) becomes the theme family.
46
+
47
+ Examples (depend on what's present on your system):
48
+
49
+ | Wallpaper file | Generated themes |
50
+ |:---|:---|
51
+ | `~/Pictures/Wallpapers/tahoe.heic` (dynamic HEIC, 2 frames) | `tahoe-dark`, `tahoe-light` |
52
+ | `/System/Library/Desktop Pictures/Sonoma.heic` | `sonoma-dark`, `sonoma-light` |
53
+ | `/System/Library/Desktop Pictures/.thumbnails/Dome Dark.heic` + `Dome Light.heic` | `dome-dark`, `dome-light` |
54
+
55
+ Only paired themes (with both dark and light variants) appear in `dot theme` and `dot theme list`.
56
+
57
+ ## Custom Wallpapers — Dynamic HEIC
58
+
59
+ Custom wallpapers in `~/Pictures/Wallpapers/` ship as Apple-compatible dynamic HEIC files: a single `.heic` containing both light and dark images, tagged with `apple_desktop:apr` XMP metadata. macOS auto-switches the displayed image based on appearance mode.
60
+
61
+ To merge separate dark + light pairs into a single dynamic HEIC:
62
+
63
+ ```bash
64
+ bash scripts/theme/merge-wallpaper.sh # merge all pairs in ~/Pictures/Wallpapers/
65
+ bash scripts/theme/merge-wallpaper.sh tahoe # merge a specific family
66
+ bash scripts/theme/merge-wallpaper.sh --dry-run # preview only
67
+ ```
68
+
69
+ ## Generated Theme Schema
70
+
71
+ Each theme block in the generated `themes.toml` follows this schema:
72
+
73
+ ```toml
74
+ [themes.example-dark]
75
+ mode = "dark" # "dark" or "light"
76
+ family = "example" # groups dark/light variants
77
+ macos_accent = 4 # derived from accent hue (0-6, -1=Graphite)
78
+ wallpaper = "/path/to/wallpaper.heic"
79
+ source = "custom" # "custom" or "system"
80
+
81
+ [themes.example-dark.term]
82
+ bg, fg, cursor, cursor_text, sel_bg, sel_fg
83
+ c0 .. c15 # 16 ANSI colors
84
+
85
+ [themes.example-dark.ui]
86
+ accent, accent_text # white text always 7:1 against accent
87
+ error, warning, success, info
88
+ panel, border # contrast-bound (1.03-2.0 for panel, 1.08-3.5 for border)
89
+
90
+ [themes.example-dark.app]
91
+ nvim, nvim_style, lualine
92
+ gtk_theme, gtk_icon, gnome_shell, gnome_gtk
93
+ vscode, vscode_dark, vscode_light
94
+ cat_wallpaper
95
+ starship_palette
96
+ ```
97
+
98
+ ## Adding a Theme
99
+
100
+ To add a new theme, add a wallpaper — there are no manual TOML edits.
101
+
102
+ 1. Drop a wallpaper into `~/Pictures/Wallpapers/`
103
+ 2. (Optional) Use `merge-wallpaper.sh` to combine separate dark/light files into a single dynamic HEIC
104
+ 3. Run `dot theme rebuild` to regenerate `themes.toml` (parallel K-Means extraction, ~1-4s per wallpaper)
105
+ 4. Run `dot theme <name>` to test
106
+ 5. Verify with `chezmoi diff` before applying
107
+
108
+ For best results, wallpapers should be 6016×6016 dynamic HEIC with ~1.6× brightness ratio between dark and light variants (golden ratio). Lower-resolution images are auto-resized; non-paired wallpapers are skipped from the picker.
109
+
110
+ ## See Also
111
+
112
+ - [Theming Guide](../guides/THEMING.md) — full pipeline documentation
113
+ - [Utilities](UTILS.md) — `dot theme` command reference
@@ -0,0 +1,105 @@
1
+ # Tools
2
+
3
+ Integrated tools organized by role in the workflow.
4
+
5
+ ---
6
+
7
+ ## Core Shells
8
+
9
+ | Tool | Purpose | Key Feature |
10
+ | :--- | :--- | :--- |
11
+ | **Zsh** | Primary shell | Modular `rc.d` architecture with lazy-loading |
12
+ | **Fish** | Interactive shell | Fast startup via dynamic alias-to-function autoloading |
13
+ | **Nushell** | Data shell | Structured data pipelines |
14
+ | **Starship** | Cross-shell prompt | Async segment rendering |
15
+
16
+ ---
17
+
18
+ ## Infrastructure and Portability
19
+
20
+ | Tool | Category | Description |
21
+ | :--- | :--- | :--- |
22
+ | **Nix Flakes** | Deterministic environments | Reproducible setups via `flake.nix` |
23
+ | **Chezmoi** | Dotfiles manager | Template-based configuration across machines |
24
+ | **Direnv** | Environment management | Automatic environment injection on `cd` |
25
+ | **Mise** | Runtime manager | Polyglot version manager (Node, Python, Rust, Go) |
26
+
27
+ ---
28
+
29
+ ## Automation and Advanced Tools
30
+
31
+ | Tool | Purpose | Description |
32
+ | :--- | :--- | :--- |
33
+ | **Pueue** | Task queue | Offload long-running tasks to a background daemon |
34
+ | **Wasmtime** | Wasm runtime | Run pre-compiled Rust/Zig tools as WebAssembly modules |
35
+ | **SOPS** | Secrets operations | Encrypted secrets with automatic en/decryption |
36
+
37
+ ---
38
+
39
+ ## Navigation and Discovery
40
+
41
+ | Tool | Description |
42
+ | :--- | :--- |
43
+ | **Yazi** | Terminal file manager — use `yy` to `cd` on exit |
44
+ | **Ripgrep (rg)** | Fast recursive text search |
45
+ | **fd** | Simpler, faster alternative to `find` |
46
+ | **Zoxide** | Fuzzy directory jumper (replaces `cd`) |
47
+ | **fzf** | Interactive fuzzy finder for files, history, and git |
48
+
49
+ ---
50
+
51
+ ## Modern CLI Replacements
52
+
53
+ | Classic | Replacement | Improvement |
54
+ | :--- | :--- | :--- |
55
+ | `ls` | **eza** | Icons, git status, better colors |
56
+ | `cat` | **bat** | Syntax highlighting and git integration |
57
+ | `top` | **btop** | Visual system resource dashboard |
58
+ | `df` | **duf** | Readable disk usage overview |
59
+ | `du` | **dust** | Visual breakdown of folder sizes |
60
+ | `ps` | **procs** | Improved process tracking |
61
+
62
+ ---
63
+
64
+ ## Terminal Ecosystem
65
+
66
+ | Tool | Style | Platform |
67
+ | :--- | :--- | :--- |
68
+ | **Ghostty** | Native / GPU | macOS, Linux |
69
+ | **Zellij** | Layout-aware multiplexer | Cross-platform |
70
+ | **Tmux** | Classic multiplexer | Cross-platform |
71
+ | **Fastfetch** | System info | Cross-platform |
72
+
73
+ ---
74
+
75
+ ## Developer Tools
76
+
77
+ | Tool | Description |
78
+ | :--- | :--- |
79
+ | **Neovim** | Lua-based configuration with lazy.nvim |
80
+ | **Lazygit** | TUI for Git workflows |
81
+ | **Delta** | Syntax-highlighted side-by-side diffs |
82
+ | **Just** | Task runner (replaces Makefiles) |
83
+ | **Age** | Modern file encryption |
84
+ | **GnuPG** | PGP standard for signing and encryption |
85
+
86
+ ---
87
+
88
+ ## AI Pair Programming
89
+
90
+ Detailed guide: [AI.md](../AI.md).
91
+
92
+ | Tool | Description |
93
+ | :--- | :--- |
94
+ | **Aider** | Git-native AI pair programming |
95
+ | **Claude CLI** | Anthropic's terminal assistant |
96
+ | **Copilot CLI** | GitHub Copilot in the terminal |
97
+ | **Kiro CLI** | Agentic AI terminal assistant |
98
+ | **Gemini CLI** | Google's multi-modal CLI tool |
99
+ | **Mods/Fabric** | Pipeline-friendly AI processing |
100
+ | **sgpt** | Shell-GPT for terminal AI queries |
101
+ | **Ollama** | Run large language models locally |
102
+ | **Autohand Code** | Autohand coding agent CLI |
103
+ | **Mistral Vibe** | Mistral AI coding agent |
104
+ | **Qwen Code** | Qwen AI coding assistant |
105
+ | **ZAI** | Zhipu AI GLM coding agent |
@@ -0,0 +1,151 @@
1
+ # Utilities
2
+
3
+ Aliases, functions, and the `dot` CLI provide day-to-day tooling across macOS, Linux, and WSL.
4
+
5
+ ## Dot CLI
6
+
7
+ The `dot` command is the main interface for managing dotfiles. Run `dot version` or `dot --version` to check the installed version.
8
+
9
+ ### Core commands
10
+
11
+ | Command | Description |
12
+ |---------|-------------|
13
+ | `dot commit` | Create an AI-assisted conventional commit |
14
+ | `dot apply` | Apply dotfiles (`chezmoi apply`) |
15
+ | `dot sync` | Alias of apply |
16
+ | `dot update` | Pull latest changes and apply |
17
+ | `dot add <file>` | Add a file to chezmoi source |
18
+ | `dot diff` | Show local changes (excludes scripts) |
19
+ | `dot status` | Show configuration drift |
20
+ | `dot remove <path>` | Safely remove a managed file |
21
+ | `dot cd` | Print source directory path |
22
+ | `dot edit` | Open source in your editor |
23
+ | `dot clean-cache` | Clear generated shell initialization caches |
24
+ | `dot prewarm` | Regenerate shell caches for fast startup |
25
+ | `dot bundle` | Create an offline portable archive |
26
+ | `dot upgrade` | Update toolchains, plugins, and dotfiles |
27
+ | `dot packages` | Show installed packages and package managers |
28
+ | `dot cache-refresh` | Rebuild generated shell state |
29
+ | `dot search <term>` | Find commands by keyword |
30
+ | `dot help` | Show command help and the public reference |
31
+ | `dot version` | Show the installed dotfiles version |
32
+
33
+ ### Diagnostics
34
+
35
+ | Command | Description |
36
+ |---------|-------------|
37
+ | `dot doctor` | Run system health checks (`--score|-s`, `--heal|-H`) |
38
+ | `dot health` | Run the health dashboard (`--verbose|-v`, `--json|-j`, `--fix|-f`, `--force|-F`) |
39
+ | `dot heal` | Auto-repair missing tools, chezmoi drift, broken symlinks, and critical files (`--dry-run|-n`, `--force|-f`) |
40
+ | `dot smoke-test` | Verify toolchains (Rust, Go, AI CLIs) |
41
+ | `dot verify` | Run security and integrity verification (`--security|-s`) |
42
+ | `dot chaos` | Simulate config corruption to test self-healing |
43
+ | `dot rollback` | Roll back dotfiles to the previous known-good state |
44
+ | `dot drift` | Detailed configuration drift dashboard |
45
+ | `dot benchmark` | Measure shell startup time (`--detailed|-d`, `--profile|-p`, `--compare|-c`, `--waterfall|-w`) |
46
+ | `dot perf` | Show performance mode + quick timing (`--json|-j`, `--profile|-p`, `--runs|-r`, `--target|-t`) |
47
+ | `dot score` | Show the high-level system health and security scorecard |
48
+ | `dot metrics` | Show recent observability metrics |
49
+ | `dot load-bench` | Measure heavy-layer readiness |
50
+ | `dot mcp` | Validate MCP policy and registry (`--strict|-s`, `--json|-j`) |
51
+ | `dot attest` | Export workstation evidence (`--json|-j`, `--write|-w`, `--fleet-store|-F`) |
52
+ | `dot history` | Analyse shell history |
53
+ | `dot security-score` | Score workstation security (`--verbose|-v`, `--quiet|-q`, `--json|-j`) |
54
+ | `dot snapshot` | Capture workstation state (`--baseline|-b`, `--force|-f`) |
55
+ | `dot ai` | Show categorized AI CLI status and launch an installed provider |
56
+ | `dot ai-setup` | Bootstrap supported AI CLIs interactively |
57
+ | `dot ai-query` | Run context-aware AI queries over the repo |
58
+ | `dot mode` | Show or switch the active agent profile |
59
+ | `dot agent` | Inspect agent metadata, logs, checkpoints, and conformance |
60
+ | `dot agent checkpoint` | Save, list, show, and replay bounded agent checkpoints |
61
+ | `dot agent conformance` | Validate A2A discovery and agent card conformance (`--strict|-s`, `--json|-j`) |
62
+
63
+ ### Tools
64
+
65
+ | Command | Description |
66
+ |---------|-------------|
67
+ | `dot env` | Show managed runtime and tool versions |
68
+ | `dot profile` | Show or switch the active configuration profile |
69
+ | `dot keys` | Show the keybindings and signing reference |
70
+ | `dot tools` | Show tools documentation |
71
+ | `dot tools install` | Enter Nix development shell |
72
+ | `dot new <lang> <name>` | Scaffold a project (`python`/`go`/`node`) |
73
+ | `dot sandbox` | Launch Docker sandbox preview |
74
+ | `dot learn` | Start the guided onboarding tour |
75
+ | `dot docs` | Show the main repository documentation |
76
+ | `dot log-rotate` | Rotate `~/.local/share/dotfiles.log` |
77
+ | `dot lint` | Lint shell scripts (`--check|-c`, `--fix|-f`) |
78
+
79
+ ## Universal Scripts
80
+
81
+ POSIX scripts in `~/.local/bin/` that work across macOS, Linux, and WSL.
82
+
83
+ | Command | Description |
84
+ |---------|-------------|
85
+ | `als` | Interactive alias and script viewer (categorized) |
86
+ | `cb` | Universal clipboard utility (detects `pbcopy`/`pbpaste`, `xclip`/`wl-copy`, or `clip.exe`) |
87
+ | `open` | Universal file/URL opener (maps to `open`, `xdg-open`, or `explorer.exe`) |
88
+ | `notify` | Universal desktop notifications (`osascript`, `notify-send`, or `powershell`) |
89
+ | `extract` | Universal archive extractor with robust format support and `gum` UI feedback |
90
+ | `up <n>` | Navigate up `n` directory levels |
91
+ | `bm` | Directory bookmarking tool (`add`, `goto`, `list`, `remove`, `update`) |
92
+ | `win` | WSL-specific shim for running Windows binaries with translated paths |
93
+
94
+ ## Appearance
95
+
96
+ | Command | Description |
97
+ |---------|-------------|
98
+ | `dot theme` | Interactive picker (paired wallpaper themes only) |
99
+ | `dot theme <name>` | Switch directly (e.g. `dot theme tahoe-dark`) |
100
+ | `dot theme toggle` | Swap dark↔light within current family |
101
+ | `dot theme rebuild` | Regenerate themes from system + custom wallpapers via K-Means in CIELAB (`--force`, `--list`) |
102
+ | `dot theme list` | Show paired wallpaper themes with System/Custom source |
103
+ | `dot wallpaper` | Apply a wallpaper independently of theme |
104
+ | `dot fonts` | Install Nerd Fonts |
105
+ | `dot tune` | Apply supported host tuning changes |
106
+
107
+ Themes are auto-generated from wallpapers — `themes.toml` is not hand-edited. See [Theming Guide](../guides/THEMING.md) for the K-Means CIELAB extraction model and Apple-compatible dynamic HEIC support.
108
+
109
+ ## AI Bridges
110
+
111
+ | Command | Description |
112
+ |---------|-------------|
113
+ | `dot cl` | Invoke Claude Code with dotfiles context injection |
114
+ | `dot copilot` | Invoke GitHub Copilot CLI with dotfiles context injection |
115
+ | `dot gemini` | Invoke Gemini CLI with dotfiles context injection |
116
+ | `dot kiro` | Invoke Kiro CLI with dotfiles context injection |
117
+ | `dot sgpt` | Invoke Shell-GPT with dotfiles context injection |
118
+ | `dot ollama` | Invoke Ollama with dotfiles context injection |
119
+ | `dot opencode` | Invoke OpenCode with dotfiles context injection |
120
+ | `dot aider` | Invoke Aider with dotfiles context injection |
121
+
122
+ ## Secrets
123
+
124
+ | Command | Description |
125
+ |---------|-------------|
126
+ | `dot secrets-init` | Initialize the local age identity for secrets |
127
+ | `dot secrets` | Manage encrypted secrets and environment buckets |
128
+ | `dot secrets-create` | Create a new encrypted secrets file |
129
+ | `dot ssh-key` | Encrypt a local SSH key with age |
130
+ | `dot ssh-cert` | Manage short-lived SSH certificates (`issue`/`status`/`revoke`) |
131
+
132
+ ## Security (opt-in)
133
+
134
+ | Command | Description |
135
+ |---------|-------------|
136
+ | `dot backup` | Create a compressed backup |
137
+ | `dot encrypt-check` | Check disk encryption status |
138
+ | `dot firewall` | Apply firewall hardening |
139
+ | `dot telemetry` | Disable telemetry |
140
+ | `dot dns-doh` | Enable DNS-over-HTTPS |
141
+ | `dot lock-screen` | Enforce lock screen idle settings |
142
+ | `dot usb-safety` | Disable automount for removable media |
143
+
144
+ ## Fleet
145
+
146
+ | Command | Description |
147
+ |---------|-------------|
148
+ | `dot fleet` | Show fleet node status, namespace, and drift |
149
+ | `dot fleet drift` | Check configuration drift across managed files |
150
+ | `dot fleet namespace` | Show or set the active fleet namespace |
151
+ | `dot fleet events` | Show recent local fleet events |