@sebastienrousseau/dotfiles 0.2.520 → 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 (323) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/LICENSE-APACHE +190 -0
  3. package/LICENSE-MIT +21 -0
  4. package/README.md +43 -37
  5. package/install.sh +76 -10
  6. package/package.json +7 -7
  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/ARCHITECTURE.md +0 -117
  12. package/docs/CNAME +0 -1
  13. package/docs/CONFIG_STRATEGY.md +0 -124
  14. package/docs/COPYRIGHT +0 -7
  15. package/docs/ECOSYSTEM.md +0 -220
  16. package/docs/GOLD-STANDARD-AUDIT.md +0 -352
  17. package/docs/GOVERNANCE.md +0 -98
  18. package/docs/MAINTAINERS.md +0 -41
  19. package/docs/MINIMUM-TOOLCHAIN.md +0 -100
  20. package/docs/NAMING_CONVENTIONS.md +0 -102
  21. package/docs/OPENCODE.md +0 -127
  22. package/docs/README.md +0 -84
  23. package/docs/STRUCTURE.md +0 -102
  24. package/docs/adr/ADR-001-ci-cd-pipeline.md +0 -118
  25. package/docs/adr/ADR-002-shell-performance.md +0 -130
  26. package/docs/adr/ADR-003-security-first.md +0 -158
  27. package/docs/adr/ADR-004-cli-architecture.md +0 -171
  28. package/docs/adr/ADR-005-chezmoi-choice.md +0 -99
  29. package/docs/adr/ADR-006-shell-selection.md +0 -124
  30. package/docs/adr/ADR-007-multi-shell-parity.md +0 -62
  31. package/docs/adr/ADR-008-alias-system-architecture.md +0 -95
  32. package/docs/adr/ADR-009-wallpaper-driven-theming.md +0 -131
  33. package/docs/adr/ADR-010-starship-transient-prompt.md +0 -144
  34. package/docs/adr/ADR-011-nushell-tier3-keep.md +0 -144
  35. package/docs/adr/ADR-012-ai-fleet-local-proxy.md +0 -79
  36. package/docs/adr/README.md +0 -40
  37. package/docs/architecture/AI_COST_OPTIMIZATION.md +0 -144
  38. package/docs/architecture/ARCHITECTURE.md +0 -20
  39. package/docs/architecture/INTEROP.md +0 -44
  40. package/docs/architecture/REPO_LAYOUT.md +0 -241
  41. package/docs/architecture/WALKTHROUGH.md +0 -86
  42. package/docs/architecture/fleet-deployment.md +0 -77
  43. package/docs/archive/EUXIS_2026_REVIEW.md +0 -127
  44. package/docs/archive/LEGACY_ROADMAP.md +0 -6
  45. package/docs/archive/MILESTONE_v0.2.493.md +0 -47
  46. package/docs/archive/PLAN.md +0 -199
  47. package/docs/archive/REPO_AUDIT.md +0 -31
  48. package/docs/articles/.pages +0 -6
  49. package/docs/articles/2026-07-05-custom-mkdocs-material-dark-theme.md +0 -216
  50. package/docs/articles/2026-07-05-fish-startup-abbr.md +0 -153
  51. package/docs/articles/2026-07-05-master-to-main-rename-runbook.md +0 -128
  52. package/docs/articles/index.md +0 -36
  53. package/docs/guides/INSTALL.md +0 -144
  54. package/docs/guides/MACOS_ICLOUD_SYMLINKS.md +0 -121
  55. package/docs/guides/NEOVIM_IDE_GUIDE.md +0 -61
  56. package/docs/guides/THEMING.md +0 -230
  57. package/docs/guides/TROUBLESHOOTING.md +0 -176
  58. package/docs/guides/WSL2_NIX_TROUBLESHOOTING.md +0 -792
  59. package/docs/index.md +0 -132
  60. package/docs/interop/A2A.md +0 -39
  61. package/docs/interop/POWERSHELL.md +0 -102
  62. package/docs/manual/00-introduction.md +0 -89
  63. package/docs/manual/01-concepts/01-architecture.md +0 -138
  64. package/docs/manual/01-concepts/02-trust-model.md +0 -183
  65. package/docs/manual/01-concepts/03-theme-engine.md +0 -186
  66. package/docs/manual/01-concepts/04-fleet.md +0 -148
  67. package/docs/manual/01-concepts/05-self-healing.md +0 -204
  68. package/docs/manual/02-tutorials/01-first-install.md +0 -197
  69. package/docs/manual/02-tutorials/02-add-wallpaper.md +0 -216
  70. package/docs/manual/02-tutorials/03-create-profile.md +0 -244
  71. package/docs/manual/02-tutorials/04-encrypt-secret.md +0 -281
  72. package/docs/manual/02-tutorials/05-deploy-fleet.md +0 -283
  73. package/docs/manual/03-reference/01-dot-cli.md +0 -475
  74. package/docs/manual/03-reference/02-config-files.md +0 -265
  75. package/docs/manual/03-reference/03-environment.md +0 -124
  76. package/docs/manual/03-reference/04-templates.md +0 -190
  77. package/docs/manual/03-reference/05-feature-flags.md +0 -187
  78. package/docs/manual/04-cookbook/01-recipes.md +0 -285
  79. package/docs/manual/04-cookbook/02-troubleshooting.md +0 -351
  80. package/docs/manual/04-cookbook/03-faq.md +0 -175
  81. package/docs/manual/05-appendices/A-platform-matrix.md +0 -101
  82. package/docs/manual/05-appendices/B-security-checklist.md +0 -85
  83. package/docs/manual/05-appendices/C-glossary.md +0 -40
  84. package/docs/manual/05-appendices/D-bibliography.md +0 -58
  85. package/docs/manual/05-appendices/E-license.md +0 -38
  86. package/docs/manual/_toc.yml +0 -58
  87. package/docs/manual/command-index.md +0 -175
  88. package/docs/manual/concept-index.md +0 -170
  89. package/docs/manual/index.md +0 -66
  90. package/docs/migration/README.md +0 -81
  91. package/docs/migration/from-bare-git-repo.md +0 -156
  92. package/docs/migration/from-gnu-stow.md +0 -165
  93. package/docs/migration/from-plain-chezmoi.md +0 -148
  94. package/docs/migration/from-yadm.md +0 -187
  95. package/docs/operations/ARCHITECTURE_ROADMAP.md +0 -7
  96. package/docs/operations/ATTESTATION.md +0 -44
  97. package/docs/operations/CI_CADENCE.md +0 -107
  98. package/docs/operations/CI_COMPOSITES.md +0 -156
  99. package/docs/operations/COMPLETIONS.md +0 -123
  100. package/docs/operations/COVERAGE.md +0 -204
  101. package/docs/operations/DRIFT.md +0 -107
  102. package/docs/operations/HARD_AUDIT_2026.md +0 -631
  103. package/docs/operations/MAINTENANCE.md +0 -63
  104. package/docs/operations/MANIFEST.md +0 -127
  105. package/docs/operations/MIGRATION.md +0 -109
  106. package/docs/operations/OPERATIONS.md +0 -188
  107. package/docs/operations/PERFORMANCE.md +0 -133
  108. package/docs/operations/PERFORMANCE_BUDGETS.md +0 -196
  109. package/docs/operations/REGISTRY.md +0 -90
  110. package/docs/operations/RELEASE_PIPELINE.md +0 -128
  111. package/docs/operations/RELIABILITY.md +0 -122
  112. package/docs/operations/RFC_v0_2_503_reorganization.md +0 -280
  113. package/docs/operations/ROADMAP.md +0 -10
  114. package/docs/operations/ROADMAP_2026.md +0 -7
  115. package/docs/operations/ROADMAP_V0_2_503.md +0 -10
  116. package/docs/operations/TESTING.md +0 -216
  117. package/docs/operations/TRACEABILITY.md +0 -44
  118. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +0 -65
  119. package/docs/operations/VERSION_SYNC.md +0 -393
  120. package/docs/packaging.md +0 -222
  121. package/docs/reference/ALIASES.md +0 -131
  122. package/docs/reference/ALIASES_CHEATSHEET.md +0 -32
  123. package/docs/reference/ALIASES_DEPRECATIONS.md +0 -13
  124. package/docs/reference/FEATURE-MATRIX.md +0 -646
  125. package/docs/reference/FEATURES.md +0 -66
  126. package/docs/reference/FONTS.md +0 -112
  127. package/docs/reference/POWERSHELL_PARITY.md +0 -82
  128. package/docs/reference/PROFILES.md +0 -69
  129. package/docs/reference/SCREENSHOTS.md +0 -121
  130. package/docs/reference/SCRIPTS.md +0 -71
  131. package/docs/reference/SUPPORT_MATRIX.md +0 -80
  132. package/docs/reference/THEMES.md +0 -117
  133. package/docs/reference/TOOLS.md +0 -110
  134. package/docs/reference/UTILS.md +0 -243
  135. package/docs/registry.json +0 -6
  136. package/docs/schema/dot-env-v1.json +0 -110
  137. package/docs/schema/dot-registry-v1.json +0 -33
  138. package/docs/security/AI_ACT_COMPLIANCE.md +0 -94
  139. package/docs/security/AUDIT_BYPASS.md +0 -103
  140. package/docs/security/AUTOMATION_SECRETS.md +0 -26
  141. package/docs/security/CI_EGRESS_ALLOWLIST.md +0 -127
  142. package/docs/security/CI_PINNING.md +0 -129
  143. package/docs/security/COMMIT_SIGNING.md +0 -138
  144. package/docs/security/COMPLIANCE.md +0 -458
  145. package/docs/security/DEPS_DEV_EXCEPTIONS.md +0 -86
  146. package/docs/security/DISCLOSURE.md +0 -130
  147. package/docs/security/ENCRYPTION.md +0 -57
  148. package/docs/security/FMEA.md +0 -159
  149. package/docs/security/FUZZING.md +0 -209
  150. package/docs/security/HISTORY_FILTERING.md +0 -132
  151. package/docs/security/INCIDENT_RESPONSE.md +0 -579
  152. package/docs/security/INSTALL_VERIFICATION.md +0 -122
  153. package/docs/security/KEYS.md +0 -49
  154. package/docs/security/KEY_ROTATION.md +0 -303
  155. package/docs/security/MCP_POLICY.md +0 -78
  156. package/docs/security/POLICY_RELEASES.md +0 -37
  157. package/docs/security/README.md +0 -28
  158. package/docs/security/SCORECARD.md +0 -195
  159. package/docs/security/SECRETS.md +0 -158
  160. package/docs/security/SECURITY.md +0 -45
  161. package/docs/security/SECURITY_CHECKLIST.md +0 -55
  162. package/docs/security/SHELL_EXEMPTIONS.md +0 -145
  163. package/docs/security/SOUP_REGISTER.md +0 -36
  164. package/docs/security/THREAT_MODEL.md +0 -130
  165. package/docs/security/VERIFICATION_VALIDATION.md +0 -228
  166. package/docs/security/VERIFY_RELEASE.md +0 -201
  167. package/docs/security/security-pubkey.asc +0 -15
  168. package/docs/stylesheets/extra.css +0 -444
  169. package/docs/themes/README.md +0 -10
  170. package/docs/themes/VISUAL_INTEGRITY_REPORT.md +0 -30
  171. package/docs/themes/hero-shot.svg +0 -78
  172. package/scripts/README.md +0 -123
  173. package/scripts/ci/check-copyright-headers.sh +0 -8
  174. package/scripts/ci/check-shell-preamble.sh +0 -8
  175. package/scripts/ci/guard-gitleaks-checkout.sh +0 -8
  176. package/scripts/demo/record.sh +0 -43
  177. package/scripts/diagnostics/a2a-conformance.sh +0 -163
  178. package/scripts/diagnostics/alias-governance.sh +0 -165
  179. package/scripts/diagnostics/aliases-cheatsheet.sh +0 -74
  180. package/scripts/diagnostics/aliases-manifest.sh +0 -77
  181. package/scripts/diagnostics/attest-verify.sh +0 -147
  182. package/scripts/diagnostics/benchmark.sh +0 -408
  183. package/scripts/diagnostics/conflicts.sh +0 -73
  184. package/scripts/diagnostics/doctor-unified.sh +0 -43
  185. package/scripts/diagnostics/doctor.sh +0 -797
  186. package/scripts/diagnostics/drift-dashboard.sh +0 -203
  187. package/scripts/diagnostics/health.sh +0 -656
  188. package/scripts/diagnostics/history-analysis.sh +0 -86
  189. package/scripts/diagnostics/mcp-doctor.sh +0 -582
  190. package/scripts/diagnostics/perf.sh +0 -453
  191. package/scripts/diagnostics/scorecard.sh +0 -120
  192. package/scripts/diagnostics/secret-governance.sh +0 -65
  193. package/scripts/diagnostics/security-score.sh +0 -467
  194. package/scripts/diagnostics/smoke-test.sh +0 -88
  195. package/scripts/diagnostics/snapshot.sh +0 -90
  196. package/scripts/diagnostics/verify.sh +0 -108
  197. package/scripts/diagnostics/verify_state.sh +0 -73
  198. package/scripts/diagnostics/version-locks.sh +0 -94
  199. package/scripts/diagnostics/workstation-attestation.sh +0 -212
  200. package/scripts/dot/commands/agent.sh +0 -535
  201. package/scripts/dot/commands/agents.sh +0 -352
  202. package/scripts/dot/commands/ai.sh +0 -600
  203. package/scripts/dot/commands/aliases.sh +0 -277
  204. package/scripts/dot/commands/appearance.sh +0 -110
  205. package/scripts/dot/commands/completion.sh +0 -171
  206. package/scripts/dot/commands/core.sh +0 -217
  207. package/scripts/dot/commands/diagnostics.sh +0 -265
  208. package/scripts/dot/commands/env-emit.sh +0 -203
  209. package/scripts/dot/commands/fleet.sh +0 -711
  210. package/scripts/dot/commands/init.sh +0 -185
  211. package/scripts/dot/commands/lint.sh +0 -208
  212. package/scripts/dot/commands/manual.sh +0 -169
  213. package/scripts/dot/commands/meta.sh +0 -438
  214. package/scripts/dot/commands/patterns.sh +0 -55
  215. package/scripts/dot/commands/registry.sh +0 -455
  216. package/scripts/dot/commands/restore.sh +0 -232
  217. package/scripts/dot/commands/secrets.sh +0 -296
  218. package/scripts/dot/commands/security.sh +0 -102
  219. package/scripts/dot/commands/tools.sh +0 -570
  220. package/scripts/dot/data/alias-deprecations.tsv +0 -2
  221. package/scripts/dot/powershell/Dot.psm1 +0 -319
  222. package/scripts/fonts/install-nerd-fonts.sh +0 -75
  223. package/scripts/fonts/patch-fonts.sh +0 -36
  224. package/scripts/git-hooks/install.sh +0 -12
  225. package/scripts/git-hooks/pre-commit +0 -12
  226. package/scripts/git-hooks/pre-commit-audit.sh +0 -146
  227. package/scripts/git-hooks/pre-push +0 -105
  228. package/scripts/git-hooks/prepare-commit-msg +0 -29
  229. package/scripts/lib/secrets_provider.sh +0 -200
  230. package/scripts/nvim/headless-upgrade.lua +0 -81
  231. package/scripts/ops/ai-setup.sh +0 -71
  232. package/scripts/ops/bundle.sh +0 -104
  233. package/scripts/ops/chaos.sh +0 -50
  234. package/scripts/ops/chezmoi-apply.sh +0 -333
  235. package/scripts/ops/chezmoi-diff.sh +0 -16
  236. package/scripts/ops/chezmoi-remove.sh +0 -46
  237. package/scripts/ops/chezmoi-update.sh +0 -67
  238. package/scripts/ops/heal-chezmoi.sh +0 -87
  239. package/scripts/ops/heal-system.sh +0 -129
  240. package/scripts/ops/heal-tools.sh +0 -297
  241. package/scripts/ops/heal.sh +0 -223
  242. package/scripts/ops/post-apply-repair.sh +0 -107
  243. package/scripts/ops/prewarm.sh +0 -128
  244. package/scripts/ops/release.sh +0 -262
  245. package/scripts/ops/rollback.sh +0 -613
  246. package/scripts/ops/setup.sh +0 -138
  247. package/scripts/ops/teleport.sh +0 -34
  248. package/scripts/qa/check-feature-matrix.sh +0 -296
  249. package/scripts/qa/check-version-consistency.sh +0 -12
  250. package/scripts/qa/coverage-baseline.sh +0 -61
  251. package/scripts/qa/docs-coverage.sh +0 -118
  252. package/scripts/qa/examples-coverage.sh +0 -94
  253. package/scripts/qa/powershell-contract.ps1 +0 -95
  254. package/scripts/qa/reliability-audit.sh +0 -139
  255. package/scripts/qa/scorecard-snapshot.sh +0 -128
  256. package/scripts/qa/traceability-coverage.sh +0 -124
  257. package/scripts/qa/validate-examples.sh +0 -90
  258. package/scripts/qa/wsl-contract.sh +0 -12
  259. package/scripts/secrets/age-init.sh +0 -82
  260. package/scripts/secrets/create-secrets-file.sh +0 -46
  261. package/scripts/secrets/encrypt-ssh-key.sh +0 -44
  262. package/scripts/security/backup.sh +0 -58
  263. package/scripts/security/check-disclosure-key-expiry.sh +0 -111
  264. package/scripts/security/dns-doh.sh +0 -52
  265. package/scripts/security/encryption-check.sh +0 -55
  266. package/scripts/security/enforce-policies.sh +0 -552
  267. package/scripts/security/firewall.sh +0 -91
  268. package/scripts/security/lock-configs.sh +0 -67
  269. package/scripts/security/lock-screen.sh +0 -56
  270. package/scripts/security/manage-secrets.sh +0 -429
  271. package/scripts/security/ssh-cert.sh +0 -204
  272. package/scripts/security/telemetry-kill.sh +0 -51
  273. package/scripts/security/usb-safety.sh +0 -52
  274. package/scripts/theme/apply-gnome-theme.sh +0 -333
  275. package/scripts/theme/extract-heic-frames.sh +0 -115
  276. package/scripts/theme/extract-theme.py +0 -1020
  277. package/scripts/theme/install-boot-logo.sh +0 -63
  278. package/scripts/theme/install-catppuccin-themes.sh +0 -371
  279. package/scripts/theme/install-cursors.sh +0 -26
  280. package/scripts/theme/install-file-icons.sh +0 -27
  281. package/scripts/theme/install-grub-theme.sh +0 -62
  282. package/scripts/theme/install-lock-icon.sh +0 -31
  283. package/scripts/theme/merge-wallpaper.sh +0 -146
  284. package/scripts/theme/rebuild-themes.sh +0 -603
  285. package/scripts/theme/switch.sh +0 -476
  286. package/scripts/theme/wallpaper-rotate.sh +0 -137
  287. package/scripts/theme/wallpaper-sync.sh +0 -690
  288. package/scripts/tools/cmatrix.sh +0 -22
  289. package/scripts/tools/detect-collisions.py +0 -103
  290. package/scripts/tools/emoji-picker.sh +0 -49
  291. package/scripts/tools/figlet-banner.sh +0 -19
  292. package/scripts/tools/log-rotate.sh +0 -31
  293. package/scripts/tools/lolcat-wrap.sh +0 -20
  294. package/scripts/tools/pipes.sh +0 -49
  295. package/scripts/tuning/linux.sh +0 -186
  296. package/scripts/tuning/macos.sh +0 -56
  297. package/scripts/uninstall.sh +0 -86
  298. package/scripts/verify-release-versions +0 -156
  299. package/scripts/version-sync.sh +0 -714
  300. package/templates/chezmoi-data/geekom-a9.toml.example +0 -21
  301. package/templates/chezmoi-data/mac-m1.toml.example +0 -16
  302. package/templates/chezmoi-data/mac-t2-linux.toml.example +0 -21
  303. package/templates/chezmoi-data/surface-pro-7p.toml.example +0 -21
  304. package/templates/projects/go/.github/workflows/ci.yml +0 -31
  305. package/templates/projects/go/README.md +0 -7
  306. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +0 -8
  307. package/templates/projects/go/go.mod +0 -3
  308. package/templates/projects/go/go.sum +0 -0
  309. package/templates/projects/molecule/README.md +0 -7
  310. package/templates/projects/molecule/converge.yml +0 -7
  311. package/templates/projects/molecule/molecule.yml +0 -16
  312. package/templates/projects/node/.github/workflows/ci.yml +0 -30
  313. package/templates/projects/node/README.md +0 -7
  314. package/templates/projects/node/package-lock.json +0 -12
  315. package/templates/projects/node/package.json +0 -10
  316. package/templates/projects/node/src/index.js +0 -3
  317. package/templates/projects/packer/README.md +0 -15
  318. package/templates/projects/packer/main.pkr.hcl +0 -15
  319. package/templates/projects/python/.github/workflows/ci.yml +0 -34
  320. package/templates/projects/python/README.md +0 -7
  321. package/templates/projects/python/pyproject.toml +0 -25
  322. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +0 -2
  323. package/templates/projects/python/tests/test_basic.py +0 -3
@@ -1,265 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
- {% raw %}
5
-
6
- # Reference: Configuration Files
7
-
8
- Every config file read or written by `.dotfiles`, with its schema and purpose.
9
-
10
- ## Source Repository
11
-
12
- | File | Purpose |
13
- |:---|:---|
14
- | `~/.dotfiles/.chezmoidata.toml` | Global defaults: theme, profile, version, features |
15
- | `~/.dotfiles/.chezmoidata/hardware.toml` | Machine presets (MacBook T2, Surface Pro, etc.) |
16
- | `~/.dotfiles/.chezmoidata/themes.toml` | **Generated** theme palettes — do not edit |
17
- | `~/.dotfiles/.chezmoidata/keybinds.toml` | Modifier hierarchy matrix |
18
- | `~/.dotfiles/mise.toml` | Pinned runtime versions for the dotfiles repo |
19
- | `~/.dotfiles/.chezmoiignore` | Paths excluded from `chezmoi apply` |
20
- | `~/.dotfiles/.chezmoitemplates/` | Reusable template partials |
21
-
22
- ## User-Owned Configuration
23
-
24
- | File | Purpose | Git-tracked? |
25
- |:---|:---|:---:|
26
- | `~/.config/chezmoi/chezmoi.toml` | Per-host overrides (machine, theme, shell) | No |
27
- | `~/.config/age/keys.txt` | Age private key for decryption | No |
28
- | `~/.config/mise/config.toml` | User runtime preferences (managed by this repo) | Via chezmoi |
29
- | `~/.config/dotfiles/fleet.toml` | Fleet host list (optional) | No |
30
- | `~/.ssh/allowed_signers` | SSH public keys trusted for commit verification | Via chezmoi (template) |
31
-
32
- ## `.chezmoidata.toml` Schema
33
-
34
- ```toml
35
- # Version — bumped by version-sync.sh at release time
36
- dotfiles_version = "0.2.503"
37
-
38
- # Machine preset — override in ~/.config/chezmoi/chezmoi.toml per host
39
- machine = ""
40
-
41
- # Active theme — see `dot theme list`
42
- theme = "tahoe-dark"
43
-
44
- # Terminal defaults
45
- terminal_font_family = "JetBrainsMono Nerd Font"
46
- terminal_font_size = 12
47
- default_shell = "fish" # fish | zsh | nu
48
-
49
- # Git identity (prompt-provided via chezmoi init)
50
- name = ""
51
- email = ""
52
-
53
- # Active profile
54
- profile = "laptop" # desktop | laptop | server | codespace
55
-
56
- # Feature flags (see 05-feature-flags.md)
57
- [features]
58
- dms = false
59
- linux_desktop = false
60
- niri = false
61
- waybar = false
62
-
63
- # Profiles (named collections of overrides)
64
- [profiles.desktop]
65
- # ...
66
-
67
- [profiles.laptop]
68
- # ...
69
- ```
70
-
71
- ## `.chezmoidata/hardware.toml` Schema
72
-
73
- ```toml
74
- [hardware.<preset-name>]
75
- display_scale = 1.0 | 1.25 | 1.5 | 1.75 | 2.0
76
- kbd_layout = "qwerty" | "colemak-dh" | "dvorak"
77
- modifier_mode = "standard" | "left-cmd-control" | "fn-swap"
78
- perf_profile = "desktop" | "laptop" | "low-power"
79
- wm = "aerospace" | "niri" | "gnome" | "kde" | "none"
80
-
81
- [hardware.<preset-name>.features]
82
- # Per-preset feature overrides (merged on top of .chezmoidata.toml features)
83
- <flag> = <bool>
84
- ```
85
-
86
- ## `.chezmoidata/themes.toml` Schema
87
-
88
- **Generated by `dot theme rebuild` — do not edit manually.**
89
-
90
- ```toml
91
- [themes.<name>]
92
- mode = "dark" | "light"
93
- family = "<family-name>"
94
- macos_accent = -1 .. 6 # -1=Graphite, 0=Red, 1=Orange, 2=Yellow, 3=Green, 4=Blue, 5=Purple, 6=Pink
95
- wallpaper = "/absolute/path/to/wallpaper.heic"
96
- source = "custom" | "system"
97
-
98
- [themes.<name>.term]
99
- bg, fg, cursor, cursor_text, sel_bg, sel_fg # hex RGB
100
- c0 .. c15 # 16 ANSI colors
101
-
102
- [themes.<name>.ui]
103
- accent, accent_text # WCAG AAA enforced (7:1)
104
- error, warning, success, info
105
- panel # 1.03-2.0 contrast vs bg
106
- border # 1.08-3.5 contrast vs bg
107
-
108
- [themes.<name>.app]
109
- nvim, nvim_style, lualine
110
- gtk_theme, gtk_icon, gnome_shell, gnome_gtk
111
- vscode, vscode_dark, vscode_light
112
- cat_wallpaper
113
- starship_palette
114
- ```
115
-
116
- See [Theme Engine concept](../01-concepts/03-theme-engine.md) for how values are derived.
117
-
118
- ## `~/.config/chezmoi/chezmoi.toml` (Per-Host)
119
-
120
- ```toml
121
- sourceDir = "/Users/you/.dotfiles"
122
-
123
- [data]
124
- machine = "surface-pro" # selects preset from hardware.toml
125
- theme = "monterey-dark" # overrides .chezmoidata.toml default
126
- default_shell = "fish"
127
- terminal_font_size = 11
128
- email = "you@example.com"
129
- name = "Your Name"
130
- ```
131
-
132
- Fields here override same-named fields in `.chezmoidata.toml` at render time.
133
-
134
- ## `~/.dotfiles/mise.toml` (Pinned Versions)
135
-
136
- Strict versions for testing the repo itself (separate from the user's own mise config):
137
-
138
- ```toml
139
- [tools]
140
- chezmoi = "2.47.1"
141
- pandoc = "3.1.8"
142
- shellcheck = "0.10.0"
143
- shfmt = "3.8.0"
144
- # ...
145
-
146
- [env]
147
- # Repo-level env vars
148
- ```
149
-
150
- ## `~/.config/mise/config.toml` (User)
151
-
152
- Managed by this repo via chezmoi. Lists all CLI tools + language runtimes:
153
-
154
- ```toml
155
- [settings]
156
- auto_install = true
157
- activate_aggressive = true
158
-
159
- [tools]
160
- node = ["lts", "24", "25"]
161
- python = ["3.12", "3.11"]
162
- go = "latest"
163
- rust = "latest"
164
- # ... 60+ tools
165
-
166
- [env]
167
- MISE_EXPERIMENTAL = "1"
168
- GITHUB_TOKEN = "{{exec(command='gh auth token')}}"
169
- GOCACHE = "/tmp/builds/go-cache"
170
- PIP_CACHE_DIR = "/tmp/builds/pip-cache"
171
- UV_CACHE_DIR = "/tmp/builds/uv-cache"
172
- ZIG_LOCAL_CACHE_DIR = "/tmp/builds/zig-cache"
173
- ZIG_GLOBAL_CACHE_DIR = "/tmp/builds/zig-global-cache"
174
- ```
175
-
176
- ## `~/.cargo/config.toml` (Managed)
177
-
178
- ```toml
179
- [build]
180
- jobs = -1
181
- incremental = true
182
- target-dir = "/tmp/builds/cargo"
183
- ```
184
-
185
- ## `~/.ssh/allowed_signers`
186
-
187
- Template: `dot_ssh/allowed_signers.tmpl`
188
-
189
- Lists SSH public keys authorized to sign commits in the repository:
190
-
191
- ```
192
- you@example.com ssh-ed25519 AAAAC3N...
193
- teammate@example.com ssh-ed25519 AAAAC3N...
194
- ```
195
-
196
- ## `dot_config/dotfiles/mcp.json`
197
-
198
- MCP policy and registry. See [MCP Policy reference](../../security/MCP_POLICY.md).
199
-
200
- ```json
201
- {
202
- "policy_version": "2026-01",
203
- "allowed_servers": ["fs", "shell", "github"],
204
- "denied_tools": ["network.raw"],
205
- "attestation_required": true,
206
- "registry": {
207
- "servers": [
208
- {"name": "fs", "command": "...", "hash": "..."},
209
- ...
210
- ]
211
- }
212
- }
213
- ```
214
-
215
- ## `dot_config/dotfiles/agent-card.json`
216
-
217
- Agent Card (MCP A2A spec):
218
-
219
- ```json
220
- {
221
- "name": "dotfiles-agent",
222
- "version": "0.2.503",
223
- "capabilities": ["chezmoi.apply", "theme.switch", "secrets.decrypt"],
224
- "policy_hash": "0x7f2a..."
225
- }
226
- ```
227
-
228
- ## Log Files
229
-
230
- | Path | Content | Rotation |
231
- |:---|:---|:---|
232
- | `~/.local/state/dotfiles/install.log` | Installer output | Never rotated |
233
- | `~/.local/state/dotfiles/heal.log` | Heal attempts | Append-only |
234
- | `~/.local/state/dotfiles/metrics.jsonl` | Observability events | Rotated at 10MB |
235
- | `~/.local/state/dotfiles/mcp-violations.log` | MCP policy violations | Rotated at 10MB |
236
- | `~/.local/state/dotfiles/attestation/*.json` | Attestation snapshots | 90-day retention |
237
- | `~/.local/state/dotfiles/snapshots/*` | Rollback snapshots | 30-day retention |
238
-
239
- ## Cache Files
240
-
241
- | Path | Content | Invalidation |
242
- |:---|:---|:---|
243
- | `~/.cache/shell/*-init.sh` | Pre-generated shell init output | Binary mtime |
244
- | `~/.cache/dotfiles/themes/*.toml` | Per-wallpaper theme cache | Wallpaper mtime |
245
- | `~/.cache/dotfiles/manual/*` | Downloaded manual files | Version change |
246
- | `~/.cache/gitstatus/*` | Starship gitstatus | Auto |
247
-
248
- ## Verified Files
249
-
250
- Every commit on `main` modifies tracked files only. Untracked files in the source directory (e.g. editor swap files) are ignored via `.chezmoiignore`:
251
-
252
- ```
253
- .DS_Store
254
- .vscode/
255
- *.swp
256
- _build/
257
- ```
258
-
259
- ## See Also
260
-
261
- - [Environment Reference](03-environment.md)
262
- - [Template Variables](04-templates.md)
263
- - [Feature Flags](05-feature-flags.md)
264
- - [First Install Tutorial](../02-tutorials/01-first-install.md)
265
- {% endraw %}
@@ -1,124 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- # Reference: Environment Variables
6
-
7
- All environment variables that affect `.dotfiles` behaviour.
8
-
9
- ## User-Settable
10
-
11
- Variables you can set in your shell to change behaviour.
12
-
13
- | Variable | Default | Effect |
14
- |:---|:---|:---|
15
- | `DOTFILES_VERBOSE` | unset | Verbose output from `dot` commands |
16
- | `DOTFILES_NONINTERACTIVE` | unset | Skip interactive prompts (for CI) |
17
- | `DOTFILES_SILENT` | unset | Suppress non-error output |
18
- | `DOTFILES_DEBUG` | unset | Print shell-init timing to stderr |
19
- | `DOTFILES_SOURCE_DIR` | `~/.dotfiles` | Override the source directory |
20
- | `DOTFILES_WALLPAPER_DIR` | `~/Pictures/Wallpapers` | Custom wallpaper directory |
21
- | `DOTFILES_CACHE_DIR` | `~/.cache/dotfiles` | Override cache location |
22
- | `DOTFILES_STATE_DIR` | `~/.local/state/dotfiles` | Override state directory |
23
- | `DOTFILES_TUNING` | `0` | Enable OS tuning (`dot tune`) |
24
- | `EDITOR` | `nvim` | Editor used by `dot edit` and `sops` |
25
- | `PAGER` | `less` | Pager used by `dot manual text` |
26
-
27
- ## Auto-Populated
28
-
29
- Variables the dotfiles set in your shell for tool consumption.
30
-
31
- | Variable | Value | Source |
32
- |:---|:---|:---|
33
- | `XDG_CONFIG_HOME` | `~/.config` | `dot_zshenv` / `dot_config/fish/conf.d/env.fish.tmpl` |
34
- | `XDG_CACHE_HOME` | `~/.cache` | ditto |
35
- | `XDG_DATA_HOME` | `~/.local/share` | ditto |
36
- | `XDG_STATE_HOME` | `~/.local/state` | ditto |
37
- | `PATH` | managed order | `dot_config/shell/00-core-paths.sh.tmpl` |
38
- | `BUN_INSTALL` | `~/.bun` | `env.fish.tmpl` |
39
- | `PIPX_HOME` | `~/.local/share/pipx` | ditto |
40
- | `PIPX_BIN_DIR` | `~/.local/bin` | ditto |
41
- | `BUILDS_TMPDIR` | `/tmp/builds` | `dot_zshenv` (created on shell init) |
42
- | `CARGO_TARGET_DIR` | (from `~/.cargo/config.toml`) | `target-dir = "/tmp/builds/cargo"` |
43
- | `GOCACHE` | `/tmp/builds/go-cache` | `mise [env]` |
44
- | `GOTMPDIR` | `/tmp/builds/go-tmp` | `mise [env]` |
45
- | `PIP_CACHE_DIR` | `/tmp/builds/pip-cache` | `mise [env]` |
46
- | `UV_CACHE_DIR` | `/tmp/builds/uv-cache` | `mise [env]` |
47
- | `ZIG_LOCAL_CACHE_DIR` | `/tmp/builds/zig-cache` | `mise [env]` |
48
- | `ZIG_GLOBAL_CACHE_DIR` | `/tmp/builds/zig-global-cache` | `mise [env]` |
49
- | `HOMEBREW_PREFIX` | `/opt/homebrew` or `/usr/local` | `dot_zshenv` (macOS) |
50
- | `MANPATH` | homebrew-adjusted | ditto |
51
- | `MISE_EXPERIMENTAL` | `1` | `~/.config/mise/config.toml` |
52
- | `GITHUB_TOKEN` | from `gh auth token` | `~/.config/mise/config.toml` |
53
-
54
- ## Read by Tools
55
-
56
- Variables set by upstream tools and respected by `.dotfiles`.
57
-
58
- | Variable | Used for |
59
- |:---|:---|
60
- | `SHELL` | Detect default shell |
61
- | `TERM` | Terminal capabilities (e.g. `xterm-256color`) |
62
- | `COLORTERM` | True-color detection (`truecolor`) |
63
- | `LANG` / `LC_ALL` | Locale (must be UTF-8) |
64
- | `HOME` | User home directory |
65
- | `USER` | Username |
66
- | `SSH_AUTH_SOCK` | ssh-agent socket |
67
- | `GPG_TTY` | GPG pinentry TTY |
68
-
69
- ## CI-Specific
70
-
71
- Variables relevant in GitHub Actions.
72
-
73
- | Variable | Purpose |
74
- |:---|:---|
75
- | `CI` | Set to `true` in CI; disables prompts |
76
- | `GITHUB_ACTIONS` | GHA-specific; enables step summary output |
77
- | `CHEZMOI_VERSION` | Pinned chezmoi version for CI |
78
- | `COVERAGE_THRESHOLD` | Executable module-mapping threshold (100 in enforced CI; not line coverage) |
79
- | `DOTFILES_TEST_MODE` | Skip network-dependent tests |
80
-
81
- ## Secret-Related
82
-
83
- | Variable | Purpose |
84
- |:---|:---|
85
- | `SOPS_AGE_KEY_FILE` | Override `~/.config/age/keys.txt` path |
86
- | `SOPS_AGE_RECIPIENTS` | Override recipients for new encryption |
87
- | `CHEZMOI_AGE_IDENTITY` | Override age identity for chezmoi decrypt |
88
-
89
- > Warning: never set these to values stored in plaintext config. Use a password manager or ephemeral injection.
90
-
91
- ## Startup Order
92
-
93
- Shell-loaded variables follow this precedence (later wins):
94
-
95
- 1. System defaults (`/etc/environment`, `/etc/profile`)
96
- 2. Homebrew shellenv (macOS)
97
- 3. `~/.zshenv` (earliest user-level file; sets XDG + PATH bootstrap)
98
- 4. `~/.zprofile` or `~/.config/fish/conf.d/*.fish`
99
- 5. `~/.zshrc` or `~/.config/fish/config.fish`
100
- 6. `mise activate` — injects tool-specific env
101
- 7. Per-project `.envrc` via direnv (opt-in)
102
-
103
- To debug: `DOTFILES_DEBUG=1 zsh -i -c exit` prints timing for each stage.
104
-
105
- ## Unsetting
106
-
107
- To clean up environment pollution:
108
-
109
- ```sh
110
- # Show current dotfiles-set vars
111
- env | grep -E '^(DOTFILES_|XDG_|BUILDS_)'
112
-
113
- # Unset one
114
- unset DOTFILES_DEBUG
115
-
116
- # Reset to defaults (restart shell)
117
- exec $SHELL -l
118
- ```
119
-
120
- ## See Also
121
-
122
- - [Configuration Files](02-config-files.md)
123
- - [Feature Flags](05-feature-flags.md)
124
- - [First Install](../02-tutorials/01-first-install.md)
@@ -1,190 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
- {% raw %}
5
-
6
- # Reference: Template Variables
7
-
8
- Every variable available to chezmoi templates (`.tmpl` files).
9
-
10
- ## From `.chezmoidata.toml`
11
-
12
- Flat top-level keys:
13
-
14
- | Variable | Type | Example |
15
- |:---|:---|:---|
16
- | `.dotfiles_version` | string | `"0.2.501"` |
17
- | `.theme` | string | `"tahoe-dark"` |
18
- | `.machine` | string | `"macbook-t2"` |
19
- | `.profile` | string | `"laptop"` |
20
- | `.default_shell` | string | `"fish"` |
21
- | `.terminal_font_family` | string | `"JetBrainsMono Nerd Font"` |
22
- | `.terminal_font_size` | int | `12` |
23
- | `.name` | string | `"Your Name"` |
24
- | `.email` | string | `"you@example.com"` |
25
-
26
- ## From `.chezmoidata/themes.toml`
27
-
28
- ```go
29
- {{- $t := index .themes .theme }}
30
- {{ $t.mode }} // "dark" or "light"
31
- {{ $t.family }} // "tahoe"
32
- {{ $t.macos_accent }} // 4 (integer)
33
- {{ $t.term.bg }} // "#121430"
34
- {{ $t.term.fg }} // "#d4d8ec"
35
- {{ $t.term.c0 }} .. {{ $t.term.c15 }} // ANSI 0-15
36
- {{ $t.ui.accent }} // "#3951b1"
37
- {{ $t.ui.accent_text }} // "#ffffff"
38
- {{ $t.ui.panel }}
39
- {{ $t.ui.border }}
40
- {{ $t.app.nvim }} // "catppuccin"
41
- {{ $t.app.starship_palette }}
42
- ```
43
-
44
- ## From `.chezmoidata/hardware.toml`
45
-
46
- ```go
47
- {{- $hw := index .hardware .machine }}
48
- {{ $hw.display_scale }} // 2.0
49
- {{ $hw.kbd_layout }} // "qwerty"
50
- {{ $hw.modifier_mode }} // "left-cmd-control"
51
- {{ $hw.perf_profile }} // "laptop"
52
- {{ $hw.wm }} // "aerospace"
53
- {{ $hw.features.touchid }} // bool
54
- ```
55
-
56
- ## From Feature Flags
57
-
58
- ```go
59
- {{- $f := mergeOverwrite .features $hw.features }}
60
- {{ if $f.dms }}
61
- # Dank Material Shell-specific config
62
- {{ end }}
63
-
64
- {{ if $f.niri }}
65
- # Niri WM config
66
- {{ end }}
67
- ```
68
-
69
- ## Built-in Chezmoi Variables
70
-
71
- ```go
72
- {{ .chezmoi.os }} // "darwin" | "linux" | "windows"
73
- {{ .chezmoi.arch }} // "amd64" | "arm64"
74
- {{ .chezmoi.kernel }} // "Darwin" | "Linux"
75
- {{ .chezmoi.kernel.ostype }} // "darwin24" etc
76
- {{ .chezmoi.hostname }} // host machine hostname
77
- {{ .chezmoi.username }} // current user
78
- {{ .chezmoi.homeDir }} // $HOME
79
- {{ .chezmoi.sourceDir }} // ~/.dotfiles
80
- {{ .chezmoi.workingTree }} // git working tree root
81
- {{ .chezmoi.executable }} // chezmoi binary path
82
- {{ .chezmoi.osRelease }} // Linux /etc/os-release data
83
- ```
84
-
85
- ## Built-in Chezmoi Functions
86
-
87
- ```go
88
- {{ exec "command" | trim }}
89
- {{ output "hostname" }}
90
- {{ include "path/to/file" }}
91
- {{ decrypt "path/to/file.age" }}
92
- {{ sopsDecrypt "path/to/file.sops.yaml" | fromYaml }}
93
- {{ joinPath "a" "b" }}
94
- {{ stat "/path" }}
95
- {{ ioreg ".." ".." }} // macOS only
96
- {{ lookPath "command" }} // returns path or empty
97
- ```
98
-
99
- ## Helper Templates (in `.chezmoitemplates/`)
100
-
101
- Reusable partials included via:
102
-
103
- ```go
104
- {{ template "paths/00-default.paths.sh" . }}
105
- {{ template "aliases/cd.aliases.sh" . }}
106
- {{ template "functions/cdls.sh" . }}
107
- ```
108
-
109
- Available partials:
110
-
111
- - `paths/00-default.paths.sh` — canonical PATH construction
112
- - `paths/05-pipx.paths.sh` — pipx + ~/.local/bin
113
- - `paths/99-custom.paths.sh` — user-appended paths
114
- - `aliases/*.aliases.sh` — per-domain alias sets
115
- - `functions/*.sh` — reusable shell functions
116
-
117
- ## Example: Using Theme in Ghostty Config
118
-
119
- ```go
120
- {{- /* dot_config/ghostty/config.tmpl */ -}}
121
- {{- $t := index .themes .theme -}}
122
-
123
- font-family = "{{ .terminal_font_family }}"
124
- font-size = {{ .terminal_font_size }}
125
-
126
- background = {{ $t.term.bg }}
127
- foreground = {{ $t.term.fg }}
128
- cursor-color = {{ $t.term.cursor }}
129
-
130
- palette = 0={{ $t.term.c0 }}
131
- palette = 1={{ $t.term.c1 }}
132
- palette = 2={{ $t.term.c2 }}
133
- # ... through 15
134
-
135
- {{- if eq .chezmoi.os "darwin" }}
136
- macos-titlebar-style = transparent
137
- {{- end }}
138
- ```
139
-
140
- ## Example: Platform × Preset
141
-
142
- ```go
143
- {{- $hw := index .hardware .machine -}}
144
-
145
- {{- if and (eq .chezmoi.os "darwin") (eq $hw.wm "aerospace") }}
146
- # macOS AeroSpace config
147
- include = ["aerospace-macos.toml"]
148
- {{- else if and (eq .chezmoi.os "linux") (eq $hw.wm "niri") }}
149
- # Linux Niri config
150
- include = ["niri.kdl"]
151
- {{- end }}
152
-
153
- # DPI-aware sizing
154
- font-size = {{ mul 8 $hw.display_scale | int }}
155
- ```
156
-
157
- ## Template Testing
158
-
159
- Render a template without applying:
160
-
161
- ```sh
162
- chezmoi execute-template < dot_config/ghostty/config.tmpl
163
- ```
164
-
165
- Or test an expression:
166
-
167
- ```sh
168
- chezmoi execute-template '{{ .chezmoi.os }}'
169
- # darwin
170
-
171
- chezmoi execute-template '{{- $t := index .themes .theme -}}{{ $t.term.bg }}'
172
- # #121430
173
- ```
174
-
175
- ## Validation in CI
176
-
177
- Every push to main runs:
178
-
179
- ```sh
180
- chezmoi apply --dry-run
181
- ```
182
-
183
- If any template fails to render, the build breaks before merge.
184
-
185
- ## See Also
186
-
187
- - [Chezmoi template reference](https://www.chezmoi.io/reference/templates/)
188
- - [Configuration Files](02-config-files.md)
189
- - [Create a Profile tutorial](../02-tutorials/03-create-profile.md)
190
- {% endraw %}