@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,124 +0,0 @@
1
- # Configuration Management Strategy
2
-
3
- ## Overview
4
-
5
- This document defines the configuration management approach for this development environment, consolidating multiple systems into a clear hierarchy.
6
-
7
- ## Configuration Systems
8
-
9
- ### Primary: Chezmoi
10
-
11
- **Role:** Source of truth for all managed dotfiles
12
- **Location:** `~/.dotfiles/` (chezmoi source directory)
13
- **Managed Files:** 209 files/directories
14
-
15
- Chezmoi handles:
16
-
17
- - Shell configurations (.bashrc, .zshrc, .profile, .zshenv, .zprofile)
18
- - Editor configs (.vimrc, nvim, VS Code settings)
19
- - Tool configs (.gitconfig, .npmrc, .noderc, etc.)
20
- - Application configs (~/.config/*)
21
- - SSH configuration (~/.ssh/config, config.d/)
22
-
23
-
24
- ### Tertiary: Runtime/Application Data
25
-
26
- **Role:** Auto-generated, not version controlled
27
- **Examples:**
28
-
29
- - `~/.cache/` - Application caches
30
- - `~/.local/share/` - Application data
31
- - `~/.cargo/`, `~/.rustup/` - Language toolchains
32
- - `~/.npm/`, `~/.node_modules/` - Node.js packages
33
-
34
- ## Decision Matrix
35
-
36
- | Configuration Type | Manager | Reason |
37
- |-------------------|---------|--------|
38
- | Shell dotfiles | Chezmoi | Templated, machine-specific |
39
- | Editor configs | Chezmoi | Consistent across machines |
40
- | Git config | Chezmoi | Templated (email, signing key) |
41
- | SSH config | Chezmoi | Structured with config.d/ |
42
- | Euxis framework | Git (separate) | Independent lifecycle |
43
- | Language runtimes | mise | Version management |
44
- | System packages | apt/snap | OS-level |
45
- | Application data | None | Auto-generated |
46
-
47
- ## Chezmoi Configuration
48
-
49
- ### Data Variables (.chezmoidata.toml)
50
-
51
- ```toml
52
- profile = "laptop" # Machine profile
53
- theme = "tokyonight-night" # Color scheme
54
- terminal_font_family = "JetBrains Mono"
55
- terminal_font_size = 12
56
-
57
- [features]
58
- zsh = true # Enable zsh configs
59
- nvim = true # Enable neovim configs
60
- tmux = true # Enable tmux configs
61
- gui = true # Enable GUI app configs
62
- secrets = true # Enable secret management
63
- ```
64
-
65
- ### Template Patterns
66
-
67
- Files ending in `.tmpl` are processed with Go templates:
68
-
69
- - `dot_gitconfig.tmpl` - Injects name, email, signing key
70
- - `dot_npmrc.tmpl` - Injects registry tokens
71
- - `dot_noderc.tmpl` - Injects Node.js settings
72
-
73
- ### Ignored Patterns (.chezmoiignore.tmpl)
74
-
75
- Machine-specific exclusions based on profile and features.
76
-
77
- ## Workflow
78
-
79
- ### Adding New Configuration
80
-
81
- 1. **Check if managed:** `chezmoi managed | grep <file>`
82
- 2. **If not managed:** `chezmoi add <file>`
83
- 3. **If templating needed:** Rename to `.tmpl`, add template logic
84
- 4. **Apply changes:** `chezmoi apply`
85
-
86
- ### Updating Configuration
87
-
88
- 1. **Edit source:** `chezmoi edit <file>` or edit in `~/.dotfiles/`
89
- 2. **Preview changes:** `chezmoi diff`
90
- 3. **Apply:** `chezmoi apply`
91
- 4. **Commit:** `cd ~/.dotfiles && git add -A && git commit`
92
-
93
- ### Syncing Across Machines
94
-
95
- ```bash
96
- # On new machine
97
- chezmoi init https://github.com/<user>/dotfiles.git
98
- chezmoi apply
99
-
100
- # On existing machine
101
- chezmoi update
102
- ```
103
-
104
- ## Anti-Patterns to Avoid
105
-
106
- 1. **Manual edits to managed files** - Always edit via chezmoi or re-add after manual changes
107
- 2. **Duplicate configs** - Don't maintain parallel configs outside chezmoi
108
- 3. **Hardcoded machine-specific values** - Use templates and data variables
109
- 4. **Version controlling runtime data** - Keep ~/.cache, ~/.local/share out of version control
110
-
111
- ## File Ownership
112
-
113
- | Path | Owner | Notes |
114
- |------|-------|-------|
115
- | `~/.dotfiles/` | chezmoi | Source of truth |
116
- | `~/.*` (dotfiles) | chezmoi-applied | Don't edit directly |
117
- | `~/.config/*` | Mixed | Check `chezmoi managed` |
118
- | `~/.local/` | chezmoi (bin) + runtime | Partial management |
119
-
120
- ## Maintenance Schedule
121
-
122
- - **Weekly:** `chezmoi update` to sync remote changes
123
- - **Monthly:** Review `chezmoi unmanaged` for new configs to add
124
- - **Quarterly:** Audit `.chezmoiignore` patterns
package/docs/COPYRIGHT DELETED
@@ -1,7 +0,0 @@
1
- /*
2
- * 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.519) - <https://github.com/sebastienrousseau/dotfiles>
3
- * Made With ❤️ in London, United Kingdom
4
- * Designed by
5
- * Copyright (c) 2015-2026. All rights reserved.
6
- * License: MIT
7
- */
@@ -1,98 +0,0 @@
1
- # Governance
2
-
3
- ## Model
4
-
5
- **Single-maintainer steward.** The project is owned and decided
6
- by one maintainer (see [`MAINTAINERS.md`](MAINTAINERS.md)). This document exists so
7
- contributors and downstream consumers understand exactly how
8
- decisions are made, how to influence them, and what guarantees
9
- exist.
10
-
11
- ## Decision-making
12
-
13
- | Decision class | Process | Veto |
14
- |---|---|---|
15
- | Bug fix | Open PR, maintainer reviews + merges. Tests required. | Maintainer |
16
- | Feature addition | Open issue first to scope. Then PR. Larger changes need an RFC in `docs/operations/`. | Maintainer |
17
- | Breaking change | RFC in `docs/operations/RFC_<topic>.md` + 2-week comment window + migration script + at least one minor-version deprecation. | Maintainer (with public reasoning) |
18
- | Security policy | `.github/SECURITY.md` is the canonical reference. Disclosure-key rotation follows `docs/security/KEY_ROTATION.md`. | Maintainer + 30-day public notice |
19
- | Dependency change | Pre-commit + CI must stay green. New runtime deps require RFC. | Maintainer |
20
- | Release | Maintainer cuts tags. Convention: signed annotated tag, Cosign-signed SBOM, SLSA L3 provenance. | Maintainer |
21
-
22
- ## Contribution flow
23
-
24
- 1. **Issue** for non-trivial work. Confirm scope before coding.
25
- 2. **Branch** off `main`: `feat/<scope>`, `fix/<scope>`,
26
- `docs/<scope>`, etc.
27
- 3. **PR** with description following the template:
28
- - Summary (1–3 bullets)
29
- - Test plan (checklist)
30
- - Trailing Euxis signature block (required by
31
- `pr-signature.yml`)
32
- 4. **CI** must pass before merge. Pre-commit hooks must not be
33
- bypassed (`--no-verify` is rejected by the pre-push hook).
34
- 5. **Review** by the maintainer. Squash-merge is the project
35
- default; merge-commit only for release PRs that need history
36
- preserved (e.g., `feat/v0.X.YYY` aggregate PRs).
37
- 6. **Commit signing** is mandatory: SSH or GPG. Unsigned commits
38
- are rejected at push.
39
-
40
- See `CONTRIBUTING.md` for full code-style + commit-message
41
- requirements.
42
-
43
- ## RFC process
44
-
45
- For breaking changes or substantial new features:
46
-
47
- 1. Create `docs/operations/RFC_<short-name>.md` with sections:
48
- - **Summary** (one paragraph)
49
- - **Motivation** (why now, what's broken without it)
50
- - **Detailed design** (concrete file paths, API shapes)
51
- - **Backwards compatibility** (what breaks, migration path)
52
- - **Alternatives considered** (with reasons rejected)
53
- - **Unresolved questions**
54
- 2. Open a PR labelled `rfc` against `main`.
55
- 3. Comment window: 14 days minimum.
56
- 4. Maintainer renders a decision (accept / accept-with-changes /
57
- reject) with public reasoning in the PR.
58
- 5. Accepted RFCs are merged as-is to `docs/operations/` and become
59
- the implementation reference.
60
-
61
- Active and historical RFCs are linked from
62
- `docs/operations/README.md`.
63
-
64
- ## Code of conduct
65
-
66
- Standard expectations: be kind, assume good faith, focus on the
67
- work. Discriminatory or harassing behaviour is grounds for
68
- permanent block. Report incidents to the maintainer via the
69
- security disclosure channel (`security@sebastienrousseau.com`,
70
- encrypted to the WKD-published GPG key).
71
-
72
- ## Forking
73
-
74
- The project is MIT-licensed; fork freely. If your fork diverges
75
- substantially and gains its own community, please rename it to
76
- avoid downstream confusion ("dotfiles-X" or similar).
77
-
78
- ## Sustainability
79
-
80
- The single-maintainer model has known weaknesses (bus factor,
81
- review bandwidth, perspective). The project mitigates these by:
82
-
83
- - **Comprehensive automation**: 75+ CI checks, pre-commit hooks,
84
- shellcheck/shfmt/typos enforcement.
85
- - **Documented architecture**: [`STRUCTURE.md`](STRUCTURE.md), `scripts/README.md`,
86
- `architecture/`, `operations/HARD_AUDIT_2026.md`.
87
- - **Cryptographic supply chain**: Cosign-signed SBOMs, SLSA L3
88
- provenance, signed commits, WKD-published disclosure key.
89
- - **Permissive license**: MIT — anyone can fork and continue.
90
- - **Active issue triage**: targeted weekly cadence.
91
-
92
- When the project gains regular contributors, this document will be
93
- updated to reflect the shared-maintainer model.
94
-
95
- ## Reference
96
-
97
- - [OpenSSF Best Practices criteria](https://www.bestpractices.dev/en/criteria/0) — this governance model is designed to satisfy the "passing" tier.
98
- - [CNCF Project Governance template](https://contribute.cncf.io/maintainers/governance/) — adapted for solo maintainership.
@@ -1,41 +0,0 @@
1
- # Maintainers
2
-
3
- This project is maintained by a single primary maintainer with an
4
- explicit, documented governance model (see [`GOVERNANCE.md`](GOVERNANCE.md)).
5
-
6
- ## Primary maintainer
7
-
8
- - **Sebastien Rousseau** — <sebastian.rousseau@gmail.com>
9
- - GitHub: [@sebastienrousseau](https://github.com/sebastienrousseau)
10
- - Role: project owner, release manager, security disclosure contact
11
- - Commit signing: SSH ED25519 (`SHA256:kIOPAavp1TCEauTr1tTIN3cv+tSs6F9m/4lZjuM9tqk`)
12
- - GPG disclosure key fingerprint: `55AFAD364FD9DB3819E61F0C8D688FAFA9144693` (ed25519 + cv25519, expires 2029-05-15, published via WKD at `security@sebastienrousseau.com`)
13
-
14
- ## Active contributors
15
-
16
- This is a solo-maintained project. Contributions are welcomed via
17
- pull request (see `CONTRIBUTING.md`); the maintainer reviews and
18
- merges. When the project gains additional regular committers their
19
- names will land here with role and contact.
20
-
21
- ## Security contact
22
-
23
- For coordinated vulnerability disclosure, follow `.github/SECURITY.md`.
24
- TL;DR: encrypt your report to the WKD-published GPG key above and
25
- email `security@sebastienrousseau.com`. Acknowledgement SLA: 72 hours.
26
-
27
- ## Backup / continuity
28
-
29
- In the event the primary maintainer becomes unable to maintain the
30
- project, the repository is published under the MIT license and may
31
- be forked. The `chezmoi`-based architecture means existing user
32
- installs continue to work indefinitely without upstream activity.
33
-
34
- ## Releases
35
-
36
- | Release author | Cadence | Signing |
37
- |---|---|---|
38
- | Primary maintainer | ~weekly | Signed annotated git tag + Cosign-signed SBOM + SLSA L3 provenance |
39
-
40
- See `docs/operations/HARD_AUDIT_2026.md` Part 7 for the
41
- disclosure-key generation + WKD publication record.
@@ -1,102 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
- {% raw %}
5
-
6
- # Naming Conventions & Standardization Guide
7
-
8
- This document defines the naming conventions for all files in the dotfiles repository.
9
-
10
- ---
11
-
12
- ## File Naming
13
-
14
- | Context | Convention | Example |
15
- |---|---|---|
16
- | Run scripts | `run_{type}_{NN}-{verb}-{noun}.sh.tmpl` | `run_onchange_10-install-packages.sh.tmpl` |
17
- | Shell fragments | `{NN}-{domain}-{detail}.sh.tmpl` | `90-ux-aliases.sh.tmpl` |
18
- | Alias files | `{tool}.aliases.sh` | `git.aliases.sh` |
19
- | Function files | `{name}.sh` (lowercase) | `apihealth.sh` |
20
- | Test files | `test_{domain}_{feature}.sh` | `test_aliases_git.sh` |
21
- | Scripts | `{verb}-{noun}.sh` (hyphenated) | `install-nerd-fonts.sh` |
22
-
23
- ## Run Script Numbering Tiers
24
-
25
- | Range | Category | Examples |
26
- |---|---|---|
27
- | 00-09 | Audit & pre-flight | `run_before_00-audit.sh` |
28
- | 10-19 | Package installation | `run_onchange_10-linux-packages.sh.tmpl` |
29
- | 20-29 | Config & languages | `run_onchange_20-ghostty-config.sh.tmpl` |
30
- | 25-29 | Language toolchains | `run_onchange_25-python-tools.sh.tmpl` |
31
- | 30-39 | Applications | `run_onchange_30-vscode-extensions.sh.tmpl` |
32
- | 40-49 | System defaults | `run_onchange_40-darwin-default-apps.sh.tmpl` |
33
- | 50-59 | Assets (fonts, themes) | `run_onchange_50-install-fonts.sh.tmpl` |
34
-
35
- ---
36
-
37
- ## Adding New Modules
38
-
39
- ### New app config
40
-
41
- 1. Create `dot_config/<app>/` with chezmoi-compatible filenames
42
- 2. Add entry to `dot_config/.module-manifest.json`
43
- 3. Optionally gate with feature flag in `.chezmoidata.toml` + `.chezmoiignore.tmpl`
44
-
45
- ### New alias category
46
-
47
- 1. Create `.chezmoitemplates/aliases/<category>/<name>.aliases.sh`
48
- 2. The `**/*.aliases.sh` glob auto-discovers it
49
- 3. Add to `$coreCategories` list in `90-ux-aliases.sh.tmpl` for eager loading; otherwise it loads lazily
50
-
51
- ### New function
52
-
53
- 1. Create file in `.chezmoitemplates/functions/<group>/`
54
- 2. Add to `groups.json` with the `<group>/<filename>` path
55
- 3. It auto-registers for lazy loading via `51-logic-functions-extra.sh.tmpl`
56
-
57
- ### New provisioning script
58
-
59
- 1. Create `install/provision/run_onchange_{NN}-{name}.sh.tmpl`
60
- 2. Use the numbering tiers above
61
- 3. Source `install/lib/os_detection.sh` for platform detection
62
- 4. Guard OS-specific code with `{{ if eq .chezmoi.os "darwin" }}`
63
-
64
- ---
65
-
66
- ## Directory Structure Overview
67
-
68
- ```text
69
- .chezmoitemplates/
70
- aliases/ # 48 categories, auto-discovered
71
- functions/ # Grouped by domain (api/, curl/, text/, system/, etc.)
72
- paths/ # PATH construction templates
73
- desktop/ # Desktop environment templates (dconf)
74
-
75
- dot_config/ # Flat — chezmoi constraint, no intermediate grouping
76
-
77
- install/
78
- lib/ # Shared helpers (os_detection, logging, installers)
79
- provision/ # run_onchange_* provisioning scripts
80
-
81
- scripts/ # Repo-only scripts (not deployed)
82
- dot/ # dot CLI subcommands
83
- ops/ # Operations scripts
84
- diagnostics/ # Health checks
85
- security/ # Security tools
86
- ...
87
-
88
- tests/ # Test suite (not deployed)
89
- framework/ # Test runner, assertions, mocks
90
- unit/ # Domain-organized unit tests
91
- integration/ # End-to-end tests
92
- performance/ # Benchmarks
93
-
94
- docs/ # Documentation and GitHub Pages source
95
- architecture/ # System design docs
96
- guides/ # How-to guides
97
- reference/ # Reference material
98
- security/ # Security documentation
99
- operations/ # Ops and maintenance docs
100
- ```
101
-
102
- {% endraw %}
package/docs/OPENCODE.md DELETED
@@ -1,127 +0,0 @@
1
- <!--
2
- Role: Repo-scoped instructions for the OpenCode CLI when operating
3
- inside this repository. Mirrors CLAUDE.md but targets OpenCode's
4
- conventions/discovery.
5
- Audience: OpenCode, this repo only.
6
-
7
- Distinct from:
8
- - CLAUDE.md — same intent, but for Claude Code.
9
- - dot_claude/CLAUDE.md — PERSONAL cross-project Claude Code preferences,
10
- deployed to ~/.claude/CLAUDE.md by chezmoi.
11
-
12
- Keep CLAUDE.md and OPENCODE.md in sync on repo-level conventions (layout,
13
- naming, CI, testing). If they drift, CLAUDE.md is the source of truth.
14
- -->
15
-
16
- # OPENCODE.md — AI Assistant Guidelines for Dotfiles Repository
17
-
18
- ## Chezmoi Source Directory Conventions
19
-
20
- This is a **chezmoi-managed** dotfiles repository. Files here are *source templates*,
21
- not the deployed config files. Understanding the naming conventions is critical.
22
-
23
- ### File Naming Rules
24
-
25
- | Prefix/Suffix | Meaning |
26
- |------------------|------------------------------------------------------|
27
- | `dot_` | Deployed with a leading `.` (e.g., `dot_zshrc` -> `.zshrc`) |
28
- | `executable_` | Deployed with `+x` permission |
29
- | `private_` | Deployed with `0600` permissions |
30
- | `.tmpl` | **Go template** — processed by chezmoi before deployment |
31
- | `run_onchange_` | Script that runs when the target file changes |
32
- | `encrypted_` | Age-encrypted file, decrypted at deploy time |
33
-
34
- ### Critical: Template vs Non-Template Files
35
-
36
- Many shell config files exist **only** as `.tmpl` variants. When reading files:
37
-
38
- - `dot_config/shell/00-core-paths.sh` does **NOT** exist
39
- - `dot_config/shell/00-core-paths.sh.tmpl` **DOES** exist (this is the source)
40
-
41
- **Rule**: If a `.sh` or `.zsh` file is not found, always try appending `.tmpl`.
42
-
43
- Files that are templates (use Go template syntax like `{{ .variable }}`):
44
-
45
- - `dot_config/shell/*.sh.tmpl` — all shell layer files
46
- - `dot_config/zsh/dot_zshrc.tmpl` — main zsh config
47
- - `dot_config/zsh/rc.d/*.tmpl` — zsh startup modules
48
- - `dot_gitconfig.tmpl` — git configuration
49
- - `private_dot_ssh/config.tmpl` — SSH configuration
50
- - `dot_npmrc.tmpl` — npm configuration
51
- - `private_dot_netrc.tmpl` — netrc credentials
52
-
53
- Files that are **NOT** templates (plain files, no `.tmpl` suffix):
54
-
55
- - `dot_config/shell/00-container-detect.sh` — plain shell script
56
- - `dot_config/shell/90-theme-switch.sh` — plain shell script
57
- - `dot_config/zsh/rc.d/00-alias-shims.zsh` — plain zsh
58
- - `dot_config/zsh/rc.d/05-ssh-agent.zsh` — plain zsh
59
- - Most files under `dot_config/nvim/`, `dot_config/starship.toml.tmpl`, etc.
60
-
61
- ### Reading Template Files
62
-
63
- Template files contain Go template directives like:
64
-
65
- ```
66
- {{ if eq .chezmoi.os "darwin" }}
67
- # macOS-specific config
68
- {{ end }}
69
- ```
70
-
71
- Data variables come from `.chezmoidata.toml` (profiles, features, theme, tools).
72
- User-specific values (git identity, age keys) come from `~/.config/chezmoi/chezmoi.toml`.
73
-
74
- ### Repository Layout
75
-
76
- ```
77
- .chezmoidata.toml # Feature flags, profiles, version
78
- .chezmoitemplates/ # Reusable template partials (aliases, functions, paths)
79
- dot_config/ # XDG configs (~/.config/*) — largest directory
80
- zsh/ # Zsh configuration
81
- dot_zshrc.tmpl # Main zsh orchestrator
82
- rc.d/ # Startup modules (sourced in order)
83
- shell/ # POSIX shell layers (paths, safety, aliases, functions)
84
- nvim/ # Neovim configuration (Lua)
85
- mise/ # mise version manager config
86
- starship.toml.tmpl # Starship prompt config
87
- atuin/ # Atuin shell history
88
- bat/ # bat (cat replacement) config
89
- ghostty/ # Ghostty terminal config
90
- kitty/ # Kitty terminal config
91
- alacritty/ # Alacritty terminal config
92
- dot_local/bin/ # User scripts (~/.local/bin)
93
- scripts/ # Repo-only scripts (tests, ops, security, diagnostics)
94
- docs/ # Documentation (30+ files)
95
- install.sh # Bootstrap installer
96
- ```
97
-
98
- ### Shell Startup Chain
99
-
100
- ```
101
- ~/.zshenv (dot_zshenv) → XDG vars, PATH, ZDOTDIR
102
- ~/.config/zsh/.zshrc (dot_zshrc.tmpl) → Main orchestrator
103
- → rc.d/00-alias-shims.zsh → Single-letter fallback commands
104
- → rc.d/05-ssh-agent.zsh → SSH agent + YubiKey
105
- → rc.d/10-env.zsh.tmpl → Environment variables
106
- → rc.d/20-zinit.zsh.tmpl → Plugin manager (deferred)
107
- → rc.d/30-options.zsh.tmpl → History, keybindings, completions
108
- → rc.d/40-bell.zsh.tmpl → Bell settings
109
- → rc.d/50-login-fortune.zsh.tmpl → Login greeting
110
- → shell/00-core-paths.sh.tmpl → Full PATH construction
111
- → shell/05-core-safety.sh.tmpl → Safety defaults
112
- → shell/90-ux-aliases.sh.tmpl → Core aliases (eager)
113
- → [deferred] mise, atuin, starship, zoxide, fzf
114
- → [lazy] shell/91-ux-aliases-lazy.sh.tmpl → Tool aliases
115
- ```
116
-
117
- ### Key Data Files
118
-
119
- - `.chezmoidata.toml` — All configuration: profiles, feature flags, tool settings
120
- - `dot_config/mise/conf.d/00-dotfiles.toml` — mise tool versions (node, python, go, rust, etc.); the writable `~/.config/mise/config.toml` is mise-owned and not chezmoi-managed
121
- - `dot_config/starship.toml.tmpl` — Prompt configuration
122
-
123
- ### Testing
124
-
125
- - Test framework: `tests/framework/`
126
- - Unit tests: `tests/unit/`
127
- - Tests execute bash source files directly — they do NOT use Go template syntax
package/docs/README.md DELETED
@@ -1,84 +0,0 @@
1
- ---
2
- render_with_liquid: false
3
- ---
4
-
5
- # Documentation
6
-
7
- Start here. Then go deeper.
8
-
9
- ## The Manual
10
-
11
- The complete reference is the `.dotfiles` Manual — a multi-format book covering every concept, tutorial, reference, and recipe.
12
-
13
- - Online: <https://sebastienrousseau.github.io/dotfiles/manual/> (HTML, PDF, EPUB, ASCII)
14
- - Locally: `dot manual` opens the HTML in your browser
15
- - Sources: [`docs/manual/`](manual/)
16
-
17
- Quick jumps into the Manual:
18
-
19
- - [Introduction](manual/00-introduction.md) — who, what, how
20
- - [Concepts](manual/01-concepts/) — architecture, trust model, theme engine, fleet, self-healing
21
- - [Tutorials](manual/02-tutorials/) — first install, wallpaper→theme, profiles, secrets, fleet
22
- - [Reference](manual/03-reference/) — CLI, config files, environment, templates, feature flags
23
- - [Cookbook](manual/04-cookbook/) — 40+ recipes, troubleshooting, FAQ
24
-
25
- ## Start
26
-
27
- - [Install](guides/INSTALL.md)
28
- - [Troubleshooting](guides/TROUBLESHOOTING.md)
29
- - [Support matrix](reference/SUPPORT_MATRIX.md)
30
-
31
- ## Daily use
32
-
33
- - [Utilities and `dot` CLI](reference/UTILS.md)
34
- - [Operations](operations/OPERATIONS.md)
35
- - [Trusted agent workstation](operations/TRUSTED_AGENT_WORKSTATION.md)
36
- - [Workstation attestation](operations/ATTESTATION.md)
37
- - [Interoperability](architecture/INTEROP.md)
38
- - [Agent interoperability](interop/A2A.md)
39
- - [AI integrations](AI.md)
40
-
41
- ## Security and trust
42
-
43
- - [Security overview](security/SECURITY.md)
44
- - [Security checklist](security/SECURITY_CHECKLIST.md)
45
- - [Policy bundle releases](security/POLICY_RELEASES.md)
46
- - [Secrets](security/SECRETS.md)
47
- - [Compliance](security/COMPLIANCE.md)
48
- - [Threat model](security/THREAT_MODEL.md)
49
-
50
- ## Build and maintain
51
-
52
- - [Testing](operations/TESTING.md)
53
- - [Reliability](operations/RELIABILITY.md)
54
- - [Naming conventions](NAMING_CONVENTIONS.md)
55
- - [Architecture](architecture/ARCHITECTURE.md)
56
- - [Repository layout](architecture/REPO_LAYOUT.md)
57
- - [AI cost optimization](architecture/AI_COST_OPTIMIZATION.md)
58
- - [Release pipeline](operations/RELEASE_PIPELINE.md)
59
- - [Architecture decisions](adr/README.md)
60
-
61
- ## Repository map
62
-
63
- | Path | Purpose |
64
- | :--- | :--- |
65
- | `docs/` | Guides, reference, security, and architecture |
66
- | `scripts/` | Repo-only scripts and `dot` command internals |
67
- | `install/` | Installer and provisioning helpers |
68
- | `dot_config/` | Managed user configuration files |
69
- | `dot_local/` | Managed local executables |
70
- | `examples/` | Executable examples |
71
- | `tests/` | Unit, integration, and framework coverage |
72
-
73
- ## Platform guides
74
-
75
- - [WSL2 and Nix](guides/WSL2_NIX_TROUBLESHOOTING.md)
76
- - [Neovim IDE](guides/NEOVIM_IDE_GUIDE.md)
77
-
78
- ## Reference
79
-
80
- - [Features](reference/FEATURES.md)
81
- - [Tools](reference/TOOLS.md)
82
- - [Aliases](reference/ALIASES.md)
83
- - [Roadmap](operations/ROADMAP.md)
84
- - [Version sync](operations/VERSION_SYNC.md)