@sebastienrousseau/dotfiles 0.2.499 → 0.2.501

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 (567) hide show
  1. package/CHANGELOG.md +452 -0
  2. package/LICENSE +1283 -0
  3. package/README.md +322 -0
  4. package/docs/.vitepress/reports/localization-readability-audit.md +73 -0
  5. package/docs/AI.md +108 -0
  6. package/docs/CNAME +1 -0
  7. package/docs/COPYRIGHT +4 -3
  8. package/docs/NAMING_CONVENTIONS.md +102 -0
  9. package/docs/README.md +82 -0
  10. package/docs/_config.yml +59 -0
  11. package/docs/adr/ADR-001-ci-cd-pipeline.md +118 -0
  12. package/docs/adr/ADR-002-shell-performance.md +130 -0
  13. package/docs/adr/ADR-003-security-first.md +158 -0
  14. package/docs/adr/ADR-004-cli-architecture.md +171 -0
  15. package/docs/adr/ADR-005-chezmoi-choice.md +99 -0
  16. package/docs/adr/ADR-006-shell-selection.md +124 -0
  17. package/docs/adr/ADR-007-multi-shell-parity.md +62 -0
  18. package/docs/adr/ADR-008-alias-system-architecture.md +95 -0
  19. package/docs/adr/ADR-009-wallpaper-driven-theming.md +131 -0
  20. package/docs/adr/ADR-010-starship-transient-prompt.md +144 -0
  21. package/docs/adr/ADR-011-nushell-tier3-keep.md +144 -0
  22. package/docs/adr/README.md +39 -0
  23. package/docs/architecture/ARCHITECTURE.md +117 -0
  24. package/docs/architecture/INTEROP.md +44 -0
  25. package/docs/architecture/REPO_LAYOUT.md +241 -0
  26. package/docs/architecture/WALKTHROUGH.md +86 -0
  27. package/docs/architecture/fleet-deployment.md +77 -0
  28. package/docs/archive/EUXIS_2026_REVIEW.md +127 -0
  29. package/docs/archive/LEGACY_ROADMAP.md +160 -0
  30. package/docs/archive/MILESTONE_v0.2.493.md +47 -0
  31. package/docs/{PLAN.md → archive/PLAN.md} +50 -12
  32. package/docs/archive/REPO_AUDIT.md +31 -0
  33. package/docs/guides/INSTALL.md +144 -0
  34. package/docs/guides/NEOVIM_IDE_GUIDE.md +61 -0
  35. package/docs/guides/THEMING.md +230 -0
  36. package/docs/guides/TROUBLESHOOTING.md +176 -0
  37. package/docs/guides/WSL2_NIX_TROUBLESHOOTING.md +792 -0
  38. package/docs/index.md +43 -0
  39. package/docs/interop/A2A.md +39 -0
  40. package/docs/interop/POWERSHELL.md +102 -0
  41. package/docs/manual/00-introduction.md +89 -0
  42. package/docs/manual/01-concepts/01-architecture.md +138 -0
  43. package/docs/manual/01-concepts/02-trust-model.md +182 -0
  44. package/docs/manual/01-concepts/03-theme-engine.md +186 -0
  45. package/docs/manual/01-concepts/04-fleet.md +148 -0
  46. package/docs/manual/01-concepts/05-self-healing.md +204 -0
  47. package/docs/manual/02-tutorials/01-first-install.md +197 -0
  48. package/docs/manual/02-tutorials/02-add-wallpaper.md +216 -0
  49. package/docs/manual/02-tutorials/03-create-profile.md +244 -0
  50. package/docs/manual/02-tutorials/04-encrypt-secret.md +281 -0
  51. package/docs/manual/02-tutorials/05-deploy-fleet.md +283 -0
  52. package/docs/manual/03-reference/01-dot-cli.md +417 -0
  53. package/docs/manual/03-reference/02-config-files.md +265 -0
  54. package/docs/manual/03-reference/03-environment.md +124 -0
  55. package/docs/manual/03-reference/04-templates.md +190 -0
  56. package/docs/manual/03-reference/05-feature-flags.md +128 -0
  57. package/docs/manual/04-cookbook/01-recipes.md +285 -0
  58. package/docs/manual/04-cookbook/02-troubleshooting.md +351 -0
  59. package/docs/manual/04-cookbook/03-faq.md +175 -0
  60. package/docs/manual/05-appendices/A-platform-matrix.md +101 -0
  61. package/docs/manual/05-appendices/B-security-checklist.md +84 -0
  62. package/docs/manual/05-appendices/C-glossary.md +40 -0
  63. package/docs/manual/05-appendices/D-bibliography.md +58 -0
  64. package/docs/manual/05-appendices/E-license.md +38 -0
  65. package/docs/manual/_toc.yml +58 -0
  66. package/docs/manual/command-index.md +62 -0
  67. package/docs/manual/concept-index.md +168 -0
  68. package/docs/operations/ATTESTATION.md +44 -0
  69. package/docs/operations/CI_CADENCE.md +107 -0
  70. package/docs/operations/CI_COMPOSITES.md +156 -0
  71. package/docs/operations/COMPLETIONS.md +123 -0
  72. package/docs/operations/COVERAGE.md +148 -0
  73. package/docs/operations/DRIFT.md +107 -0
  74. package/docs/operations/MAINTENANCE.md +63 -0
  75. package/docs/operations/MIGRATION.md +109 -0
  76. package/docs/operations/OPERATIONS.md +188 -0
  77. package/docs/operations/PERFORMANCE.md +133 -0
  78. package/docs/operations/RELIABILITY.md +122 -0
  79. package/docs/{ROADMAP.md → operations/ROADMAP.md} +57 -39
  80. package/docs/operations/TESTING.md +199 -0
  81. package/docs/operations/TRACEABILITY.md +35 -0
  82. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +65 -0
  83. package/docs/operations/VERSION_SYNC.md +393 -0
  84. package/docs/reference/ALIASES.md +131 -0
  85. package/docs/reference/ALIASES_CHEATSHEET.md +32 -0
  86. package/docs/reference/ALIASES_DEPRECATIONS.md +13 -0
  87. package/docs/reference/FEATURES.md +66 -0
  88. package/docs/reference/FONTS.md +112 -0
  89. package/docs/reference/PROFILES.md +69 -0
  90. package/docs/reference/SCREENSHOTS.md +121 -0
  91. package/docs/reference/SCRIPTS.md +71 -0
  92. package/docs/reference/SUPPORT_MATRIX.md +80 -0
  93. package/docs/reference/THEMES.md +117 -0
  94. package/docs/reference/TOOLS.md +109 -0
  95. package/docs/reference/UTILS.md +155 -0
  96. package/docs/security/AI_ACT_COMPLIANCE.md +94 -0
  97. package/docs/security/AUDIT_BYPASS.md +103 -0
  98. package/docs/security/AUTOMATION_SECRETS.md +26 -0
  99. package/docs/security/CI_EGRESS_ALLOWLIST.md +127 -0
  100. package/docs/security/COMPLIANCE.md +458 -0
  101. package/docs/security/DEPS_DEV_EXCEPTIONS.md +86 -0
  102. package/docs/security/ENCRYPTION.md +57 -0
  103. package/docs/security/FMEA.md +159 -0
  104. package/docs/security/HISTORY_FILTERING.md +132 -0
  105. package/docs/security/INCIDENT_RESPONSE.md +579 -0
  106. package/docs/security/INSTALL_VERIFICATION.md +122 -0
  107. package/docs/security/KEYS.md +49 -0
  108. package/docs/security/KEY_ROTATION.md +223 -0
  109. package/docs/security/MCP_POLICY.md +78 -0
  110. package/docs/security/POLICY_RELEASES.md +37 -0
  111. package/docs/security/README.md +28 -0
  112. package/docs/security/SCORECARD.md +80 -0
  113. package/docs/security/SECRETS.md +158 -0
  114. package/docs/security/SECURITY.md +45 -0
  115. package/docs/security/SECURITY_CHECKLIST.md +55 -0
  116. package/docs/security/SHELL_EXEMPTIONS.md +145 -0
  117. package/docs/security/SOUP_REGISTER.md +36 -0
  118. package/docs/security/THREAT_MODEL.md +130 -0
  119. package/docs/security/VERIFICATION_VALIDATION.md +228 -0
  120. package/docs/themes/README.md +10 -0
  121. package/docs/themes/VISUAL_INTEGRITY_REPORT.md +30 -0
  122. package/docs/themes/hero-shot.svg +78 -0
  123. package/dot_config/.module-manifest.json +69 -0
  124. package/dot_config/ai/identity.md +23 -0
  125. package/dot_config/ai/patterns/architect.md +16 -0
  126. package/dot_config/ai/patterns/hardener.md +15 -0
  127. package/dot_config/ai/patterns/refactor.md +15 -0
  128. package/dot_config/aider/aider.conf.yml +32 -0
  129. package/dot_config/alacritty/alacritty.toml.tmpl +55 -0
  130. package/dot_config/ansible/ansible.cfg +11 -0
  131. package/dot_config/atuin/config.toml.tmpl +47 -0
  132. package/dot_config/bat/config +23 -0
  133. package/dot_config/brave-flags.conf.tmpl +7 -0
  134. package/dot_config/btop/btop.conf +16 -0
  135. package/dot_config/btop/themes/tokyonight.theme +34 -0
  136. package/dot_config/bun/bunfig.toml.tmpl +33 -0
  137. package/dot_config/claude/mcp_servers.json +20 -0
  138. package/dot_config/containers/containers.conf +14 -0
  139. package/dot_config/curl/dot_curlrc +18 -0
  140. package/dot_config/dlv/config.yml +39 -0
  141. package/dot_config/docker/config.json +15 -0
  142. package/dot_config/dotfiles/agent-card.json +29 -0
  143. package/dot_config/dotfiles/agent-profiles.json +92 -0
  144. package/dot_config/dotfiles/boot/README.md +13 -0
  145. package/dot_config/dotfiles/grub/README.md +13 -0
  146. package/dot_config/dotfiles/lock/README.md +13 -0
  147. package/dot_config/dotfiles/mcp-lock.json +33 -0
  148. package/dot_config/dotfiles/mcp-policy.json +52 -0
  149. package/dot_config/dotfiles/mcp-registry.json +47 -0
  150. package/dot_config/dotfiles/model-registry.json +20 -0
  151. package/dot_config/dotfiles/policy-bundles.json +38 -0
  152. package/dot_config/dotfiles/prompt-registry.json +16 -0
  153. package/dot_config/dotfiles/versions.env +18 -0
  154. package/dot_config/duf/duf.conf +6 -0
  155. package/dot_config/duti/defaults.duti +5 -0
  156. package/dot_config/emoji/emoji.txt +34 -0
  157. package/dot_config/environment.d/50-ssh-agent.conf +2 -0
  158. package/dot_config/environment.d/90-wayland.conf +19 -0
  159. package/dot_config/fastfetch/config.jsonc +28 -0
  160. package/dot_config/firefox/user.js.tmpl +58 -0
  161. package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +9 -0
  162. package/dot_config/fish/completions/dot.fish.tmpl +115 -0
  163. package/dot_config/fish/conf.d/000-perf-cache.fish +56 -0
  164. package/dot_config/fish/conf.d/aliases.fish.tmpl +77 -0
  165. package/dot_config/fish/conf.d/env.fish.tmpl +48 -0
  166. package/dot_config/fish/conf.d/functions.fish.tmpl +22 -0
  167. package/dot_config/fish/conf.d/init.fish.tmpl +172 -0
  168. package/dot_config/fish/config.fish.tmpl +44 -0
  169. package/dot_config/fish/fish_plugins +1 -0
  170. package/dot_config/fish/functions/_.fish +3 -0
  171. package/dot_config/fish/functions/_cached_eval.fish +131 -0
  172. package/dot_config/fish/functions/_cached_eval_clear.fish +17 -0
  173. package/dot_config/fish/functions/als.fish +46 -0
  174. package/dot_config/fish/functions/bg-upgrade.fish +7 -0
  175. package/dot_config/fish/functions/c.fish +3 -0
  176. package/dot_config/fish/functions/cat.fish +9 -0
  177. package/dot_config/fish/functions/d.fish +7 -0
  178. package/dot_config/fish/functions/dot.fish +34 -0
  179. package/dot_config/fish/functions/h.fish +3 -0
  180. package/dot_config/fish/functions/l.fish +7 -0
  181. package/dot_config/fish/functions/la.fish +7 -0
  182. package/dot_config/fish/functions/ll.fish +7 -0
  183. package/dot_config/fish/functions/log_error.fish +13 -0
  184. package/dot_config/fish/functions/log_info.fish +13 -0
  185. package/dot_config/fish/functions/lr.fish +7 -0
  186. package/dot_config/fish/functions/lra.fish +7 -0
  187. package/dot_config/fish/functions/ls.fish +7 -0
  188. package/dot_config/fish/functions/lt.fish +7 -0
  189. package/dot_config/fish/functions/lta.fish +7 -0
  190. package/dot_config/fish/functions/notify-run.fish +11 -0
  191. package/dot_config/fish/functions/q.fish +3 -0
  192. package/dot_config/fish/functions/silent-run.fish +7 -0
  193. package/dot_config/fish/functions/yy.fish +8 -0
  194. package/dot_config/flatpak/flatpak.list +4 -0
  195. package/dot_config/fontconfig/fonts.conf.tmpl +57 -0
  196. package/dot_config/foot/foot.ini.tmpl +33 -0
  197. package/dot_config/fuzzel/fuzzel.ini.tmpl +18 -0
  198. package/dot_config/fzf/fzf.zsh +48 -0
  199. package/dot_config/gem/gemrc +9 -0
  200. package/dot_config/gh/config.yml +12 -0
  201. package/dot_config/ghostty/config.tmpl +165 -0
  202. package/dot_config/git/allowed_signers.tmpl +18 -0
  203. package/dot_config/git/attributes +12 -0
  204. package/dot_config/git/commit-template +10 -0
  205. package/dot_config/git/hooks/executable_commit-msg +146 -0
  206. package/dot_config/git/ignore +27 -0
  207. package/dot_config/gnupg/gpg-agent.conf +11 -0
  208. package/dot_config/go/golangci.yml +118 -0
  209. package/dot_config/go/gopls.json +30 -0
  210. package/dot_config/goose/config.yaml +29 -0
  211. package/dot_config/gtk-3.0/gtk.css.tmpl +184 -0
  212. package/dot_config/gtk-3.0/settings.ini.tmpl +27 -0
  213. package/dot_config/gtk-4.0/gtk.css.tmpl +252 -0
  214. package/dot_config/gtk-4.0/settings.ini.tmpl +18 -0
  215. package/dot_config/htop/htoprc +20 -0
  216. package/dot_config/inputrc +2 -0
  217. package/dot_config/ipython/profile_default/ipython_config.py +19 -0
  218. package/dot_config/just/justfile +122 -0
  219. package/dot_config/k9s/config.yaml +65 -0
  220. package/dot_config/k9s/skins/catppuccin-mocha.yaml +116 -0
  221. package/dot_config/kanshi/config.tmpl +22 -0
  222. package/dot_config/karabiner/karabiner.json +14 -0
  223. package/dot_config/kitty/kitty.conf.tmpl +53 -0
  224. package/dot_config/lazydocker/config.yml +186 -0
  225. package/dot_config/lazygit/config.yml +35 -0
  226. package/dot_config/mako/config +47 -0
  227. package/dot_config/mas/masapps.txt +5 -0
  228. package/dot_config/micro/settings.json +3 -0
  229. package/dot_config/mimeapps.list +77 -0
  230. package/dot_config/minikube/config.json +13 -0
  231. package/dot_config/mise/config.toml +99 -0
  232. package/dot_config/mongosh/mongoshrc.js +68 -0
  233. package/dot_config/mpv/input.conf +47 -0
  234. package/dot_config/mpv/mpv.conf +47 -0
  235. package/dot_config/mycli/myclirc +67 -0
  236. package/dot_config/nano/nanorc +28 -0
  237. package/dot_config/ncdu/config +12 -0
  238. package/dot_config/niri/config.kdl.tmpl +327 -0
  239. package/dot_config/nushell/aliases.nu +18 -0
  240. package/dot_config/nushell/cached_eval.nu +80 -0
  241. package/dot_config/nushell/completions.nu.tmpl +52 -0
  242. package/dot_config/nushell/config.nu.tmpl +86 -0
  243. package/dot_config/nushell/env.nu.tmpl +102 -0
  244. package/dot_config/nushell/functions.nu.tmpl +17 -0
  245. package/dot_config/nvim/init.lua +18 -0
  246. package/dot_config/nvim/lazy-lock.json +58 -0
  247. package/dot_config/nvim/lua/config/autocmds.lua +107 -0
  248. package/dot_config/nvim/lua/config/keymaps.lua +92 -0
  249. package/dot_config/nvim/lua/config/lazy.lua +44 -0
  250. package/dot_config/nvim/lua/config/options.lua +49 -0
  251. package/dot_config/nvim/lua/plugins/ai.lua +75 -0
  252. package/dot_config/nvim/lua/plugins/coding.lua +216 -0
  253. package/dot_config/nvim/lua/plugins/completion.lua +60 -0
  254. package/dot_config/nvim/lua/plugins/dap.lua +412 -0
  255. package/dot_config/nvim/lua/plugins/editor.lua +55 -0
  256. package/dot_config/nvim/lua/plugins/git.lua +10 -0
  257. package/dot_config/nvim/lua/plugins/lsp.lua +156 -0
  258. package/dot_config/nvim/lua/plugins/markdown.lua +18 -0
  259. package/dot_config/nvim/lua/plugins/rust.lua +34 -0
  260. package/dot_config/nvim/lua/plugins/sessions.lua +33 -0
  261. package/dot_config/nvim/lua/plugins/ui.lua +509 -0
  262. package/dot_config/paru/paru.conf +10 -0
  263. package/dot_config/pip/pip.conf.tmpl +32 -0
  264. package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
  265. package/dot_config/pueue/pueue.yml +34 -0
  266. package/dot_config/pypoetry/config.toml +6 -0
  267. package/dot_config/pyrightconfig.json +5 -0
  268. package/dot_config/raycast/README.md +13 -0
  269. package/dot_config/redis/redisclirc +41 -0
  270. package/dot_config/ripgrep/ripgreprc +21 -0
  271. package/dot_config/shell/00-core-paths.sh.tmpl +134 -0
  272. package/dot_config/shell/05-core-safety.sh +48 -0
  273. package/dot_config/shell/10-secrets.sh +41 -0
  274. package/dot_config/shell/40-fzf-defaults.sh.tmpl +17 -0
  275. package/dot_config/shell/40-ls-colors.sh +49 -0
  276. package/dot_config/shell/50-logic-functions-core.sh.tmpl +11 -0
  277. package/dot_config/shell/50-logic-functions.sh.tmpl +11 -0
  278. package/dot_config/shell/51-logic-functions-extra.sh.tmpl +65 -0
  279. package/dot_config/shell/90-ux-aliases.sh.tmpl +121 -0
  280. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +55 -0
  281. package/dot_config/shell/Brewfile +207 -0
  282. package/dot_config/shell/Brewfile.cask +92 -0
  283. package/dot_config/shell/Brewfile.cli +127 -0
  284. package/dot_config/shell/README.md +284 -0
  285. package/dot_config/shell/als_data.txt.tmpl +65 -0
  286. package/dot_config/shell/custom/auto_ls.zsh +20 -0
  287. package/dot_config/shell/custom/context_suggest.zsh +68 -0
  288. package/dot_config/shell/custom/error_analysis.zsh +45 -0
  289. package/dot_config/sops/dot_sops.yaml +23 -0
  290. package/dot_config/starship.toml.tmpl +202 -0
  291. package/dot_config/swaylock/config +43 -0
  292. package/dot_config/systemd/user/dotfiles-maintenance.service +8 -0
  293. package/dot_config/systemd/user/dotfiles-maintenance.timer +11 -0
  294. package/dot_config/systemd/user/pueued.service +12 -0
  295. package/dot_config/systemd/user/ssh-agent.service +12 -0
  296. package/dot_config/task/Taskfile.yml +86 -0
  297. package/dot_config/tflint/tflint.hcl +9 -0
  298. package/dot_config/tmux/tmux.conf.tmpl +223 -0
  299. package/dot_config/topgrade.toml.tmpl +54 -0
  300. package/dot_config/user-dirs.dirs +10 -0
  301. package/dot_config/vscode/extensions.txt +11 -0
  302. package/dot_config/vscode/settings.json.tmpl +82 -0
  303. package/dot_config/waybar/config.jsonc.tmpl +90 -0
  304. package/dot_config/waybar/style.css.tmpl +211 -0
  305. package/dot_config/wezterm/wezterm.lua.tmpl +64 -0
  306. package/dot_config/wget/wgetrc +12 -0
  307. package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
  308. package/dot_config/yarn/yarnrc.yml +36 -0
  309. package/dot_config/yazi/keymap.toml +67 -0
  310. package/dot_config/yazi/theme.toml +102 -0
  311. package/dot_config/yazi/yazi.toml +40 -0
  312. package/dot_config/zathura/zathurarc +52 -0
  313. package/dot_config/zellij/config.kdl.tmpl +79 -0
  314. package/dot_config/zsh/dot_zprofile +7 -0
  315. package/dot_config/zsh/dot_zshenv +5 -0
  316. package/dot_config/zsh/dot_zshrc.tmpl +635 -0
  317. package/dot_config/zsh/rc.d/00-alias-shims.zsh +99 -0
  318. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +18 -0
  319. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +28 -0
  320. package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
  321. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +214 -0
  322. package/dot_config/zsh/rc.d/40-bell.zsh +20 -0
  323. package/dot_config/zsh/rc.d/50-login-fortune.zsh +9 -0
  324. package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +32 -0
  325. package/dot_local/bin/executable_ai-update +195 -0
  326. package/dot_local/bin/executable_ai_core +152 -0
  327. package/dot_local/bin/executable_antigravity +11 -0
  328. package/dot_local/bin/executable_b64 +84 -0
  329. package/dot_local/bin/executable_bm +79 -0
  330. package/dot_local/bin/executable_cb +39 -0
  331. package/dot_local/bin/executable_dot +596 -0
  332. package/dot_local/bin/executable_dot-ai +36 -0
  333. package/dot_local/bin/executable_dot-bootstrap +77 -0
  334. package/dot_local/bin/executable_dot-launch-or-focus +52 -0
  335. package/dot_local/bin/executable_dot-load-benchmark +31 -0
  336. package/dot_local/bin/executable_dot-load-benchmark-pty +77 -0
  337. package/dot_local/bin/executable_dot-theme-sync +952 -0
  338. package/dot_local/bin/executable_dot_completion +57 -0
  339. package/dot_local/bin/executable_dtags +28 -0
  340. package/dot_local/bin/executable_epoch +67 -0
  341. package/dot_local/bin/executable_extract +41 -0
  342. package/dot_local/bin/executable_gbd +52 -0
  343. package/dot_local/bin/executable_gd +42 -0
  344. package/dot_local/bin/executable_git-ai-commit +175 -0
  345. package/dot_local/bin/executable_git-ai-diff +169 -0
  346. package/dot_local/bin/executable_gl +101 -0
  347. package/dot_local/bin/executable_hash +161 -0
  348. package/dot_local/bin/executable_hashsum +160 -0
  349. package/dot_local/bin/executable_hex +115 -0
  350. package/dot_local/bin/executable_jsonv +78 -0
  351. package/dot_local/bin/executable_jwt +94 -0
  352. package/dot_local/bin/executable_kill-port +75 -0
  353. package/dot_local/bin/executable_lorem +118 -0
  354. package/dot_local/bin/executable_mkscript +35 -0
  355. package/dot_local/bin/executable_monitor +56 -0
  356. package/dot_local/bin/executable_myip +51 -0
  357. package/dot_local/bin/executable_notify +24 -0
  358. package/dot_local/bin/executable_open +38 -0
  359. package/dot_local/bin/executable_pw +27 -0
  360. package/dot_local/bin/executable_rec-start +46 -0
  361. package/dot_local/bin/executable_rec-stop +35 -0
  362. package/dot_local/bin/executable_regex +132 -0
  363. package/dot_local/bin/executable_start-niri +8 -0
  364. package/dot_local/bin/executable_tmux-sessionizer +314 -0
  365. package/dot_local/bin/executable_tour +177 -0
  366. package/dot_local/bin/executable_up +23 -0
  367. package/dot_local/bin/executable_update +142 -0
  368. package/dot_local/bin/executable_uuid +87 -0
  369. package/dot_local/bin/executable_win +32 -0
  370. package/dot_local/bin/executable_yamlv +57 -0
  371. package/dot_local/share/bash-completion/completions/dot +72 -0
  372. package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
  373. package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
  374. package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
  375. package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
  376. package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
  377. package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
  378. package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
  379. package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
  380. package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
  381. package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
  382. package/dot_local/share/man/man1/dot.1 +149 -0
  383. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +64 -0
  384. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +18 -0
  385. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +13 -0
  386. package/dot_local/share/wayland-sessions/niri.desktop.tmpl +6 -0
  387. package/dot_local/share/zsh/completions/.keep +0 -0
  388. package/dot_local/share/zsh/completions/_dot +283 -0
  389. package/install.sh +350 -0
  390. package/package.json +1 -1
  391. package/scripts/ci/check-copyright-headers.sh +96 -0
  392. package/scripts/ci/check-dangerous-chmod.sh +19 -0
  393. package/scripts/ci/check-deps-dev.sh +236 -0
  394. package/scripts/ci/check-insecure-tls.sh +61 -0
  395. package/scripts/ci/check-regression-traceability.sh +67 -0
  396. package/scripts/ci/check-shell-preamble.sh +106 -0
  397. package/scripts/ci/guard-gitleaks-checkout.sh +57 -0
  398. package/scripts/ci/install-chezmoi-verified.sh +64 -0
  399. package/scripts/ci/run-coverage.sh +362 -0
  400. package/scripts/ci/validate-chezmoidata.sh +25 -0
  401. package/scripts/ci/validate-ci-config.sh +224 -0
  402. package/scripts/demo/record.sh +42 -0
  403. package/scripts/diagnostics/a2a-conformance.sh +162 -0
  404. package/scripts/diagnostics/alias-governance.sh +137 -0
  405. package/scripts/diagnostics/aliases-cheatsheet.sh +73 -0
  406. package/scripts/diagnostics/aliases-manifest.sh +31 -0
  407. package/scripts/diagnostics/benchmark.sh +381 -0
  408. package/scripts/diagnostics/conflicts.sh +72 -0
  409. package/scripts/diagnostics/doctor-unified.sh +38 -0
  410. package/scripts/diagnostics/doctor.sh +709 -0
  411. package/scripts/diagnostics/drift-dashboard.sh +201 -0
  412. package/scripts/diagnostics/health.sh +614 -0
  413. package/scripts/diagnostics/history-analysis.sh +85 -0
  414. package/scripts/diagnostics/mcp-doctor.sh +575 -0
  415. package/scripts/diagnostics/perf.sh +452 -0
  416. package/scripts/diagnostics/scorecard.sh +118 -0
  417. package/scripts/diagnostics/secret-governance.sh +58 -0
  418. package/scripts/diagnostics/security-score.sh +438 -0
  419. package/scripts/diagnostics/smoke-test.sh +87 -0
  420. package/scripts/diagnostics/snapshot.sh +89 -0
  421. package/scripts/diagnostics/verify.sh +107 -0
  422. package/scripts/{verify_state.sh → diagnostics/verify_state.sh} +22 -22
  423. package/scripts/diagnostics/version-locks.sh +79 -0
  424. package/scripts/diagnostics/workstation-attestation.sh +186 -0
  425. package/scripts/docs/build-manual.sh +883 -0
  426. package/scripts/docs/check-manual.sh +213 -0
  427. package/scripts/dot/commands/agent.sh +474 -0
  428. package/scripts/dot/commands/ai.sh +481 -0
  429. package/scripts/dot/commands/aliases.sh +250 -0
  430. package/scripts/dot/commands/appearance.sh +80 -0
  431. package/scripts/dot/commands/core.sh +185 -0
  432. package/scripts/dot/commands/diagnostics.sh +229 -0
  433. package/scripts/dot/commands/fleet.sh +399 -0
  434. package/scripts/dot/commands/lint.sh +177 -0
  435. package/scripts/dot/commands/manual.sh +168 -0
  436. package/scripts/dot/commands/meta.sh +248 -0
  437. package/scripts/dot/commands/patterns.sh +54 -0
  438. package/scripts/dot/commands/restore.sh +231 -0
  439. package/scripts/dot/commands/secrets.sh +223 -0
  440. package/scripts/dot/commands/security.sh +76 -0
  441. package/scripts/dot/commands/tools.sh +469 -0
  442. package/scripts/dot/data/alias-deprecations.tsv +2 -0
  443. package/scripts/dot/lib/bento.sh +50 -0
  444. package/scripts/dot/lib/log.sh +200 -0
  445. package/scripts/dot/lib/platform.sh +99 -0
  446. package/scripts/dot/lib/ui.sh +518 -0
  447. package/scripts/dot/lib/utils.sh +377 -0
  448. package/scripts/fonts/install-nerd-fonts.sh +68 -0
  449. package/scripts/fonts/patch-fonts.sh +35 -0
  450. package/scripts/git-hooks/install.sh +11 -0
  451. package/scripts/git-hooks/pre-commit +12 -0
  452. package/scripts/git-hooks/pre-commit-audit.sh +145 -0
  453. package/scripts/git-hooks/pre-push +92 -0
  454. package/scripts/git-hooks/prepare-commit-msg +29 -0
  455. package/scripts/lib/secrets_provider.sh +158 -0
  456. package/scripts/maintenance/check-updates.sh +131 -0
  457. package/scripts/ops/ai-setup.sh +55 -0
  458. package/scripts/ops/bundle.sh +77 -0
  459. package/scripts/ops/chaos.sh +49 -0
  460. package/scripts/ops/chezmoi-apply.sh +270 -0
  461. package/scripts/ops/chezmoi-diff.sh +15 -0
  462. package/scripts/ops/chezmoi-remove.sh +45 -0
  463. package/scripts/ops/chezmoi-update.sh +48 -0
  464. package/scripts/ops/heal-chezmoi.sh +86 -0
  465. package/scripts/ops/heal-system.sh +128 -0
  466. package/scripts/ops/heal-tools.sh +340 -0
  467. package/scripts/ops/heal.sh +222 -0
  468. package/scripts/ops/post-apply-repair.sh +106 -0
  469. package/scripts/ops/prewarm.sh +127 -0
  470. package/scripts/ops/release.sh +252 -0
  471. package/scripts/ops/rollback.sh +589 -0
  472. package/scripts/ops/setup.sh +137 -0
  473. package/scripts/ops/teleport.sh +33 -0
  474. package/scripts/qa/coverage-baseline.sh +60 -0
  475. package/scripts/qa/docs-coverage.sh +111 -0
  476. package/scripts/qa/powershell-contract.ps1 +95 -0
  477. package/scripts/qa/reliability-audit.sh +138 -0
  478. package/scripts/qa/traceability-coverage.sh +116 -0
  479. package/scripts/qa/validate-examples.sh +26 -0
  480. package/scripts/qa/wsl-contract.sh +11 -0
  481. package/scripts/release/package-policy-bundles.sh +125 -0
  482. package/scripts/secrets/age-init.sh +70 -0
  483. package/scripts/secrets/create-secrets-file.sh +45 -0
  484. package/scripts/secrets/encrypt-ssh-key.sh +43 -0
  485. package/scripts/security/backup.sh +57 -0
  486. package/scripts/security/dns-doh.sh +51 -0
  487. package/scripts/security/encryption-check.sh +54 -0
  488. package/scripts/security/enforce-policies.sh +334 -0
  489. package/scripts/security/firewall.sh +90 -0
  490. package/scripts/security/lock-configs.sh +57 -0
  491. package/scripts/security/lock-screen.sh +55 -0
  492. package/scripts/security/manage-secrets.sh +428 -0
  493. package/scripts/security/ssh-cert.sh +203 -0
  494. package/scripts/security/telemetry-kill.sh +50 -0
  495. package/scripts/security/usb-safety.sh +51 -0
  496. package/scripts/theme/apply-gnome-theme.sh +328 -0
  497. package/scripts/theme/extract-theme.py +677 -0
  498. package/scripts/theme/install-boot-logo.sh +62 -0
  499. package/scripts/theme/install-catppuccin-themes.sh +370 -0
  500. package/scripts/theme/install-cursors.sh +25 -0
  501. package/scripts/theme/install-file-icons.sh +26 -0
  502. package/scripts/theme/install-grub-theme.sh +61 -0
  503. package/scripts/theme/install-lock-icon.sh +30 -0
  504. package/scripts/theme/merge-wallpaper.sh +145 -0
  505. package/scripts/theme/rebuild-themes.sh +309 -0
  506. package/scripts/theme/switch.sh +431 -0
  507. package/scripts/theme/wallpaper-rotate.sh +136 -0
  508. package/scripts/theme/wallpaper-sync.sh +397 -0
  509. package/scripts/tools/cmatrix.sh +21 -0
  510. package/scripts/{detect-collisions.py → tools/detect-collisions.py} +2 -2
  511. package/scripts/tools/emoji-picker.sh +48 -0
  512. package/scripts/tools/figlet-banner.sh +18 -0
  513. package/scripts/tools/log-rotate.sh +30 -0
  514. package/scripts/tools/lolcat-wrap.sh +19 -0
  515. package/scripts/tools/pipes.sh +48 -0
  516. package/scripts/tuning/linux.sh +185 -0
  517. package/scripts/tuning/macos.sh +55 -0
  518. package/scripts/uninstall.sh +85 -0
  519. package/scripts/version-sync.sh +487 -0
  520. package/templates/chezmoi-data/geekom-a9.toml.example +21 -0
  521. package/templates/chezmoi-data/mac-m1.toml.example +16 -0
  522. package/templates/chezmoi-data/mac-t2-linux.toml.example +21 -0
  523. package/templates/chezmoi-data/surface-pro-7p.toml.example +21 -0
  524. package/templates/projects/go/.github/workflows/ci.yml +31 -0
  525. package/templates/projects/go/README.md +4 -0
  526. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +1 -0
  527. package/templates/projects/go/go.sum +0 -0
  528. package/templates/projects/molecule/README.md +7 -0
  529. package/templates/projects/molecule/converge.yml +7 -0
  530. package/templates/projects/molecule/molecule.yml +16 -0
  531. package/templates/projects/node/.github/workflows/ci.yml +30 -0
  532. package/templates/projects/node/README.md +4 -0
  533. package/templates/projects/node/package-lock.json +12 -0
  534. package/templates/projects/node/src/index.js +1 -0
  535. package/templates/projects/packer/README.md +15 -0
  536. package/templates/projects/packer/main.pkr.hcl +15 -0
  537. package/templates/projects/python/.github/workflows/ci.yml +34 -0
  538. package/templates/projects/python/README.md +4 -0
  539. package/templates/projects/python/pyproject.toml +15 -0
  540. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
  541. package/templates/projects/python/tests/test_basic.py +1 -0
  542. package/docs/ARCHITECTURE.md +0 -62
  543. package/docs/COMPLIANCE.md +0 -47
  544. package/docs/OPERATIONS.md +0 -103
  545. package/docs/PR_DESCRIPTION.md +0 -150
  546. package/docs/ROADMAP_legacy.md +0 -556
  547. package/docs/SECURITY_CHECKLIST.md +0 -25
  548. package/docs/TASK.md +0 -99
  549. package/docs/WALKTHROUGH.md +0 -46
  550. package/scripts/backup.sh +0 -142
  551. package/scripts/banner.sh +0 -20
  552. package/scripts/benchmark.sh +0 -20
  553. package/scripts/build.sh +0 -41
  554. package/scripts/clean.sh +0 -31
  555. package/scripts/compile.sh +0 -54
  556. package/scripts/copy.sh +0 -108
  557. package/scripts/doctor.sh +0 -79
  558. package/scripts/dotfiles.sh +0 -63
  559. package/scripts/download.sh +0 -35
  560. package/scripts/help.sh +0 -57
  561. package/scripts/lock-configs.sh +0 -57
  562. package/scripts/package.sh +0 -46
  563. package/scripts/ssh.sh +0 -55
  564. package/scripts/teleport.sh +0 -23
  565. package/scripts/test-aliases.sh +0 -25
  566. package/scripts/test_smoke.sh +0 -88
  567. package/scripts/unpack.sh +0 -28
@@ -0,0 +1,40 @@
1
+ ---
2
+ render_with_liquid: false
3
+ ---
4
+
5
+ # Appendix C: Glossary
6
+
7
+ | Term | Definition |
8
+ |:---|:---|
9
+ | **Age** | Modern file-encryption tool using X25519 + ChaCha20-Poly1305. Stores secrets in the repository encrypted at rest. |
10
+ | **Agent Profile** | A named behaviour template for AI agents (e.g. architect, hardener). Stored in `dot_config/ai/patterns/`. |
11
+ | **ANSI Colors** | The 16 foreground/background color slots (c0 through c15) used by terminal emulators. |
12
+ | **Apple Desktop APR** | XMP metadata in dynamic HEIC wallpapers mapping image indices to light/dark appearance modes. |
13
+ | **Attestation** | Signed JSON document asserting machine identity, policy, tool versions, and Git state at a point in time. |
14
+ | **Baseline (security)** | Reference state used by `detect-secrets` to distinguish new leaks from known acceptable patterns. |
15
+ | **Chaos** | Intentional corruption (`dot chaos`) used to verify `dot heal` recovers to a healthy state. |
16
+ | **Chezmoi** | The templating engine handling per-platform rendering and applying configuration to `$HOME`. |
17
+ | **CIELAB** | Color space designed for perceptual uniformity. Used by the theme engine for K-Means clustering. |
18
+ | **CycloneDX** | SBOM format used by the repository for machine-readable dependency inventories. |
19
+ | **Dank Material Shell (DMS)** | A shell for the Niri Wayland compositor that provides polished theming hooks. |
20
+ | **Drift** | Local changes to managed files that diverge from the source tree. Detected by `dot status`. |
21
+ | **Dynamic HEIC** | Apple's single-file wallpaper format that contains both light and dark variants with appearance metadata. |
22
+ | **Fleet** | Two or more workstations sharing a single `.dotfiles` source repository. |
23
+ | **Gitleaks** | Secret-pattern scanner that blocks commits containing obvious secret patterns. |
24
+ | **Golden Ratio** | 1.618... Used as the target brightness ratio between dark and light theme variants. |
25
+ | **Heal** | The `dot heal` command's action of auto-fixing drift, missing tools, and broken symlinks. |
26
+ | **Idempotent** | Property where running an operation twice has the same result as running it once. |
27
+ | **K-Means** | Clustering algorithm partitioning data into k groups by proximity to centroids. Used for dominant color extraction. |
28
+ | **K-Means++** | Variant of K-Means with smart initialization that reduces sensitivity to random seeding. |
29
+ | **MCP** | Model Context Protocol — standard for connecting AI models to external tools and data. |
30
+ | **Mise** | User-space language and tool version manager. Replaces asdf, nvm, rbenv, pyenv. |
31
+ | **Nix Flakes** | Nix's reproducible-build system. Used for strict repeatability when Mise's approximations aren't enough. |
32
+ | **Niri** | Wayland compositor with scrollable tiling layout. |
33
+ | **Policy Hash** | SHA-256 of the active MCP policy JSON. Included in attestations for drift detection. |
34
+ | **Prewarm** | `dot prewarm` regenerates shell init caches, eliminating slow first-shell startup. |
35
+ | **Profile** | Named collection of settings in `.chezmoidata.toml` selectable via `dot profile`. |
36
+ | **SOPS** | "Secrets OPerationS" — YAML-aware envelope encryption tool that wraps Age (or PGP/AWS KMS). |
37
+ | **SBOM** | Software Bill of Materials — machine-readable dependency list, generated by Syft, scanned by Grype. |
38
+ | **Trust Anchor** | The root public key from which all other trust derives. For `.dotfiles`, the user's SSH ED25519 signing key. |
39
+ | **WCAG AAA** | Web Content Accessibility Guidelines Level AAA — 7:1 text contrast ratio, the highest accessibility tier. |
40
+ | **XDG Base Directory** | Spec defining `~/.config`, `~/.cache`, `~/.local/share`, `~/.local/state` for app data locations. |
@@ -0,0 +1,58 @@
1
+ ---
2
+ render_with_liquid: false
3
+ ---
4
+
5
+ # Appendix D: Bibliography
6
+
7
+ Cited works and recommended reading.
8
+
9
+ ## Algorithms
10
+
11
+ - **MacQueen, J. (1967).** *Some methods for classification and analysis of multivariate observations.* Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability. — The original K-Means paper.
12
+ - **Arthur, D. & Vassilvitskii, S. (2007).** *K-Means++: The advantages of careful seeding.* ACM-SIAM Symposium on Discrete Algorithms. <https://theory.stanford.edu/~sergei/papers/kMeansPP-soda.pdf>
13
+ - **Heckbert, P. (1982).** *Color image quantization for frame buffer display.* Computer Graphics 16(3). — Median cut algorithm, the alternative to K-Means.
14
+
15
+ ## Color Science
16
+
17
+ - **CIE (1976).** *Recommendations on uniform color spaces, color-difference equations, psychometric color terms.* Supplement No. 2 to CIE Publication No. 15. — Defines CIELAB.
18
+ - **Lindbloom, B. J.** *RGB/XYZ matrices.* <http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html> — sRGB → XYZ conversion reference.
19
+ - **Fairchild, M. D. (2013).** *Color Appearance Models, 3rd Edition.* Wiley. — Comprehensive treatment of perceptual color spaces.
20
+
21
+ ## Accessibility
22
+
23
+ - **W3C (2023).** *Web Content Accessibility Guidelines (WCAG) 2.2.* <https://www.w3.org/TR/WCAG22/> — Accessibility standards including contrast ratios.
24
+ - **W3C.** *Techniques for WCAG 2.2: G17 Using a contrast ratio of at least 7:1.* <https://www.w3.org/WAI/WCAG22/Techniques/general/G17>
25
+
26
+ ## Cryptography
27
+
28
+ - **Valsorda, F. (2020).** *age: A simple, modern and secure encryption tool.* <https://age-encryption.org/>
29
+ - **Mozilla.** *SOPS: Secrets OPerationS.* <https://github.com/getsops/sops>
30
+ - **Barnes, R., et al. (2023).** *RFC 9420: The Messaging Layer Security (MLS) Protocol.* — Modern group-key agreement, relevant to multi-recipient encryption.
31
+
32
+ ## Protocols
33
+
34
+ - **Anthropic.** *Model Context Protocol specification.* <https://modelcontextprotocol.io/>
35
+ - **OpenID Foundation.** *Model Context Protocol A2A (Agent-to-Agent).* — Referenced in `dot_config/dotfiles/agent-card.json`.
36
+
37
+ ## Tools & Systems
38
+
39
+ - **Twpayne, T.** *chezmoi: Manage your dotfiles across multiple machines.* <https://chezmoi.io>
40
+ - **jdxcode.** *mise: Dev tools, env vars, task runner.* <https://mise.jdx.dev/>
41
+ - **NixOS.** *Nix Flakes.* <https://nixos.wiki/wiki/Flakes>
42
+ - **Microsoft / CycloneDX.** *CycloneDX SBOM specification.* <https://cyclonedx.org/>
43
+ - **Anchore.** *Syft + Grype.* <https://github.com/anchore/syft>, <https://github.com/anchore/grype>
44
+
45
+ ## Shell Performance
46
+
47
+ - **Yoo, D.** *How to benchmark shell startup time.* <https://web.archive.org/web/2023/https://hermann.blog/benchmark-shell-startup-time>
48
+ - **Zsh manual.** *Startup files: zshenv, zprofile, zshrc.* <https://zsh.sourceforge.io/Doc/Release/Files.html>
49
+
50
+ ## Documentation Systems
51
+
52
+ - **GNU Stow documentation.** <https://www.gnu.org/software/stow/manual/> — Inspiration for this manual's multi-format publishing model.
53
+ - **Pandoc.** *Universal document converter.* <https://pandoc.org/>
54
+ - **GNU Texinfo.** <https://www.gnu.org/software/texinfo/> — The original GNU documentation system.
55
+
56
+ ## Author
57
+
58
+ - **Rousseau, S.** *Dotfiles v0.2.501.* <https://github.com/sebastienrousseau/dotfiles>
@@ -0,0 +1,38 @@
1
+ ---
2
+ render_with_liquid: false
3
+ ---
4
+
5
+ # Appendix E: License
6
+
7
+ ## MIT License
8
+
9
+ Copyright (c) 2015-2026 Sebastien Rousseau
10
+
11
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+
17
+ ## Third-Party Licenses
18
+
19
+ This repository references, configures, or wraps many third-party tools. Each tool retains its own license:
20
+
21
+ | Tool | License |
22
+ |:---|:---|
23
+ | Chezmoi | MIT |
24
+ | Mise | MIT |
25
+ | Nix | LGPL-2.1 |
26
+ | Age | BSD-3-Clause |
27
+ | SOPS | MPL-2.0 |
28
+ | Fish shell | GPL-2.0 |
29
+ | Zsh | Zsh License (MIT-like) |
30
+ | Neovim | Apache-2.0 |
31
+ | ImageMagick | ImageMagick License (Apache-2.0-like) |
32
+ | Pandoc | GPL-2.0+ |
33
+
34
+ Wallpapers referenced from `/System/Library/Desktop Pictures/` or `/usr/share/backgrounds/` retain their original vendors' licenses (Apple, Microsoft, distribution vendors). They are not redistributed by this repository — they are discovered and processed in place.
35
+
36
+ ## Contributions
37
+
38
+ Contributions are accepted under the MIT License. By submitting a pull request, you assert that your contribution is your own work (or properly attributed) and that it may be relicensed under MIT.
@@ -0,0 +1,58 @@
1
+ # Master ordering for build-manual.sh
2
+ # Determines concatenation order for single-page HTML/PDF/EPUB
3
+ title: "The .dotfiles Manual"
4
+ subtitle: "A Trusted Agent Workstation for macOS, Linux, and WSL"
5
+ version: "0.2.501"
6
+
7
+ sections:
8
+ - file: 00-introduction.md
9
+ title: "Introduction"
10
+
11
+ - group: "Concepts"
12
+ prefix: "01-concepts"
13
+ files:
14
+ - 01-architecture.md
15
+ - 02-trust-model.md
16
+ - 03-theme-engine.md
17
+ - 04-fleet.md
18
+ - 05-self-healing.md
19
+
20
+ - group: "Tutorials"
21
+ prefix: "02-tutorials"
22
+ files:
23
+ - 01-first-install.md
24
+ - 02-add-wallpaper.md
25
+ - 03-create-profile.md
26
+ - 04-encrypt-secret.md
27
+ - 05-deploy-fleet.md
28
+
29
+ - group: "Reference"
30
+ prefix: "03-reference"
31
+ files:
32
+ - 01-dot-cli.md
33
+ - 02-config-files.md
34
+ - 03-environment.md
35
+ - 04-templates.md
36
+ - 05-feature-flags.md
37
+
38
+ - group: "Cookbook"
39
+ prefix: "04-cookbook"
40
+ files:
41
+ - 01-recipes.md
42
+ - 02-troubleshooting.md
43
+ - 03-faq.md
44
+
45
+ - group: "Appendices"
46
+ prefix: "05-appendices"
47
+ files:
48
+ - A-platform-matrix.md
49
+ - B-security-checklist.md
50
+ - C-glossary.md
51
+ - D-bibliography.md
52
+ - E-license.md
53
+
54
+ - file: concept-index.md
55
+ title: "Concept Index"
56
+
57
+ - file: command-index.md
58
+ title: "Command Index"
@@ -0,0 +1,62 @@
1
+ ---
2
+ render_with_liquid: false
3
+ ---
4
+
5
+ # Command Index
6
+
7
+ Alphabetical list of `dot` subcommands referenced in the manual.
8
+
9
+ - `dot agent`
10
+ - `dot ai`
11
+ - `dot apply --dry-run`
12
+ - `dot apply`
13
+ - `dot attest`
14
+ - `dot benchmark --detailed`
15
+ - `dot benchmark`
16
+ - `dot bundle`
17
+ - `dot cache-refresh`
18
+ - `dot cd`
19
+ - `dot chaos`
20
+ - `dot clean-cache`
21
+ - `dot commit`
22
+ - `dot diff`
23
+ - `dot doctor --json`
24
+ - `dot doctor`
25
+ - `dot drift`
26
+ - `dot edit`
27
+ - `dot env`
28
+ - `dot fleet attest`
29
+ - `dot fleet diff`
30
+ - `dot fleet sync`
31
+ - `dot fleet`
32
+ - `dot heal`
33
+ - `dot help`
34
+ - `dot learn`
35
+ - `dot lint`
36
+ - `dot load-bench`
37
+ - `dot manual text`
38
+ - `dot manual`
39
+ - `dot mcp --strict`
40
+ - `dot mcp`
41
+ - `dot metrics`
42
+ - `dot mode`
43
+ - `dot packages`
44
+ - `dot perf`
45
+ - `dot prewarm`
46
+ - `dot profile`
47
+ - `dot rollback`
48
+ - `dot score`
49
+ - `dot secrets rotate`
50
+ - `dot secrets`
51
+ - `dot status`
52
+ - `dot sync`
53
+ - `dot theme list`
54
+ - `dot theme rebuild`
55
+ - `dot theme toggle`
56
+ - `dot theme`
57
+ - `dot tune`
58
+ - `dot update`
59
+ - `dot upgrade`
60
+ - `dot verify --security`
61
+ - `dot verify`
62
+ - `dot version`
@@ -0,0 +1,168 @@
1
+ ---
2
+ render_with_liquid: false
3
+ ---
4
+
5
+ # Concept Index
6
+
7
+ Alphabetical list of concepts covered in the manual.
8
+
9
+ - Accessibility
10
+ - Adding a New Flag
11
+ - Agent Policy Enforcement
12
+ - AI & Agents
13
+ - Algorithms
14
+ - Apply / Sync
15
+ - Attestation
16
+ - Author
17
+ - Auto-Populated
18
+ - Bibliography
19
+ - Build Artifacts
20
+ - Built-in Chezmoi Functions
21
+ - Built-in Chezmoi Variables
22
+ - Cache Files
23
+ - Caching
24
+ - Changing Presets on an Existing Host
25
+ - Checking Active Flags
26
+ - CI
27
+ - CI-Level Gates
28
+ - CI-Specific
29
+ - Color Science
30
+ - Configuration
31
+ - Contributions
32
+ - Cross-Host Trust
33
+ - Cryptography
34
+ - Daily Use
35
+ - Data Flow
36
+ - Design Principles
37
+ - Development
38
+ - Diagnostics
39
+ - Documentation Systems
40
+ - Drift Detection
41
+ - Dynamic HEIC (Apple Appearance Metadata)
42
+ - Environment Variables
43
+ - Example: Font Size by Preset
44
+ - Example: Platform × Preset
45
+ - Example: Using Theme in Ghostty Config
46
+ - Exit Codes
47
+ - Feature Matrix
48
+ - Flag Catalogue
49
+ - Flag Deprecation
50
+ - Fleet
51
+ - Fleet Attestation
52
+ - Fleet Deployment Workflow
53
+ - Fleet Operational Commands
54
+ - Fleet Trust Propagation
55
+ - From `.chezmoidata.toml`
56
+ - From `.chezmoidata/hardware.toml`
57
+ - From `.chezmoidata/themes.toml`
58
+ - From Feature Flags
59
+ - Gates Enforced by CI
60
+ - General
61
+ - Getting More Help
62
+ - Global Flags
63
+ - Global Flags (`.chezmoidata.toml`)
64
+ - Hardware Presets
65
+ - Helper Templates (in `.chezmoitemplates/`)
66
+ - Identity and Signing
67
+ - Incident Response
68
+ - Inspect & Repair
69
+ - Installation
70
+ - Installation & Update
71
+ - Invocation
72
+ - Limitations
73
+ - Listing Known Presets
74
+ - Log Files
75
+ - Machine-Scoped Secrets
76
+ - Manual
77
+ - MIT License
78
+ - Next
79
+ - Observability
80
+ - Ongoing (monthly)
81
+ - Ongoing (quarterly)
82
+ - Operational Rules
83
+ - Option A: Drop a Static Image
84
+ - Option B: Dynamic HEIC (Recommended)
85
+ - Option C: Golden Ratio Brightness (Advanced)
86
+ - Option D: Install System Wallpapers (Already-Available)
87
+ - Optional Binaries (installed by Mise on first apply)
88
+ - Per-Machine Profiles
89
+ - Per-Preset Overrides (`.chezmoidata/hardware.toml`)
90
+ - Performance
91
+ - Philosophy
92
+ - Post-Install
93
+ - Pre-Install
94
+ - Prerequisites
95
+ - Principles
96
+ - Protocols
97
+ - Read by Tools
98
+ - Recovery
99
+ - Reference
100
+ - Required Binaries
101
+ - Scenario
102
+ - Secret-Related
103
+ - Secrets
104
+ - See Also
105
+ - Shell Performance
106
+ - Single Source, Many Hosts
107
+ - Source Repository
108
+ - Start Here
109
+ - Startup Order
110
+ - Startup Performance Model
111
+ - Step 1: Choose or Create a Preset
112
+ - Step 1: Generate an Age Key (First Time Only)
113
+ - Step 1: Per-Host Install
114
+ - Step 1: Run the Installer
115
+ - Step 2: Choose Encryption Method
116
+ - Step 2: Exchange Signing Keys
117
+ - Step 2: Select the Preset for This Host
118
+ - Step 2: Verify
119
+ - Step 3: Reference the Preset in Templates
120
+ - Step 3: Share the Age Key (for Shared Secrets)
121
+ - Step 3: Take the Tour
122
+ - Step 3A: Chezmoi-Encrypted File
123
+ - Step 3B: SOPS-Encrypted YAML
124
+ - Step 4: Add a New Preset
125
+ - Step 4: Customize
126
+ - Step 4: Reference the Secret in a Template
127
+ - Step 4: Verify Fleet Alignment
128
+ - Step 5: Add Your Identity
129
+ - Step 5: Commit and Verify
130
+ - Step 5: Per-Host Customization
131
+ - Step 5: Per-Preset Feature Flags
132
+ - Step 6: First Theme Switch
133
+ - Step 6: Fleet-Wide Updates
134
+ - Step 6: Multi-Recipient (Fleet)
135
+ - Step 7: Rotate a Compromised Key
136
+ - Step 7: Secrets Rotation
137
+ - Step 8: Decommission a Host
138
+ - Summary
139
+ - Supported Architectures
140
+ - Supported Platforms
141
+ - Supported Shells
142
+ - Template Testing
143
+ - Tested CI Environments
144
+ - The Four Subsystems
145
+ - The Pipeline
146
+ - The Self-Healing Loop
147
+ - The Threat Model
148
+ - The Why
149
+ - Theme
150
+ - Theme Application
151
+ - Themes
152
+ - Third-Party Licenses
153
+ - Threat Model Summary
154
+ - Tools & Systems
155
+ - Troubleshooting
156
+ - Troubleshooting Community
157
+ - Trust Boundaries
158
+ - Unsetting
159
+ - User-Owned Configuration
160
+ - User-Settable
161
+ - Using a Flag in a Template
162
+ - Validation in CI
163
+ - Verified Files
164
+ - Verifying No Plaintext Leaks
165
+ - Verifying the Result
166
+ - Wallpaper Discovery
167
+ - What Got Installed
168
+ - When to Use a Profile
@@ -0,0 +1,44 @@
1
+ ---
2
+ render_with_liquid: false
3
+ ---
4
+
5
+ # Workstation Attestation
6
+
7
+ `dot attest` exports a machine-readable record of the current workstation state.
8
+
9
+ It captures:
10
+
11
+ - dotfiles version
12
+ - platform and architecture
13
+ - Git signing settings
14
+ - active agent profile
15
+ - MCP strict-mode audit status
16
+ - tracked agent card, profile, and registry data
17
+ - policy bundles
18
+ - model and prompt registries
19
+
20
+ Run:
21
+
22
+ ```bash
23
+ dot attest
24
+ dot attest --json
25
+ dot attest -j
26
+ dot attest --write ~/.local/state/dotfiles/attestations/workstation.json
27
+ dot attest -w ~/.local/state/dotfiles/attestations/workstation.json
28
+ dot attest --fleet-store /srv/dotfiles-fleet
29
+ dot attest -F /srv/dotfiles-fleet -I engineering
30
+ ```
31
+
32
+ The default output path is `~/.local/state/dotfiles/attestations/workstation-attestation.json`.
33
+
34
+ Fleet export writes:
35
+
36
+ - `<fleet-store>/<fleet-id>/<hostname>/workstation-attestation.json`
37
+ - timestamped copies for retention
38
+
39
+ Governance evidence is embedded directly in the JSON output. That includes:
40
+
41
+ - policy bundle definitions
42
+ - model registry metadata
43
+ - prompt registry metadata
44
+ - tracked MCP policy and registry artifacts
@@ -0,0 +1,107 @@
1
+ ---
2
+ render_with_liquid: false
3
+ ---
4
+
5
+ # CI Cadence
6
+
7
+ This page tabulates every GitHub Actions workflow in `.github/workflows/`
8
+ with its trigger cadence and the rationale for that cadence. Maintained
9
+ under [issue #861](https://github.com/sebastienrousseau/dotfiles/issues/861).
10
+
11
+ ## Cadence rules
12
+
13
+ We use four cadence buckets:
14
+
15
+ | Bucket | When | Used for |
16
+ |---|---|---|
17
+ | **Event** | `push`, `pull_request`, `merge_group` | Code-change gates — must run on every PR. |
18
+ | **Weekly** | `schedule:` Monday or Sunday | Drift detection, beta-tool watch, extended platform matrices. |
19
+ | **Monthly** | (none currently) | Long-running audits, historical scans. |
20
+ | **Manual** | `workflow_dispatch` only | Releases, ad-hoc tooling. |
21
+
22
+ **Anti-rule:** no workflow runs on `cron: '* * * *'` (daily) unless its
23
+ output is consumed daily by something downstream. Nothing today meets
24
+ that bar; see "Why no daily jobs" below.
25
+
26
+ ## Workflow cadence table
27
+
28
+ | Workflow | Triggers | Schedule (UTC) | Why this cadence |
29
+ |---|---|---|---|
30
+ | `ci.yml` | event + schedule | Mon 06:00 (weekly) | Lint / test on every PR; weekly schedule catches drift from external dependencies (apt mirrors, Homebrew bottles) even when no code lands. |
31
+ | `ci-enforced.yml` | event | — | Strict gates fire on every PR; no scheduled run (covered by ci.yml weekly). |
32
+ | `codeql.yml` | event + schedule | Mon 06:00 (weekly) | Source-code SAST. Weekly schedule catches new CodeQL rule packs. |
33
+ | `compliance-guard.yml` | event | — | Policy enforcement on every PR; no need to schedule. |
34
+ | `cross-platform-test.yml` | event + schedule | Sun 07:00 (weekly) | Validates BSD vs GNU tool divergence on every PR; weekly catches GitHub-hosted-runner image updates. |
35
+ | `devcontainer-prebuild.yml` | event + schedule | Mon 03:00 (weekly) | Pre-build the devcontainer image weekly so first `Open in Codespaces` is fast. |
36
+ | `manual-publish.yml` | manual only | — | Release-trigger flow; never scheduled. |
37
+ | `nightly.yml` | schedule + manual | **Sun 02:00 (weekly)** | Was daily; flipped to weekly under [#861](https://github.com/sebastienrousseau/dotfiles/issues/861). Jobs (beta-tool detection, extended OS matrix on macos-15-intel/macos-14, dependency-report) don't need daily cadence. |
38
+ | `npm-publish.yml` | release tag | — | Trigger: `push` of a version tag. |
39
+ | `policy-bundle-release.yml` | manual + release | — | Manual / release-trigger only. |
40
+ | `pr-signature.yml` | pull_request | — | Verifies PR description has the branding signature. |
41
+ | `reliability-gate.yml` | event | — | Reliability audit on every PR; no scheduled cadence. |
42
+ | `reusable-*.yml` (×7) | callable | — | Called by other workflows; not directly triggered. |
43
+ | `sbom-diff.yml` | pull_request | — | Generates SBOM diff per PR. |
44
+ | `security-enhanced.yml` | event + schedule | **Sun 02:00 (weekly)** | Was daily; reduced to weekly in earlier hardening. Per-PR runs cover the active-change case. |
45
+ | `security-release.yml` | release tag | — | SLSA provenance on release; never scheduled. |
46
+ | `sync-versions.yml` | manual | — | Version-bump tooling. |
47
+ | `update-deps.yml` | schedule | Mon 08:00 (weekly) | Dependabot is the primary path; this is a belt-and-suspenders weekly sweep. |
48
+
49
+ ## Why no daily jobs
50
+
51
+ We reviewed every workflow with maintainer Sebastien Rousseau on
52
+ 2026-05-12 and concluded:
53
+
54
+ 1. **No external signal needs daily polling.** Dependency updates flow
55
+ through Dependabot (push-driven, not poll-driven). Beta-tool
56
+ detection in `nightly.yml` checks for major Chezmoi / ShellCheck
57
+ updates — these ship every few months, not days. CVE scans run on
58
+ every PR (`sbom-diff.yml`) plus a weekly aggregate
59
+ (`security-enhanced.yml`).
60
+
61
+ 2. **No downstream consumer reads daily artifacts.** No external
62
+ dashboard, no published feed, no alert ingester depends on a daily
63
+ nightly artifact. The artifacts are inspected ad-hoc.
64
+
65
+ 3. **Daily cadence was vestigial.** `nightly.yml` had cron `0 2 * * *`
66
+ from an earlier era when the workflow ran the full test matrix; the
67
+ matrix has since moved into `ci-enforced.yml` (event-driven), but
68
+ the cron was never updated. Confirmed via `git log` of the file.
69
+
70
+ If any of these conditions changes (e.g., we add a publishing pipeline
71
+ that needs daily artifacts), the appropriate path is a new `daily-checks.yml`
72
+ workflow with explicit cadence rationale documented here — *not* flipping
73
+ an existing weekly back to daily.
74
+
75
+ ## Cost impact of the daily → weekly flip
76
+
77
+ Before (daily nightly):
78
+
79
+ - 7 runs/week × ~40 min total CI minutes per run = **~280 min/week**
80
+ - ~14,560 minutes/year (~243 hours of CI compute)
81
+
82
+ After (weekly nightly):
83
+
84
+ - 1 run/week × ~40 min = **~40 min/week**
85
+ - ~2,080 minutes/year (~35 hours)
86
+
87
+ **Net saving: ~208 hours of CI compute per year (~85% reduction)** on
88
+ the nightly workflow alone. GitHub-hosted minutes are billed per
89
+ runner-minute; saving aligns with the project's "zero-debt, no waste"
90
+ mandate.
91
+
92
+ ## Reviewing this page
93
+
94
+ When adding a new workflow:
95
+
96
+ 1. Pick a bucket from the rules at the top of this page.
97
+ 2. Add the row to the table — include the **why**, not just the cron
98
+ expression. Future maintainers should be able to decide whether a
99
+ cadence is still load-bearing.
100
+ 3. If proposing a daily cadence, justify why a weekly version doesn't
101
+ meet the need in the workflow's PR description.
102
+
103
+ ## References
104
+
105
+ - [`nightly.yml`](../../.github/workflows/nightly.yml) — the workflow whose cadence flip triggered this page.
106
+ - [`security-enhanced.yml`](../../.github/workflows/security-enhanced.yml) — earlier daily→weekly reduction.
107
+ - Issue [#861](https://github.com/sebastienrousseau/dotfiles/issues/861).