@sebastienrousseau/dotfiles 0.2.499 → 0.2.500

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/CHANGELOG.md +375 -0
  2. package/LICENSE +1283 -0
  3. package/README.md +284 -0
  4. package/docs/.vitepress/reports/localization-readability-audit.md +69 -0
  5. package/docs/AI.md +102 -0
  6. package/docs/COPYRIGHT +4 -3
  7. package/docs/NAMING_CONVENTIONS.md +95 -0
  8. package/docs/README.md +78 -0
  9. package/docs/adr/ADR-001-ci-cd-pipeline.md +101 -0
  10. package/docs/adr/ADR-002-shell-performance.md +121 -0
  11. package/docs/adr/ADR-003-security-first.md +140 -0
  12. package/docs/adr/ADR-004-cli-architecture.md +157 -0
  13. package/docs/adr/ADR-005-chezmoi-choice.md +89 -0
  14. package/docs/adr/ADR-006-shell-selection.md +115 -0
  15. package/docs/adr/ADR-007-multi-shell-parity.md +53 -0
  16. package/docs/adr/ADR-008-alias-system-architecture.md +85 -0
  17. package/docs/adr/README.md +32 -0
  18. package/docs/architecture/ARCHITECTURE.md +113 -0
  19. package/docs/architecture/INTEROP.md +36 -0
  20. package/docs/architecture/REPO_LAYOUT.md +237 -0
  21. package/docs/architecture/WALKTHROUGH.md +82 -0
  22. package/docs/architecture/fleet-deployment.md +73 -0
  23. package/docs/archive/EUXIS_2026_REVIEW.md +119 -0
  24. package/docs/archive/LEGACY_ROADMAP.md +142 -0
  25. package/docs/archive/MILESTONE_v0.2.493.md +43 -0
  26. package/docs/{PLAN.md → archive/PLAN.md} +4 -4
  27. package/docs/archive/REPO_AUDIT.md +23 -0
  28. package/docs/guides/INSTALL.md +140 -0
  29. package/docs/guides/NEOVIM_IDE_GUIDE.md +52 -0
  30. package/docs/guides/THEMING.md +222 -0
  31. package/docs/guides/TROUBLESHOOTING.md +148 -0
  32. package/docs/guides/WSL2_NIX_TROUBLESHOOTING.md +723 -0
  33. package/docs/index.md +39 -0
  34. package/docs/interop/A2A.md +32 -0
  35. package/docs/manual/00-introduction.md +85 -0
  36. package/docs/manual/01-concepts/01-architecture.md +134 -0
  37. package/docs/manual/01-concepts/02-trust-model.md +178 -0
  38. package/docs/manual/01-concepts/03-theme-engine.md +182 -0
  39. package/docs/manual/01-concepts/04-fleet.md +142 -0
  40. package/docs/manual/01-concepts/05-self-healing.md +197 -0
  41. package/docs/manual/02-tutorials/01-first-install.md +192 -0
  42. package/docs/manual/02-tutorials/02-add-wallpaper.md +211 -0
  43. package/docs/manual/02-tutorials/03-create-profile.md +238 -0
  44. package/docs/manual/02-tutorials/04-encrypt-secret.md +275 -0
  45. package/docs/manual/02-tutorials/05-deploy-fleet.md +279 -0
  46. package/docs/manual/03-reference/01-dot-cli.md +413 -0
  47. package/docs/manual/03-reference/02-config-files.md +259 -0
  48. package/docs/manual/03-reference/03-environment.md +120 -0
  49. package/docs/manual/03-reference/04-templates.md +184 -0
  50. package/docs/manual/03-reference/05-feature-flags.md +118 -0
  51. package/docs/manual/04-cookbook/01-recipes.md +281 -0
  52. package/docs/manual/04-cookbook/02-troubleshooting.md +319 -0
  53. package/docs/manual/04-cookbook/03-faq.md +167 -0
  54. package/docs/manual/05-appendices/A-platform-matrix.md +97 -0
  55. package/docs/manual/05-appendices/B-security-checklist.md +78 -0
  56. package/docs/manual/05-appendices/C-glossary.md +36 -0
  57. package/docs/manual/05-appendices/D-bibliography.md +54 -0
  58. package/docs/manual/05-appendices/E-license.md +34 -0
  59. package/docs/manual/_toc.yml +58 -0
  60. package/docs/manual/command-index.md +58 -0
  61. package/docs/manual/concept-index.md +164 -0
  62. package/docs/operations/ATTESTATION.md +39 -0
  63. package/docs/operations/MAINTENANCE.md +59 -0
  64. package/docs/operations/MIGRATION.md +101 -0
  65. package/docs/operations/OPERATIONS.md +164 -0
  66. package/docs/operations/RELIABILITY.md +116 -0
  67. package/docs/{ROADMAP.md → operations/ROADMAP.md} +22 -22
  68. package/docs/operations/TESTING.md +195 -0
  69. package/docs/operations/TRACEABILITY.md +31 -0
  70. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +61 -0
  71. package/docs/operations/VERSION_SYNC.md +344 -0
  72. package/docs/reference/ALIASES.md +124 -0
  73. package/docs/reference/ALIASES_CHEATSHEET.md +28 -0
  74. package/docs/reference/ALIASES_DEPRECATIONS.md +9 -0
  75. package/docs/reference/FEATURES.md +62 -0
  76. package/docs/reference/FONTS.md +108 -0
  77. package/docs/reference/PROFILES.md +65 -0
  78. package/docs/reference/SCREENSHOTS.md +117 -0
  79. package/docs/reference/SCRIPTS.md +67 -0
  80. package/docs/reference/SUPPORT_MATRIX.md +74 -0
  81. package/docs/reference/THEMES.md +113 -0
  82. package/docs/reference/TOOLS.md +105 -0
  83. package/docs/reference/UTILS.md +151 -0
  84. package/docs/security/AI_ACT_COMPLIANCE.md +90 -0
  85. package/docs/security/AUTOMATION_SECRETS.md +22 -0
  86. package/docs/security/COMPLIANCE.md +453 -0
  87. package/docs/security/ENCRYPTION.md +52 -0
  88. package/docs/security/FMEA.md +155 -0
  89. package/docs/security/INCIDENT_RESPONSE.md +575 -0
  90. package/docs/security/KEYS.md +45 -0
  91. package/docs/security/KEY_ROTATION.md +219 -0
  92. package/docs/security/MCP_POLICY.md +69 -0
  93. package/docs/security/POLICY_RELEASES.md +33 -0
  94. package/docs/security/README.md +24 -0
  95. package/docs/security/SECRETS.md +146 -0
  96. package/docs/security/SECURITY.md +41 -0
  97. package/docs/security/SECURITY_CHECKLIST.md +44 -0
  98. package/docs/security/SOUP_REGISTER.md +32 -0
  99. package/docs/security/THREAT_MODEL.md +120 -0
  100. package/docs/security/VERIFICATION_VALIDATION.md +224 -0
  101. package/docs/themes/README.md +6 -0
  102. package/docs/themes/VISUAL_INTEGRITY_REPORT.md +26 -0
  103. package/docs/themes/hero-shot.svg +78 -0
  104. package/dot_config/.module-manifest.json +69 -0
  105. package/dot_config/ai/identity.md +20 -0
  106. package/dot_config/ai/patterns/architect.md +14 -0
  107. package/dot_config/ai/patterns/hardener.md +13 -0
  108. package/dot_config/ai/patterns/refactor.md +13 -0
  109. package/dot_config/aider/aider.conf.yml +32 -0
  110. package/dot_config/alacritty/alacritty.toml.tmpl +55 -0
  111. package/dot_config/ansible/ansible.cfg +11 -0
  112. package/dot_config/atuin/config.toml +40 -0
  113. package/dot_config/bat/config +23 -0
  114. package/dot_config/brave-flags.conf.tmpl +7 -0
  115. package/dot_config/btop/btop.conf +16 -0
  116. package/dot_config/btop/themes/tokyonight.theme +34 -0
  117. package/dot_config/bun/bunfig.toml.tmpl +33 -0
  118. package/dot_config/claude/mcp_servers.json +20 -0
  119. package/dot_config/containers/containers.conf +14 -0
  120. package/dot_config/curl/dot_curlrc +18 -0
  121. package/dot_config/dlv/config.yml +39 -0
  122. package/dot_config/docker/config.json +15 -0
  123. package/dot_config/dotfiles/agent-card.json +29 -0
  124. package/dot_config/dotfiles/agent-profiles.json +92 -0
  125. package/dot_config/dotfiles/boot/README.md +11 -0
  126. package/dot_config/dotfiles/grub/README.md +11 -0
  127. package/dot_config/dotfiles/lock/README.md +11 -0
  128. package/dot_config/dotfiles/mcp-lock.json +33 -0
  129. package/dot_config/dotfiles/mcp-policy.json +52 -0
  130. package/dot_config/dotfiles/mcp-registry.json +47 -0
  131. package/dot_config/dotfiles/model-registry.json +20 -0
  132. package/dot_config/dotfiles/policy-bundles.json +38 -0
  133. package/dot_config/dotfiles/prompt-registry.json +16 -0
  134. package/dot_config/dotfiles/versions.env +18 -0
  135. package/dot_config/duf/duf.conf +6 -0
  136. package/dot_config/duti/defaults.duti +5 -0
  137. package/dot_config/emoji/emoji.txt +34 -0
  138. package/dot_config/environment.d/50-ssh-agent.conf +2 -0
  139. package/dot_config/environment.d/90-wayland.conf +19 -0
  140. package/dot_config/fastfetch/config.jsonc +28 -0
  141. package/dot_config/firefox/user.js.tmpl +58 -0
  142. package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +9 -0
  143. package/dot_config/fish/completions/dot.fish.tmpl +115 -0
  144. package/dot_config/fish/conf.d/000-perf-cache.fish +56 -0
  145. package/dot_config/fish/conf.d/aliases.fish.tmpl +77 -0
  146. package/dot_config/fish/conf.d/env.fish.tmpl +48 -0
  147. package/dot_config/fish/conf.d/functions.fish.tmpl +22 -0
  148. package/dot_config/fish/conf.d/init.fish.tmpl +151 -0
  149. package/dot_config/fish/config.fish.tmpl +44 -0
  150. package/dot_config/fish/fish_plugins +1 -0
  151. package/dot_config/fish/functions/_.fish +3 -0
  152. package/dot_config/fish/functions/_cached_eval.fish +58 -0
  153. package/dot_config/fish/functions/als.fish +46 -0
  154. package/dot_config/fish/functions/bg-upgrade.fish +7 -0
  155. package/dot_config/fish/functions/c.fish +3 -0
  156. package/dot_config/fish/functions/cat.fish +9 -0
  157. package/dot_config/fish/functions/d.fish +7 -0
  158. package/dot_config/fish/functions/dot.fish +34 -0
  159. package/dot_config/fish/functions/h.fish +3 -0
  160. package/dot_config/fish/functions/l.fish +7 -0
  161. package/dot_config/fish/functions/la.fish +7 -0
  162. package/dot_config/fish/functions/ll.fish +7 -0
  163. package/dot_config/fish/functions/log_error.fish +13 -0
  164. package/dot_config/fish/functions/log_info.fish +13 -0
  165. package/dot_config/fish/functions/lr.fish +7 -0
  166. package/dot_config/fish/functions/lra.fish +7 -0
  167. package/dot_config/fish/functions/ls.fish +7 -0
  168. package/dot_config/fish/functions/lt.fish +7 -0
  169. package/dot_config/fish/functions/lta.fish +7 -0
  170. package/dot_config/fish/functions/notify-run.fish +11 -0
  171. package/dot_config/fish/functions/q.fish +3 -0
  172. package/dot_config/fish/functions/silent-run.fish +7 -0
  173. package/dot_config/fish/functions/yy.fish +8 -0
  174. package/dot_config/flatpak/flatpak.list +4 -0
  175. package/dot_config/fontconfig/fonts.conf.tmpl +57 -0
  176. package/dot_config/foot/foot.ini.tmpl +33 -0
  177. package/dot_config/fuzzel/fuzzel.ini.tmpl +18 -0
  178. package/dot_config/fzf/fzf.zsh +48 -0
  179. package/dot_config/gem/gemrc +9 -0
  180. package/dot_config/gh/config.yml +12 -0
  181. package/dot_config/ghostty/config.tmpl +165 -0
  182. package/dot_config/git/allowed_signers.tmpl +18 -0
  183. package/dot_config/git/attributes +12 -0
  184. package/dot_config/git/commit-template +10 -0
  185. package/dot_config/git/ignore +27 -0
  186. package/dot_config/gnupg/gpg-agent.conf +11 -0
  187. package/dot_config/go/golangci.yml +118 -0
  188. package/dot_config/go/gopls.json +30 -0
  189. package/dot_config/goose/config.yaml +29 -0
  190. package/dot_config/gtk-3.0/gtk.css.tmpl +184 -0
  191. package/dot_config/gtk-3.0/settings.ini.tmpl +27 -0
  192. package/dot_config/gtk-4.0/gtk.css.tmpl +252 -0
  193. package/dot_config/gtk-4.0/settings.ini.tmpl +18 -0
  194. package/dot_config/htop/htoprc +20 -0
  195. package/dot_config/inputrc +2 -0
  196. package/dot_config/ipython/profile_default/ipython_config.py +19 -0
  197. package/dot_config/just/justfile +122 -0
  198. package/dot_config/k9s/config.yaml +65 -0
  199. package/dot_config/k9s/skins/catppuccin-mocha.yaml +116 -0
  200. package/dot_config/kanshi/config.tmpl +22 -0
  201. package/dot_config/karabiner/karabiner.json +14 -0
  202. package/dot_config/kitty/kitty.conf.tmpl +53 -0
  203. package/dot_config/lazydocker/config.yml +186 -0
  204. package/dot_config/lazygit/config.yml +35 -0
  205. package/dot_config/mako/config +47 -0
  206. package/dot_config/mas/masapps.txt +5 -0
  207. package/dot_config/micro/settings.json +3 -0
  208. package/dot_config/mimeapps.list +77 -0
  209. package/dot_config/minikube/config.json +13 -0
  210. package/dot_config/mise/config.toml +99 -0
  211. package/dot_config/mongosh/mongoshrc.js +68 -0
  212. package/dot_config/mpv/input.conf +47 -0
  213. package/dot_config/mpv/mpv.conf +47 -0
  214. package/dot_config/mycli/myclirc +67 -0
  215. package/dot_config/nano/nanorc +28 -0
  216. package/dot_config/ncdu/config +12 -0
  217. package/dot_config/niri/config.kdl.tmpl +327 -0
  218. package/dot_config/nushell/aliases.nu +18 -0
  219. package/dot_config/nushell/completions.nu.tmpl +52 -0
  220. package/dot_config/nushell/config.nu.tmpl +86 -0
  221. package/dot_config/nushell/env.nu.tmpl +94 -0
  222. package/dot_config/nushell/functions.nu.tmpl +17 -0
  223. package/dot_config/nvim/init.lua +18 -0
  224. package/dot_config/nvim/lazy-lock.json +58 -0
  225. package/dot_config/nvim/lua/config/autocmds.lua +107 -0
  226. package/dot_config/nvim/lua/config/keymaps.lua +92 -0
  227. package/dot_config/nvim/lua/config/lazy.lua +44 -0
  228. package/dot_config/nvim/lua/config/options.lua +49 -0
  229. package/dot_config/nvim/lua/plugins/ai.lua +75 -0
  230. package/dot_config/nvim/lua/plugins/coding.lua +216 -0
  231. package/dot_config/nvim/lua/plugins/completion.lua +60 -0
  232. package/dot_config/nvim/lua/plugins/dap.lua +412 -0
  233. package/dot_config/nvim/lua/plugins/editor.lua +55 -0
  234. package/dot_config/nvim/lua/plugins/git.lua +10 -0
  235. package/dot_config/nvim/lua/plugins/lsp.lua +156 -0
  236. package/dot_config/nvim/lua/plugins/markdown.lua +18 -0
  237. package/dot_config/nvim/lua/plugins/rust.lua +34 -0
  238. package/dot_config/nvim/lua/plugins/sessions.lua +33 -0
  239. package/dot_config/nvim/lua/plugins/ui.lua +509 -0
  240. package/dot_config/paru/paru.conf +10 -0
  241. package/dot_config/pip/pip.conf.tmpl +32 -0
  242. package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
  243. package/dot_config/pueue/pueue.yml +34 -0
  244. package/dot_config/pypoetry/config.toml +6 -0
  245. package/dot_config/pyrightconfig.json +5 -0
  246. package/dot_config/raycast/README.md +13 -0
  247. package/dot_config/redis/redisclirc +41 -0
  248. package/dot_config/ripgrep/ripgreprc +21 -0
  249. package/dot_config/shell/00-core-paths.sh.tmpl +133 -0
  250. package/dot_config/shell/05-core-safety.sh +47 -0
  251. package/dot_config/shell/10-secrets.sh +40 -0
  252. package/dot_config/shell/40-fzf-defaults.sh.tmpl +16 -0
  253. package/dot_config/shell/40-ls-colors.sh +48 -0
  254. package/dot_config/shell/50-logic-functions-core.sh.tmpl +10 -0
  255. package/dot_config/shell/50-logic-functions.sh.tmpl +10 -0
  256. package/dot_config/shell/51-logic-functions-extra.sh.tmpl +64 -0
  257. package/dot_config/shell/90-ux-aliases.sh.tmpl +120 -0
  258. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +54 -0
  259. package/dot_config/shell/Brewfile +207 -0
  260. package/dot_config/shell/Brewfile.cask +92 -0
  261. package/dot_config/shell/Brewfile.cli +127 -0
  262. package/dot_config/shell/README.md +267 -0
  263. package/dot_config/shell/als_data.txt.tmpl +65 -0
  264. package/dot_config/shell/custom/auto_ls.zsh +20 -0
  265. package/dot_config/shell/custom/context_suggest.zsh +68 -0
  266. package/dot_config/shell/custom/error_analysis.zsh +45 -0
  267. package/dot_config/sops/dot_sops.yaml +23 -0
  268. package/dot_config/starship.toml.tmpl +202 -0
  269. package/dot_config/swaylock/config +43 -0
  270. package/dot_config/systemd/user/dotfiles-maintenance.service +8 -0
  271. package/dot_config/systemd/user/dotfiles-maintenance.timer +11 -0
  272. package/dot_config/systemd/user/pueued.service +12 -0
  273. package/dot_config/systemd/user/ssh-agent.service +12 -0
  274. package/dot_config/task/Taskfile.yml +86 -0
  275. package/dot_config/tflint/tflint.hcl +9 -0
  276. package/dot_config/tmux/tmux.conf.tmpl +223 -0
  277. package/dot_config/topgrade.toml.tmpl +54 -0
  278. package/dot_config/user-dirs.dirs +9 -0
  279. package/dot_config/vscode/extensions.txt +11 -0
  280. package/dot_config/vscode/settings.json.tmpl +82 -0
  281. package/dot_config/waybar/config.jsonc.tmpl +90 -0
  282. package/dot_config/waybar/style.css.tmpl +211 -0
  283. package/dot_config/wezterm/wezterm.lua.tmpl +64 -0
  284. package/dot_config/wget/wgetrc +12 -0
  285. package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
  286. package/dot_config/yarn/yarnrc.yml +36 -0
  287. package/dot_config/yazi/keymap.toml +67 -0
  288. package/dot_config/yazi/theme.toml +102 -0
  289. package/dot_config/yazi/yazi.toml +40 -0
  290. package/dot_config/zathura/zathurarc +52 -0
  291. package/dot_config/zellij/config.kdl.tmpl +79 -0
  292. package/dot_config/zsh/dot_zprofile +7 -0
  293. package/dot_config/zsh/dot_zshenv +5 -0
  294. package/dot_config/zsh/dot_zshrc.tmpl +498 -0
  295. package/dot_config/zsh/rc.d/00-alias-shims.zsh +77 -0
  296. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +18 -0
  297. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +28 -0
  298. package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
  299. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +194 -0
  300. package/dot_config/zsh/rc.d/40-bell.zsh +20 -0
  301. package/dot_config/zsh/rc.d/50-login-fortune.zsh +9 -0
  302. package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +32 -0
  303. package/dot_local/bin/__pycache__/executable_dot-load-benchmark-ptycpython-312.pyc +0 -0
  304. package/dot_local/bin/executable_ai-update +195 -0
  305. package/dot_local/bin/executable_ai_core +152 -0
  306. package/dot_local/bin/executable_antigravity +11 -0
  307. package/dot_local/bin/executable_b64 +84 -0
  308. package/dot_local/bin/executable_bm +77 -0
  309. package/dot_local/bin/executable_cb +39 -0
  310. package/dot_local/bin/executable_dot +589 -0
  311. package/dot_local/bin/executable_dot-ai +36 -0
  312. package/dot_local/bin/executable_dot-bootstrap +77 -0
  313. package/dot_local/bin/executable_dot-launch-or-focus +52 -0
  314. package/dot_local/bin/executable_dot-load-benchmark +31 -0
  315. package/dot_local/bin/executable_dot-load-benchmark-pty +77 -0
  316. package/dot_local/bin/executable_dot-theme-sync +952 -0
  317. package/dot_local/bin/executable_dot_completion +57 -0
  318. package/dot_local/bin/executable_dtags +28 -0
  319. package/dot_local/bin/executable_epoch +67 -0
  320. package/dot_local/bin/executable_extract +41 -0
  321. package/dot_local/bin/executable_gbd +52 -0
  322. package/dot_local/bin/executable_gd +42 -0
  323. package/dot_local/bin/executable_git-ai-commit +175 -0
  324. package/dot_local/bin/executable_git-ai-diff +169 -0
  325. package/dot_local/bin/executable_gl +101 -0
  326. package/dot_local/bin/executable_hash +161 -0
  327. package/dot_local/bin/executable_hashsum +160 -0
  328. package/dot_local/bin/executable_hex +115 -0
  329. package/dot_local/bin/executable_jsonv +78 -0
  330. package/dot_local/bin/executable_jwt +94 -0
  331. package/dot_local/bin/executable_kill-port +75 -0
  332. package/dot_local/bin/executable_lorem +118 -0
  333. package/dot_local/bin/executable_mkscript +35 -0
  334. package/dot_local/bin/executable_monitor +56 -0
  335. package/dot_local/bin/executable_myip +51 -0
  336. package/dot_local/bin/executable_notify +22 -0
  337. package/dot_local/bin/executable_open +36 -0
  338. package/dot_local/bin/executable_pw +27 -0
  339. package/dot_local/bin/executable_rec-start +46 -0
  340. package/dot_local/bin/executable_rec-stop +35 -0
  341. package/dot_local/bin/executable_regex +132 -0
  342. package/dot_local/bin/executable_start-niri +8 -0
  343. package/dot_local/bin/executable_tmux-sessionizer +314 -0
  344. package/dot_local/bin/executable_tour +175 -0
  345. package/dot_local/bin/executable_up +21 -0
  346. package/dot_local/bin/executable_update +142 -0
  347. package/dot_local/bin/executable_uuid +87 -0
  348. package/dot_local/bin/executable_win +32 -0
  349. package/dot_local/bin/executable_yamlv +57 -0
  350. package/dot_local/share/bash-completion/completions/dot +72 -0
  351. package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
  352. package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
  353. package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
  354. package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
  355. package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
  356. package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
  357. package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
  358. package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
  359. package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
  360. package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
  361. package/dot_local/share/man/man1/dot.1 +149 -0
  362. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +64 -0
  363. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +18 -0
  364. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +13 -0
  365. package/dot_local/share/wayland-sessions/niri.desktop.tmpl +6 -0
  366. package/dot_local/share/zsh/completions/.keep +0 -0
  367. package/dot_local/share/zsh/completions/_dot +283 -0
  368. package/install.sh +342 -0
  369. package/package.json +1 -1
  370. package/scripts/ci/check-copyright-headers.sh +96 -0
  371. package/scripts/ci/guard-gitleaks-checkout.sh +57 -0
  372. package/scripts/ci/install-chezmoi-verified.sh +64 -0
  373. package/scripts/ci/validate-ci-config.sh +224 -0
  374. package/scripts/demo/record.sh +42 -0
  375. package/scripts/diagnostics/a2a-conformance.sh +162 -0
  376. package/scripts/diagnostics/alias-governance.sh +137 -0
  377. package/scripts/diagnostics/aliases-cheatsheet.sh +73 -0
  378. package/scripts/diagnostics/aliases-manifest.sh +31 -0
  379. package/scripts/diagnostics/benchmark.sh +381 -0
  380. package/scripts/diagnostics/conflicts.sh +72 -0
  381. package/scripts/diagnostics/doctor-unified.sh +38 -0
  382. package/scripts/diagnostics/doctor.sh +541 -0
  383. package/scripts/diagnostics/drift-dashboard.sh +37 -0
  384. package/scripts/diagnostics/health.sh +597 -0
  385. package/scripts/diagnostics/history-analysis.sh +85 -0
  386. package/scripts/diagnostics/mcp-doctor.sh +575 -0
  387. package/scripts/diagnostics/perf.sh +225 -0
  388. package/scripts/diagnostics/scorecard.sh +118 -0
  389. package/scripts/diagnostics/secret-governance.sh +58 -0
  390. package/scripts/diagnostics/security-score.sh +438 -0
  391. package/scripts/diagnostics/smoke-test.sh +87 -0
  392. package/scripts/diagnostics/snapshot.sh +89 -0
  393. package/scripts/diagnostics/verify.sh +107 -0
  394. package/scripts/{verify_state.sh → diagnostics/verify_state.sh} +22 -22
  395. package/scripts/diagnostics/version-locks.sh +79 -0
  396. package/scripts/diagnostics/workstation-attestation.sh +181 -0
  397. package/scripts/docs/build-manual.sh +883 -0
  398. package/scripts/docs/check-manual.sh +213 -0
  399. package/scripts/dot/commands/agent.sh +465 -0
  400. package/scripts/dot/commands/ai.sh +416 -0
  401. package/scripts/dot/commands/aliases.sh +250 -0
  402. package/scripts/dot/commands/appearance.sh +80 -0
  403. package/scripts/dot/commands/core.sh +185 -0
  404. package/scripts/dot/commands/diagnostics.sh +229 -0
  405. package/scripts/dot/commands/fleet.sh +399 -0
  406. package/scripts/dot/commands/lint.sh +177 -0
  407. package/scripts/dot/commands/manual.sh +168 -0
  408. package/scripts/dot/commands/meta.sh +248 -0
  409. package/scripts/dot/commands/patterns.sh +54 -0
  410. package/scripts/dot/commands/restore.sh +231 -0
  411. package/scripts/dot/commands/secrets.sh +223 -0
  412. package/scripts/dot/commands/security.sh +76 -0
  413. package/scripts/dot/commands/tools.sh +469 -0
  414. package/scripts/dot/data/alias-deprecations.tsv +2 -0
  415. package/scripts/dot/lib/bento.sh +49 -0
  416. package/scripts/dot/lib/log.sh +194 -0
  417. package/scripts/dot/lib/platform.sh +98 -0
  418. package/scripts/dot/lib/ui.sh +507 -0
  419. package/scripts/dot/lib/utils.sh +372 -0
  420. package/scripts/fonts/install-nerd-fonts.sh +68 -0
  421. package/scripts/fonts/patch-fonts.sh +35 -0
  422. package/scripts/git-hooks/install.sh +11 -0
  423. package/scripts/git-hooks/pre-commit +12 -0
  424. package/scripts/git-hooks/pre-commit-audit.sh +145 -0
  425. package/scripts/git-hooks/pre-push +29 -0
  426. package/scripts/git-hooks/prepare-commit-msg +29 -0
  427. package/scripts/lib/secrets_provider.sh +158 -0
  428. package/scripts/maintenance/check-updates.sh +131 -0
  429. package/scripts/ops/ai-setup.sh +55 -0
  430. package/scripts/ops/bundle.sh +77 -0
  431. package/scripts/ops/chaos.sh +49 -0
  432. package/scripts/ops/chezmoi-apply.sh +270 -0
  433. package/scripts/ops/chezmoi-diff.sh +15 -0
  434. package/scripts/ops/chezmoi-remove.sh +45 -0
  435. package/scripts/ops/chezmoi-update.sh +48 -0
  436. package/scripts/ops/heal-chezmoi.sh +51 -0
  437. package/scripts/ops/heal-system.sh +128 -0
  438. package/scripts/ops/heal-tools.sh +340 -0
  439. package/scripts/ops/heal.sh +222 -0
  440. package/scripts/ops/post-apply-repair.sh +106 -0
  441. package/scripts/ops/prewarm.sh +127 -0
  442. package/scripts/ops/release.sh +252 -0
  443. package/scripts/ops/rollback.sh +589 -0
  444. package/scripts/ops/setup.sh +137 -0
  445. package/scripts/ops/teleport.sh +33 -0
  446. package/scripts/qa/coverage-baseline.sh +60 -0
  447. package/scripts/qa/docs-coverage.sh +111 -0
  448. package/scripts/qa/reliability-audit.sh +138 -0
  449. package/scripts/qa/traceability-coverage.sh +116 -0
  450. package/scripts/qa/validate-examples.sh +26 -0
  451. package/scripts/qa/wsl-contract.sh +11 -0
  452. package/scripts/release/package-policy-bundles.sh +125 -0
  453. package/scripts/secrets/age-init.sh +70 -0
  454. package/scripts/secrets/create-secrets-file.sh +45 -0
  455. package/scripts/secrets/encrypt-ssh-key.sh +43 -0
  456. package/scripts/security/backup.sh +57 -0
  457. package/scripts/security/dns-doh.sh +51 -0
  458. package/scripts/security/encryption-check.sh +54 -0
  459. package/scripts/security/enforce-policies.sh +334 -0
  460. package/scripts/security/firewall.sh +90 -0
  461. package/scripts/security/lock-configs.sh +57 -0
  462. package/scripts/security/lock-screen.sh +55 -0
  463. package/scripts/security/manage-secrets.sh +428 -0
  464. package/scripts/security/ssh-cert.sh +203 -0
  465. package/scripts/security/telemetry-kill.sh +50 -0
  466. package/scripts/security/usb-safety.sh +51 -0
  467. package/scripts/theme/apply-gnome-theme.sh +328 -0
  468. package/scripts/theme/extract-theme.py +677 -0
  469. package/scripts/theme/install-boot-logo.sh +62 -0
  470. package/scripts/theme/install-catppuccin-themes.sh +370 -0
  471. package/scripts/theme/install-cursors.sh +25 -0
  472. package/scripts/theme/install-file-icons.sh +26 -0
  473. package/scripts/theme/install-grub-theme.sh +61 -0
  474. package/scripts/theme/install-lock-icon.sh +30 -0
  475. package/scripts/theme/merge-wallpaper.sh +141 -0
  476. package/scripts/theme/rebuild-themes.sh +309 -0
  477. package/scripts/theme/switch.sh +421 -0
  478. package/scripts/theme/wallpaper-rotate.sh +136 -0
  479. package/scripts/theme/wallpaper-sync.sh +397 -0
  480. package/scripts/tools/cmatrix.sh +21 -0
  481. package/scripts/{detect-collisions.py → tools/detect-collisions.py} +2 -2
  482. package/scripts/tools/emoji-picker.sh +48 -0
  483. package/scripts/tools/figlet-banner.sh +18 -0
  484. package/scripts/tools/log-rotate.sh +30 -0
  485. package/scripts/tools/lolcat-wrap.sh +19 -0
  486. package/scripts/tools/pipes.sh +48 -0
  487. package/scripts/tuning/linux.sh +185 -0
  488. package/scripts/tuning/macos.sh +55 -0
  489. package/scripts/uninstall.sh +85 -0
  490. package/scripts/version-sync.sh +487 -0
  491. package/templates/chezmoi-data/geekom-a9.toml.example +21 -0
  492. package/templates/chezmoi-data/mac-m1.toml.example +16 -0
  493. package/templates/chezmoi-data/mac-t2-linux.toml.example +21 -0
  494. package/templates/chezmoi-data/surface-pro-7p.toml.example +21 -0
  495. package/templates/projects/go/.github/workflows/ci.yml +31 -0
  496. package/templates/projects/go/README.md +4 -0
  497. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +1 -0
  498. package/templates/projects/go/go.sum +0 -0
  499. package/templates/projects/molecule/README.md +7 -0
  500. package/templates/projects/molecule/converge.yml +7 -0
  501. package/templates/projects/molecule/molecule.yml +16 -0
  502. package/templates/projects/node/.github/workflows/ci.yml +30 -0
  503. package/templates/projects/node/README.md +4 -0
  504. package/templates/projects/node/package-lock.json +12 -0
  505. package/templates/projects/node/src/index.js +1 -0
  506. package/templates/projects/packer/README.md +15 -0
  507. package/templates/projects/packer/main.pkr.hcl +15 -0
  508. package/templates/projects/python/.github/workflows/ci.yml +34 -0
  509. package/templates/projects/python/README.md +4 -0
  510. package/templates/projects/python/pyproject.toml +15 -0
  511. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
  512. package/templates/projects/python/tests/test_basic.py +1 -0
  513. package/docs/ARCHITECTURE.md +0 -62
  514. package/docs/COMPLIANCE.md +0 -47
  515. package/docs/OPERATIONS.md +0 -103
  516. package/docs/PR_DESCRIPTION.md +0 -150
  517. package/docs/ROADMAP_legacy.md +0 -556
  518. package/docs/SECURITY_CHECKLIST.md +0 -25
  519. package/docs/TASK.md +0 -99
  520. package/docs/WALKTHROUGH.md +0 -46
  521. package/scripts/backup.sh +0 -142
  522. package/scripts/banner.sh +0 -20
  523. package/scripts/benchmark.sh +0 -20
  524. package/scripts/build.sh +0 -41
  525. package/scripts/clean.sh +0 -31
  526. package/scripts/compile.sh +0 -54
  527. package/scripts/copy.sh +0 -108
  528. package/scripts/doctor.sh +0 -79
  529. package/scripts/dotfiles.sh +0 -63
  530. package/scripts/download.sh +0 -35
  531. package/scripts/help.sh +0 -57
  532. package/scripts/lock-configs.sh +0 -57
  533. package/scripts/package.sh +0 -46
  534. package/scripts/ssh.sh +0 -55
  535. package/scripts/teleport.sh +0 -23
  536. package/scripts/test-aliases.sh +0 -25
  537. package/scripts/test_smoke.sh +0 -88
  538. package/scripts/unpack.sh +0 -28
@@ -0,0 +1,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 |
@@ -0,0 +1,117 @@
1
+ # Screenshots Gallery
2
+
3
+ Here's how the dotfiles look across different themes and configurations.
4
+
5
+ ## Theme Gallery
6
+
7
+ ### Catppuccin Mocha (default)
8
+
9
+ The default theme. Catppuccin Mocha gives you a dark palette with warm, muted colors.
10
+
11
+ ```text
12
+ Terminal: Ghostty / WezTerm / Alacritty
13
+ Font: JetBrains Mono Nerd Font
14
+ Theme: Catppuccin Mocha
15
+ ```
16
+
17
+ Key colors:
18
+
19
+ - Background: `#1e1e2e`
20
+ - Foreground: `#cdd6f4`
21
+ - Accent Blue: `#89b4fa`
22
+ - Accent Red: `#f38ba8`
23
+
24
+ ### Catppuccin Latte (light)
25
+
26
+ A light theme option for daytime use.
27
+
28
+ ```text
29
+ Terminal: Ghostty / WezTerm / Alacritty
30
+ Font: JetBrains Mono Nerd Font
31
+ Theme: Catppuccin Latte
32
+ ```
33
+
34
+ Key colors:
35
+
36
+ - Background: `#eff1f5`
37
+ - Foreground: `#4c4f69`
38
+ - Accent Blue: `#1e66f5`
39
+ - Accent Red: `#d20f39`
40
+
41
+ ## Terminal Configurations
42
+
43
+ ### Ghostty
44
+
45
+ Modern, native terminal with GPU acceleration.
46
+
47
+ - Native macOS integration
48
+ - Fast rendering
49
+ - Ligature support
50
+ - Custom key bindings
51
+
52
+ ### WezTerm
53
+
54
+ Cross-platform terminal with Lua configuration.
55
+
56
+ - GPU acceleration
57
+ - Multiple windows/tabs
58
+ - Hyperlinks
59
+ - Image protocol support
60
+
61
+ ### Alacritty
62
+
63
+ Minimal, fast terminal.
64
+
65
+ - Fast rendering
66
+ - Simple YAML config
67
+ - Vi mode
68
+ - Cross-platform
69
+
70
+ ### Kitty
71
+
72
+ Feature-rich terminal.
73
+
74
+ - GPU rendering
75
+ - Ligatures
76
+ - Image support
77
+ - Keyboard protocol
78
+
79
+ ## Prompt (Starship)
80
+
81
+ The Starship prompt displays:
82
+
83
+ - Current directory
84
+ - Git branch and status
85
+ - Language versions (when relevant)
86
+ - Command duration
87
+ - Exit status
88
+
89
+ ## Neovim
90
+
91
+ The Neovim configuration includes:
92
+
93
+ - Catppuccin theme
94
+ - Treesitter syntax highlighting
95
+ - LSP integration
96
+ - Telescope fuzzy finder
97
+ - File tree (`nvim-tree`)
98
+
99
+ ## tmux
100
+
101
+ The tmux status bar displays:
102
+
103
+ - Session name
104
+ - Current window
105
+ - Host name
106
+ - Date and time
107
+
108
+ ## Adding Screenshots
109
+
110
+ To contribute screenshots:
111
+
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.
116
+
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 |