@sebastienrousseau/dotfiles 0.2.519 → 0.2.521

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 (306) hide show
  1. package/CHANGELOG.md +200 -0
  2. package/LICENSE-APACHE +190 -0
  3. package/{LICENSE → LICENSE-MIT} +1 -1
  4. package/README.md +1172 -166
  5. package/install.sh +77 -11
  6. package/package.json +8 -8
  7. package/tools/README.md +49 -0
  8. package/tools/ci/install-chezmoi-verified.sh +68 -0
  9. package/docs/.vitepress/reports/localization-readability-audit.md +0 -73
  10. package/docs/AI.md +0 -179
  11. package/docs/CNAME +0 -1
  12. package/docs/CONFIG_STRATEGY.md +0 -124
  13. package/docs/COPYRIGHT +0 -7
  14. package/docs/GOVERNANCE.md +0 -98
  15. package/docs/MAINTAINERS.md +0 -41
  16. package/docs/NAMING_CONVENTIONS.md +0 -102
  17. package/docs/OPENCODE.md +0 -127
  18. package/docs/README.md +0 -84
  19. package/docs/STRUCTURE.md +0 -102
  20. package/docs/adr/ADR-001-ci-cd-pipeline.md +0 -118
  21. package/docs/adr/ADR-002-shell-performance.md +0 -130
  22. package/docs/adr/ADR-003-security-first.md +0 -158
  23. package/docs/adr/ADR-004-cli-architecture.md +0 -171
  24. package/docs/adr/ADR-005-chezmoi-choice.md +0 -99
  25. package/docs/adr/ADR-006-shell-selection.md +0 -124
  26. package/docs/adr/ADR-007-multi-shell-parity.md +0 -62
  27. package/docs/adr/ADR-008-alias-system-architecture.md +0 -95
  28. package/docs/adr/ADR-009-wallpaper-driven-theming.md +0 -131
  29. package/docs/adr/ADR-010-starship-transient-prompt.md +0 -144
  30. package/docs/adr/ADR-011-nushell-tier3-keep.md +0 -144
  31. package/docs/adr/ADR-012-ai-fleet-local-proxy.md +0 -79
  32. package/docs/adr/README.md +0 -40
  33. package/docs/architecture/AI_COST_OPTIMIZATION.md +0 -144
  34. package/docs/architecture/ARCHITECTURE.md +0 -117
  35. package/docs/architecture/INTEROP.md +0 -44
  36. package/docs/architecture/REPO_LAYOUT.md +0 -241
  37. package/docs/architecture/WALKTHROUGH.md +0 -86
  38. package/docs/architecture/fleet-deployment.md +0 -77
  39. package/docs/archive/EUXIS_2026_REVIEW.md +0 -127
  40. package/docs/archive/LEGACY_ROADMAP.md +0 -6
  41. package/docs/archive/MILESTONE_v0.2.493.md +0 -47
  42. package/docs/archive/PLAN.md +0 -199
  43. package/docs/archive/REPO_AUDIT.md +0 -31
  44. package/docs/articles/.pages +0 -6
  45. package/docs/articles/2026-07-05-custom-mkdocs-material-dark-theme.md +0 -216
  46. package/docs/articles/2026-07-05-fish-startup-abbr.md +0 -153
  47. package/docs/articles/2026-07-05-master-to-main-rename-runbook.md +0 -128
  48. package/docs/articles/index.md +0 -36
  49. package/docs/guides/INSTALL.md +0 -144
  50. package/docs/guides/NEOVIM_IDE_GUIDE.md +0 -61
  51. package/docs/guides/THEMING.md +0 -230
  52. package/docs/guides/TROUBLESHOOTING.md +0 -176
  53. package/docs/guides/WSL2_NIX_TROUBLESHOOTING.md +0 -792
  54. package/docs/index.md +0 -132
  55. package/docs/interop/A2A.md +0 -39
  56. package/docs/interop/POWERSHELL.md +0 -102
  57. package/docs/manual/00-introduction.md +0 -89
  58. package/docs/manual/01-concepts/01-architecture.md +0 -138
  59. package/docs/manual/01-concepts/02-trust-model.md +0 -183
  60. package/docs/manual/01-concepts/03-theme-engine.md +0 -186
  61. package/docs/manual/01-concepts/04-fleet.md +0 -148
  62. package/docs/manual/01-concepts/05-self-healing.md +0 -204
  63. package/docs/manual/02-tutorials/01-first-install.md +0 -197
  64. package/docs/manual/02-tutorials/02-add-wallpaper.md +0 -216
  65. package/docs/manual/02-tutorials/03-create-profile.md +0 -244
  66. package/docs/manual/02-tutorials/04-encrypt-secret.md +0 -281
  67. package/docs/manual/02-tutorials/05-deploy-fleet.md +0 -283
  68. package/docs/manual/03-reference/01-dot-cli.md +0 -450
  69. package/docs/manual/03-reference/02-config-files.md +0 -265
  70. package/docs/manual/03-reference/03-environment.md +0 -124
  71. package/docs/manual/03-reference/04-templates.md +0 -190
  72. package/docs/manual/03-reference/05-feature-flags.md +0 -187
  73. package/docs/manual/04-cookbook/01-recipes.md +0 -285
  74. package/docs/manual/04-cookbook/02-troubleshooting.md +0 -351
  75. package/docs/manual/04-cookbook/03-faq.md +0 -175
  76. package/docs/manual/05-appendices/A-platform-matrix.md +0 -101
  77. package/docs/manual/05-appendices/B-security-checklist.md +0 -85
  78. package/docs/manual/05-appendices/C-glossary.md +0 -40
  79. package/docs/manual/05-appendices/D-bibliography.md +0 -58
  80. package/docs/manual/05-appendices/E-license.md +0 -38
  81. package/docs/manual/_toc.yml +0 -58
  82. package/docs/manual/command-index.md +0 -155
  83. package/docs/manual/concept-index.md +0 -168
  84. package/docs/manual/index.md +0 -66
  85. package/docs/operations/ARCHITECTURE_ROADMAP.md +0 -7
  86. package/docs/operations/ATTESTATION.md +0 -44
  87. package/docs/operations/CI_CADENCE.md +0 -107
  88. package/docs/operations/CI_COMPOSITES.md +0 -156
  89. package/docs/operations/COMPLETIONS.md +0 -123
  90. package/docs/operations/COVERAGE.md +0 -204
  91. package/docs/operations/DRIFT.md +0 -107
  92. package/docs/operations/HARD_AUDIT_2026.md +0 -631
  93. package/docs/operations/MAINTENANCE.md +0 -63
  94. package/docs/operations/MANIFEST.md +0 -127
  95. package/docs/operations/MIGRATION.md +0 -109
  96. package/docs/operations/OPERATIONS.md +0 -188
  97. package/docs/operations/PERFORMANCE.md +0 -133
  98. package/docs/operations/REGISTRY.md +0 -90
  99. package/docs/operations/RELEASE_PIPELINE.md +0 -128
  100. package/docs/operations/RELIABILITY.md +0 -122
  101. package/docs/operations/RFC_v0_2_503_reorganization.md +0 -280
  102. package/docs/operations/ROADMAP.md +0 -10
  103. package/docs/operations/ROADMAP_2026.md +0 -7
  104. package/docs/operations/ROADMAP_V0_2_503.md +0 -10
  105. package/docs/operations/TESTING.md +0 -216
  106. package/docs/operations/TRACEABILITY.md +0 -43
  107. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +0 -65
  108. package/docs/operations/VERSION_SYNC.md +0 -393
  109. package/docs/reference/ALIASES.md +0 -131
  110. package/docs/reference/ALIASES_CHEATSHEET.md +0 -32
  111. package/docs/reference/ALIASES_DEPRECATIONS.md +0 -13
  112. package/docs/reference/FEATURES.md +0 -66
  113. package/docs/reference/FONTS.md +0 -112
  114. package/docs/reference/POWERSHELL_PARITY.md +0 -82
  115. package/docs/reference/PROFILES.md +0 -69
  116. package/docs/reference/SCREENSHOTS.md +0 -121
  117. package/docs/reference/SCRIPTS.md +0 -71
  118. package/docs/reference/SUPPORT_MATRIX.md +0 -80
  119. package/docs/reference/THEMES.md +0 -117
  120. package/docs/reference/TOOLS.md +0 -110
  121. package/docs/reference/UTILS.md +0 -242
  122. package/docs/registry.json +0 -6
  123. package/docs/schema/dot-env-v1.json +0 -110
  124. package/docs/schema/dot-registry-v1.json +0 -33
  125. package/docs/security/AI_ACT_COMPLIANCE.md +0 -94
  126. package/docs/security/AUDIT_BYPASS.md +0 -103
  127. package/docs/security/AUTOMATION_SECRETS.md +0 -26
  128. package/docs/security/CI_EGRESS_ALLOWLIST.md +0 -127
  129. package/docs/security/CI_PINNING.md +0 -129
  130. package/docs/security/COMMIT_SIGNING.md +0 -138
  131. package/docs/security/COMPLIANCE.md +0 -458
  132. package/docs/security/DEPS_DEV_EXCEPTIONS.md +0 -86
  133. package/docs/security/DISCLOSURE.md +0 -130
  134. package/docs/security/ENCRYPTION.md +0 -57
  135. package/docs/security/FMEA.md +0 -159
  136. package/docs/security/FUZZING.md +0 -114
  137. package/docs/security/HISTORY_FILTERING.md +0 -132
  138. package/docs/security/INCIDENT_RESPONSE.md +0 -579
  139. package/docs/security/INSTALL_VERIFICATION.md +0 -122
  140. package/docs/security/KEYS.md +0 -49
  141. package/docs/security/KEY_ROTATION.md +0 -303
  142. package/docs/security/MCP_POLICY.md +0 -78
  143. package/docs/security/POLICY_RELEASES.md +0 -37
  144. package/docs/security/README.md +0 -28
  145. package/docs/security/SCORECARD.md +0 -195
  146. package/docs/security/SECRETS.md +0 -158
  147. package/docs/security/SECURITY.md +0 -45
  148. package/docs/security/SECURITY_CHECKLIST.md +0 -55
  149. package/docs/security/SHELL_EXEMPTIONS.md +0 -145
  150. package/docs/security/SOUP_REGISTER.md +0 -36
  151. package/docs/security/THREAT_MODEL.md +0 -130
  152. package/docs/security/VERIFICATION_VALIDATION.md +0 -228
  153. package/docs/security/VERIFY_RELEASE.md +0 -201
  154. package/docs/security/security-pubkey.asc +0 -15
  155. package/docs/stylesheets/extra.css +0 -444
  156. package/docs/themes/README.md +0 -10
  157. package/docs/themes/VISUAL_INTEGRITY_REPORT.md +0 -30
  158. package/docs/themes/hero-shot.svg +0 -78
  159. package/scripts/README.md +0 -123
  160. package/scripts/ci/check-copyright-headers.sh +0 -8
  161. package/scripts/ci/check-shell-preamble.sh +0 -8
  162. package/scripts/ci/guard-gitleaks-checkout.sh +0 -8
  163. package/scripts/demo/record.sh +0 -43
  164. package/scripts/diagnostics/a2a-conformance.sh +0 -163
  165. package/scripts/diagnostics/alias-governance.sh +0 -138
  166. package/scripts/diagnostics/aliases-cheatsheet.sh +0 -74
  167. package/scripts/diagnostics/aliases-manifest.sh +0 -77
  168. package/scripts/diagnostics/benchmark.sh +0 -408
  169. package/scripts/diagnostics/conflicts.sh +0 -73
  170. package/scripts/diagnostics/doctor-unified.sh +0 -39
  171. package/scripts/diagnostics/doctor.sh +0 -751
  172. package/scripts/diagnostics/drift-dashboard.sh +0 -202
  173. package/scripts/diagnostics/health.sh +0 -623
  174. package/scripts/diagnostics/history-analysis.sh +0 -86
  175. package/scripts/diagnostics/mcp-doctor.sh +0 -582
  176. package/scripts/diagnostics/perf.sh +0 -453
  177. package/scripts/diagnostics/scorecard.sh +0 -119
  178. package/scripts/diagnostics/secret-governance.sh +0 -65
  179. package/scripts/diagnostics/security-score.sh +0 -467
  180. package/scripts/diagnostics/smoke-test.sh +0 -88
  181. package/scripts/diagnostics/snapshot.sh +0 -90
  182. package/scripts/diagnostics/verify.sh +0 -108
  183. package/scripts/diagnostics/verify_state.sh +0 -73
  184. package/scripts/diagnostics/version-locks.sh +0 -94
  185. package/scripts/diagnostics/workstation-attestation.sh +0 -187
  186. package/scripts/dot/commands/agent.sh +0 -485
  187. package/scripts/dot/commands/agents.sh +0 -336
  188. package/scripts/dot/commands/ai.sh +0 -587
  189. package/scripts/dot/commands/aliases.sh +0 -277
  190. package/scripts/dot/commands/appearance.sh +0 -110
  191. package/scripts/dot/commands/completion.sh +0 -134
  192. package/scripts/dot/commands/core.sh +0 -217
  193. package/scripts/dot/commands/diagnostics.sh +0 -265
  194. package/scripts/dot/commands/env-emit.sh +0 -203
  195. package/scripts/dot/commands/fleet.sh +0 -688
  196. package/scripts/dot/commands/init.sh +0 -185
  197. package/scripts/dot/commands/lint.sh +0 -208
  198. package/scripts/dot/commands/manual.sh +0 -169
  199. package/scripts/dot/commands/meta.sh +0 -333
  200. package/scripts/dot/commands/patterns.sh +0 -55
  201. package/scripts/dot/commands/registry.sh +0 -419
  202. package/scripts/dot/commands/restore.sh +0 -232
  203. package/scripts/dot/commands/secrets.sh +0 -296
  204. package/scripts/dot/commands/security.sh +0 -102
  205. package/scripts/dot/commands/tools.sh +0 -556
  206. package/scripts/dot/data/alias-deprecations.tsv +0 -2
  207. package/scripts/dot/powershell/Dot.psm1 +0 -319
  208. package/scripts/fonts/install-nerd-fonts.sh +0 -75
  209. package/scripts/fonts/patch-fonts.sh +0 -36
  210. package/scripts/git-hooks/install.sh +0 -12
  211. package/scripts/git-hooks/pre-commit +0 -12
  212. package/scripts/git-hooks/pre-commit-audit.sh +0 -146
  213. package/scripts/git-hooks/pre-push +0 -105
  214. package/scripts/git-hooks/prepare-commit-msg +0 -29
  215. package/scripts/lib/secrets_provider.sh +0 -185
  216. package/scripts/ops/ai-setup.sh +0 -71
  217. package/scripts/ops/bundle.sh +0 -104
  218. package/scripts/ops/chaos.sh +0 -50
  219. package/scripts/ops/chezmoi-apply.sh +0 -333
  220. package/scripts/ops/chezmoi-diff.sh +0 -16
  221. package/scripts/ops/chezmoi-remove.sh +0 -46
  222. package/scripts/ops/chezmoi-update.sh +0 -63
  223. package/scripts/ops/heal-chezmoi.sh +0 -87
  224. package/scripts/ops/heal-system.sh +0 -129
  225. package/scripts/ops/heal-tools.sh +0 -297
  226. package/scripts/ops/heal.sh +0 -223
  227. package/scripts/ops/post-apply-repair.sh +0 -107
  228. package/scripts/ops/prewarm.sh +0 -128
  229. package/scripts/ops/release.sh +0 -262
  230. package/scripts/ops/rollback.sh +0 -604
  231. package/scripts/ops/setup.sh +0 -138
  232. package/scripts/ops/teleport.sh +0 -34
  233. package/scripts/qa/check-version-consistency.sh +0 -124
  234. package/scripts/qa/coverage-baseline.sh +0 -61
  235. package/scripts/qa/docs-coverage.sh +0 -112
  236. package/scripts/qa/examples-coverage.sh +0 -94
  237. package/scripts/qa/powershell-contract.ps1 +0 -95
  238. package/scripts/qa/reliability-audit.sh +0 -139
  239. package/scripts/qa/scorecard-snapshot.sh +0 -128
  240. package/scripts/qa/traceability-coverage.sh +0 -117
  241. package/scripts/qa/validate-examples.sh +0 -27
  242. package/scripts/qa/wsl-contract.sh +0 -12
  243. package/scripts/secrets/age-init.sh +0 -82
  244. package/scripts/secrets/create-secrets-file.sh +0 -46
  245. package/scripts/secrets/encrypt-ssh-key.sh +0 -44
  246. package/scripts/security/backup.sh +0 -58
  247. package/scripts/security/check-disclosure-key-expiry.sh +0 -111
  248. package/scripts/security/dns-doh.sh +0 -52
  249. package/scripts/security/encryption-check.sh +0 -55
  250. package/scripts/security/enforce-policies.sh +0 -335
  251. package/scripts/security/firewall.sh +0 -91
  252. package/scripts/security/lock-configs.sh +0 -67
  253. package/scripts/security/lock-screen.sh +0 -56
  254. package/scripts/security/manage-secrets.sh +0 -429
  255. package/scripts/security/ssh-cert.sh +0 -204
  256. package/scripts/security/telemetry-kill.sh +0 -51
  257. package/scripts/security/usb-safety.sh +0 -52
  258. package/scripts/theme/apply-gnome-theme.sh +0 -333
  259. package/scripts/theme/extract-heic-frames.sh +0 -115
  260. package/scripts/theme/extract-theme.py +0 -742
  261. package/scripts/theme/install-boot-logo.sh +0 -63
  262. package/scripts/theme/install-catppuccin-themes.sh +0 -371
  263. package/scripts/theme/install-cursors.sh +0 -26
  264. package/scripts/theme/install-file-icons.sh +0 -27
  265. package/scripts/theme/install-grub-theme.sh +0 -62
  266. package/scripts/theme/install-lock-icon.sh +0 -31
  267. package/scripts/theme/merge-wallpaper.sh +0 -146
  268. package/scripts/theme/rebuild-themes.sh +0 -544
  269. package/scripts/theme/switch.sh +0 -449
  270. package/scripts/theme/wallpaper-rotate.sh +0 -137
  271. package/scripts/theme/wallpaper-sync.sh +0 -690
  272. package/scripts/tools/cmatrix.sh +0 -22
  273. package/scripts/tools/detect-collisions.py +0 -103
  274. package/scripts/tools/emoji-picker.sh +0 -49
  275. package/scripts/tools/figlet-banner.sh +0 -19
  276. package/scripts/tools/log-rotate.sh +0 -31
  277. package/scripts/tools/lolcat-wrap.sh +0 -20
  278. package/scripts/tools/pipes.sh +0 -49
  279. package/scripts/tuning/linux.sh +0 -186
  280. package/scripts/tuning/macos.sh +0 -56
  281. package/scripts/uninstall.sh +0 -86
  282. package/scripts/version-sync.sh +0 -654
  283. package/templates/chezmoi-data/geekom-a9.toml.example +0 -21
  284. package/templates/chezmoi-data/mac-m1.toml.example +0 -16
  285. package/templates/chezmoi-data/mac-t2-linux.toml.example +0 -21
  286. package/templates/chezmoi-data/surface-pro-7p.toml.example +0 -21
  287. package/templates/projects/go/.github/workflows/ci.yml +0 -31
  288. package/templates/projects/go/README.md +0 -7
  289. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +0 -8
  290. package/templates/projects/go/go.mod +0 -3
  291. package/templates/projects/go/go.sum +0 -0
  292. package/templates/projects/molecule/README.md +0 -7
  293. package/templates/projects/molecule/converge.yml +0 -7
  294. package/templates/projects/molecule/molecule.yml +0 -16
  295. package/templates/projects/node/.github/workflows/ci.yml +0 -30
  296. package/templates/projects/node/README.md +0 -7
  297. package/templates/projects/node/package-lock.json +0 -12
  298. package/templates/projects/node/package.json +0 -10
  299. package/templates/projects/node/src/index.js +0 -3
  300. package/templates/projects/packer/README.md +0 -15
  301. package/templates/projects/packer/main.pkr.hcl +0 -15
  302. package/templates/projects/python/.github/workflows/ci.yml +0 -34
  303. package/templates/projects/python/README.md +0 -7
  304. package/templates/projects/python/pyproject.toml +0 -25
  305. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +0 -2
  306. package/templates/projects/python/tests/test_basic.py +0 -3
@@ -1,285 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- # Cookbook: Recipes
6
-
7
- Thirty short recipes for common tasks.
8
-
9
- ## Installation & Update
10
-
11
- ### 1. Install on a fresh machine
12
-
13
- ```sh
14
- bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/main/install.sh)"
15
- ```
16
-
17
- ### 2. Update everything
18
-
19
- ```sh
20
- dot upgrade
21
- ```
22
-
23
- ### 3. Update dotfiles only (no tools)
24
-
25
- ```sh
26
- dot update
27
- ```
28
-
29
- ### 4. Preview what would change
30
-
31
- ```sh
32
- dot apply --dry-run
33
- ```
34
-
35
- ## Themes
36
-
37
- ### 5. Switch to a specific theme
38
-
39
- ```sh
40
- dot theme tahoe-dark
41
- ```
42
-
43
- ### 6. Toggle between dark and light
44
-
45
- ```sh
46
- dot theme toggle
47
- ```
48
-
49
- ### 7. Open the interactive theme picker
50
-
51
- ```sh
52
- dot theme
53
- ```
54
-
55
- ### 8. List paired wallpaper themes
56
-
57
- ```sh
58
- dot theme list
59
- ```
60
-
61
- ### 9. Add a new wallpaper-driven theme
62
-
63
- ```sh
64
- cp my-wallpaper.jpg ~/Pictures/Wallpapers/myname-dark.jpg
65
- cp my-wallpaper-light.jpg ~/Pictures/Wallpapers/myname-light.jpg
66
- bash scripts/theme/merge-wallpaper.sh myname
67
- dot theme rebuild
68
- dot theme myname-dark
69
- ```
70
-
71
- ### 10. Regenerate all themes from scratch
72
-
73
- ```sh
74
- dot theme rebuild --force
75
- ```
76
-
77
- ## Configuration
78
-
79
- ### 11. Edit the source directory
80
-
81
- ```sh
82
- dot edit
83
- ```
84
-
85
- ### 12. Add a new config file to chezmoi
86
-
87
- ```sh
88
- dot add ~/.some-config-file
89
- ```
90
-
91
- ### 13. Remove a managed file
92
-
93
- ```sh
94
- dot remove ~/.some-config-file
95
- ```
96
-
97
- ### 14. Show configuration drift
98
-
99
- ```sh
100
- dot status
101
- ```
102
-
103
- ### 15. Show diff against source
104
-
105
- ```sh
106
- dot diff
107
- ```
108
-
109
- ## Secrets
110
-
111
- ### 16. Encrypt a new secret file
112
-
113
- ```sh
114
- chezmoi add --encrypt ~/some-secret.txt
115
- ```
116
-
117
- ### 17. Edit an encrypted file
118
-
119
- ```sh
120
- sops dot_config/credentials.sops.yaml
121
- # or
122
- chezmoi edit ~/some-secret.txt.age
123
- ```
124
-
125
- ### 18. Rotate your Age key
126
-
127
- ```sh
128
- age-keygen -o ~/.config/age/keys.txt.new
129
- # Update .sops.yaml with new public key
130
- # Then:
131
- find . -name '*.sops.yaml' -exec sops updatekeys {} \;
132
- git commit -sS -am "chore(secrets): rotate age key"
133
- ```
134
-
135
- ### 19. Check for accidental secret leaks
136
-
137
- ```sh
138
- dot verify --security
139
- ```
140
-
141
- ## Diagnostics
142
-
143
- ### 20. Quick health check
144
-
145
- ```sh
146
- dot doctor
147
- ```
148
-
149
- ### 21. Auto-fix common issues
150
-
151
- ```sh
152
- dot heal
153
- ```
154
-
155
- ### 22. Check startup performance
156
-
157
- ```sh
158
- dot benchmark
159
- ```
160
-
161
- ### 23. See the health score
162
-
163
- ```sh
164
- dot score
165
- ```
166
-
167
- ### 24. Recent metrics
168
-
169
- ```sh
170
- dot metrics
171
- ```
172
-
173
- ## Fleet
174
-
175
- ### 25. Attest across all fleet hosts
176
-
177
- ```sh
178
- dot fleet attest
179
- ```
180
-
181
- ### 26. Sync dotfiles to every fleet host
182
-
183
- ```sh
184
- dot fleet sync
185
- ```
186
-
187
- ### 27. Diff config across hosts
188
-
189
- ```sh
190
- dot fleet diff
191
- ```
192
-
193
- ## AI & Agents
194
-
195
- ### 28. Show installed AI tools
196
-
197
- ```sh
198
- dot ai
199
- ```
200
-
201
- ### 29. Switch agent profile
202
-
203
- ```sh
204
- dot mode architect # or hardener, refactor
205
- ```
206
-
207
- ### 30. Verify MCP policy
208
-
209
- ```sh
210
- dot mcp --strict
211
- ```
212
-
213
- ## Recovery
214
-
215
- ### 31. Rollback the last apply
216
-
217
- ```sh
218
- dot rollback
219
- ```
220
-
221
- ### 32. Create an offline bundle
222
-
223
- ```sh
224
- dot bundle
225
- ```
226
-
227
- ### 33. Restore from a bundle
228
-
229
- ```sh
230
- dot bundle restore ~/Downloads/dotfiles-bundle-*.tar.zst
231
- ```
232
-
233
- ## Development
234
-
235
- ### 34. Run a test locally
236
-
237
- ```sh
238
- bash tests/unit/theme/test_themes_toml.sh
239
- ```
240
-
241
- ### 35. Run all tests
242
-
243
- ```sh
244
- ./tests/framework/test_runner.sh
245
- ```
246
-
247
- ### 36. Lint shell scripts
248
-
249
- ```sh
250
- dot lint
251
- ```
252
-
253
- ### 37. Simulate chaos to test self-healing
254
-
255
- ```sh
256
- dot chaos symlink # in an ephemeral container only
257
- dot heal
258
- dot doctor
259
- ```
260
-
261
- ## Manual
262
-
263
- ### 38. Open the manual in a browser
264
-
265
- ```sh
266
- dot manual
267
- ```
268
-
269
- ### 39. Download the PDF
270
-
271
- ```sh
272
- dot manual pdf
273
- ```
274
-
275
- ### 40. Read the manual in a terminal
276
-
277
- ```sh
278
- dot manual text | less
279
- ```
280
-
281
- ## See Also
282
-
283
- - [Troubleshooting](02-troubleshooting.md)
284
- - [FAQ](03-faq.md)
285
- - [CLI Reference](../03-reference/01-dot-cli.md)
@@ -1,351 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
- {% raw %}
5
-
6
- # Cookbook: Troubleshooting
7
-
8
- Symptom → cause → fix.
9
-
10
- ## Installation
11
-
12
- ### Symptom: `install.sh` fails with "chezmoi not found"
13
-
14
- **Cause**: `/usr/local/bin` or `~/.local/bin` not in PATH at install time.
15
-
16
- **Fix**:
17
-
18
- ```sh
19
- export PATH="$HOME/.local/bin:$PATH"
20
- bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/main/install.sh)"
21
- ```
22
-
23
- ### Symptom: "could not create directory ~/.local/share/chezmoi"
24
-
25
- **Cause**: Permission issue on `~/.local`.
26
-
27
- **Fix**:
28
-
29
- ```sh
30
- mkdir -p ~/.local/share ~/.local/state ~/.local/bin
31
- chmod 755 ~/.local ~/.local/share
32
- ```
33
-
34
- ### Symptom: Install hangs at "Downloading chezmoi"
35
-
36
- **Cause**: Slow network or corporate proxy.
37
-
38
- **Fix**:
39
-
40
- ```sh
41
- export https_proxy=$HTTP_PROXY # if applicable
42
- # Or pre-download chezmoi manually
43
- brew install chezmoi # macOS
44
- apt install chezmoi # Debian 13+
45
- ```
46
-
47
- ## Apply / Sync
48
-
49
- ### Symptom: `dot apply` reports "file modified, skipping"
50
-
51
- **Cause**: Chezmoi detected local drift on a managed file.
52
-
53
- **Fix**:
54
-
55
- ```sh
56
- dot diff # see what differs
57
- dot apply --force # overwrite local
58
- # OR
59
- dot add <path> # import local change to source
60
- ```
61
-
62
- ### Symptom: "template: error calling index"
63
-
64
- **Cause**: A template references a missing data field.
65
-
66
- **Fix**: Check that your `.chezmoidata.toml` has the required field. For example:
67
-
68
- ```sh
69
- chezmoi execute-template '{{- $hw := index .hardware .machine -}}{{ $hw.wm }}'
70
- ```
71
-
72
- If `machine` is not set in your `~/.config/chezmoi/chezmoi.toml`, `index` returns nil. Set:
73
-
74
- ```toml
75
- [data]
76
- machine = "macbook-t2"
77
- ```
78
-
79
- ### Symptom: Apply succeeds but shell doesn't reflect changes
80
-
81
- **Cause**: Cached init scripts are stale.
82
-
83
- **Fix**:
84
-
85
- ```sh
86
- dot clean-cache
87
- dot prewarm
88
- exec $SHELL -l
89
- ```
90
-
91
- ## Theme
92
-
93
- ### Symptom: `dot theme` shows no themes
94
-
95
- **Cause**: No wallpapers discovered, themes.toml not generated.
96
-
97
- **Fix**:
98
-
99
- ```sh
100
- dot theme rebuild --force
101
- ```
102
-
103
- ### Symptom: `dot theme <name>` errors "unknown theme"
104
-
105
- **Cause**: Theme name doesn't exist in `themes.toml`.
106
-
107
- **Fix**:
108
-
109
- ```sh
110
- dot theme list # see valid names
111
- dot theme rebuild --force # regenerate if expected but missing
112
- ```
113
-
114
- ### Symptom: macOS accent color doesn't update
115
-
116
- **Cause**: System Settings UI cached the old value.
117
-
118
- **Fix**: `dot-theme-sync` now calls `killall cfprefsd SystemUIServer Dock "System Settings"`. If it still doesn't refresh:
119
-
120
- ```sh
121
- killall -KILL Dock SystemUIServer
122
- sudo killall -KILL cfprefsd
123
- ```
124
-
125
- Or log out and back in.
126
-
127
- ### Symptom: Wallpaper not applying
128
-
129
- **Cause**: Wrong format or missing DE support on Linux.
130
-
131
- **Fix**:
132
-
133
- ```sh
134
- # Check the wallpaper file exists
135
- ls -la ~/Pictures/Wallpapers/
136
-
137
- # On Linux, verify HEIC → PNG conversion tool
138
- command -v magick || command -v heif-convert || command -v convert
139
- # Install if needed:
140
- sudo apt install imagemagick-7
141
- ```
142
-
143
- ### Symptom: Theme applies but Ghostty doesn't reload
144
-
145
- **Cause**: Ghostty DBus or SIGUSR2 signaling failed.
146
-
147
- **Fix**:
148
-
149
- ```sh
150
- # Restart Ghostty manually, or:
151
- pkill -USR2 ghostty 2>/dev/null
152
- # Or quit+relaunch the app
153
- ```
154
-
155
- ## Secrets
156
-
157
- ### Symptom: "could not decrypt: no age key"
158
-
159
- **Cause**: `~/.config/age/keys.txt` missing or unreadable.
160
-
161
- **Fix**:
162
-
163
- ```sh
164
- ls -la ~/.config/age/keys.txt
165
- # Should be: -rw------- 1 user user
166
- chmod 600 ~/.config/age/keys.txt
167
-
168
- # If missing, restore from password manager or regenerate (requires re-encrypting all secrets)
169
- ```
170
-
171
- ### Symptom: SOPS says "wrong recipient"
172
-
173
- **Cause**: Your Age public key isn't listed in the file's recipients.
174
-
175
- **Fix**:
176
-
177
- ```sh
178
- # Add your public key to .sops.yaml
179
- sops updatekeys path/to/file.sops.yaml
180
-
181
- # Or, ask a recipient to re-encrypt for you
182
- ```
183
-
184
- ### Symptom: Plaintext leak detected by gitleaks
185
-
186
- **Cause**: A secret was committed to Git history.
187
-
188
- **Fix**:
189
-
190
- ```sh
191
- # Immediate mitigation
192
- dot verify --security # confirm which file
193
- git rm --cached <file>
194
- echo "<file>" >> .gitignore
195
- git commit -sS -m "fix(security): remove leaked file"
196
-
197
- # Rotate the leaked secret upstream (it's now public)
198
- # Rewrite Git history if needed (requires force-push):
199
- git filter-repo --path <file> --invert-paths
200
- ```
201
-
202
- ## Performance
203
-
204
- ### Symptom: Shell startup >500ms
205
-
206
- **Cause**: Heavy modules loaded synchronously.
207
-
208
- **Fix**:
209
-
210
- ```sh
211
- dot benchmark --detailed
212
- # Identify which module is slow
213
-
214
- # Rebuild caches
215
- dot prewarm
216
-
217
- # Disable heavy modules temporarily
218
- # Edit ~/.config/zsh/.zshrc.local (or equivalent) to skip them
219
- ```
220
-
221
- ### Symptom: `dot doctor` score <70
222
-
223
- **Cause**: Multiple health issues.
224
-
225
- **Fix**:
226
-
227
- ```sh
228
- dot doctor --verbose # see every failure
229
- dot heal # auto-fix what's possible
230
- dot doctor # recheck
231
- ```
232
-
233
- ### Symptom: Mise tools not found
234
-
235
- **Cause**: Mise shim not activated.
236
-
237
- **Fix**:
238
-
239
- ```sh
240
- eval "$(mise activate zsh)" # or fish, bash
241
- dot doctor # confirm
242
- ```
243
-
244
- ## Build Artifacts
245
-
246
- ### Symptom: Cargo builds to `target/` instead of `/tmp/builds/cargo`
247
-
248
- **Cause**: `~/.cargo/config.toml` not managed or was overridden.
249
-
250
- **Fix**:
251
-
252
- ```sh
253
- chezmoi apply ~/.cargo/config.toml
254
- cat ~/.cargo/config.toml | grep target-dir
255
- # Should be: target-dir = "/tmp/builds/cargo"
256
- ```
257
-
258
- ### Symptom: `/tmp/builds/` doesn't exist
259
-
260
- **Cause**: Created by shell init, but shell wasn't restarted.
261
-
262
- **Fix**:
263
-
264
- ```sh
265
- mkdir -p /tmp/builds
266
- # Or restart shell
267
- exec $SHELL -l
268
- ```
269
-
270
- ## Fleet
271
-
272
- ### Symptom: `dot fleet attest` hangs
273
-
274
- **Cause**: A fleet host is unreachable.
275
-
276
- **Fix**:
277
-
278
- ```sh
279
- # Check connectivity to each host
280
- for host in macbook-t2 surface-pro geekom-a9; do
281
- ssh -o ConnectTimeout=5 $host 'echo OK' || echo "FAIL: $host"
282
- done
283
-
284
- # Remove unreachable hosts from ~/.config/dotfiles/fleet.toml temporarily
285
- ```
286
-
287
- ### Symptom: Attestation signature fails
288
-
289
- **Cause**: Remote host's SSH public key not in local `~/.ssh/allowed_signers`.
290
-
291
- **Fix**:
292
-
293
- ```sh
294
- # On the remote host:
295
- ssh remote-host 'cat ~/.ssh/id_ed25519.pub'
296
- # Copy the output and append to your ~/.ssh/allowed_signers
297
- ```
298
-
299
- ## CI
300
-
301
- ### Symptom: PR fails on "Shell Lint (Zero Warnings)"
302
-
303
- **Cause**: `shfmt` formatting differs from canonical.
304
-
305
- **Fix**:
306
-
307
- ```sh
308
- shfmt -w -i 2 -ci scripts/**/*.sh install.sh .chezmoitemplates/**/*.sh
309
- # Commit the changes
310
- ```
311
-
312
- ### Symptom: PR fails on "100% Coverage"
313
-
314
- **Cause**: New code added without tests.
315
-
316
- **Fix**:
317
-
318
- ```sh
319
- bash examples/example-coverage-gate.sh
320
- # Identifies uncovered modules
321
-
322
- # Add a test in tests/unit/<domain>/test_<module>.sh
323
- ```
324
-
325
- ### Symptom: Checkov SARIF upload times out
326
-
327
- **Cause**: Known infrastructure flake (Azure runner slow apt mirrors).
328
-
329
- **Fix**: The workflow already guards this with `hashFiles('reports/checkov.sarif')`. If you see this after the guard was added, check the Checkov step output for errors.
330
-
331
- ## Getting More Help
332
-
333
- 1. Check [FAQ](03-faq.md)
334
- 2. Read the relevant [concept chapter](../01-concepts/)
335
- 3. Open an issue: <https://github.com/sebastienrousseau/dotfiles/issues>
336
-
337
- When filing an issue, include:
338
-
339
- ```sh
340
- dot doctor --json
341
- dot version
342
- uname -a
343
- chezmoi --version
344
- ```
345
-
346
- ## See Also
347
-
348
- - [Self-Healing concept](../01-concepts/05-self-healing.md)
349
- - [FAQ](03-faq.md)
350
- - [Security: Incident Response](../../security/INCIDENT_RESPONSE.md)
351
- {% endraw %}