@sebastienrousseau/dotfiles 0.2.481 → 0.2.500

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/CHANGELOG.md +122 -32
  2. package/LICENSE +1 -1
  3. package/README.md +211 -242
  4. package/docs/.vitepress/reports/localization-readability-audit.md +69 -0
  5. package/docs/AI.md +102 -0
  6. package/docs/COPYRIGHT +2 -2
  7. package/docs/NAMING_CONVENTIONS.md +95 -0
  8. package/docs/README.md +58 -249
  9. package/docs/adr/ADR-004-cli-architecture.md +2 -2
  10. package/docs/adr/ADR-006-shell-selection.md +2 -2
  11. package/docs/adr/ADR-007-multi-shell-parity.md +53 -0
  12. package/docs/adr/ADR-008-alias-system-architecture.md +85 -0
  13. package/docs/adr/README.md +2 -3
  14. package/docs/architecture/ARCHITECTURE.md +113 -0
  15. package/docs/architecture/INTEROP.md +36 -0
  16. package/docs/architecture/REPO_LAYOUT.md +237 -0
  17. package/docs/architecture/WALKTHROUGH.md +82 -0
  18. package/docs/architecture/fleet-deployment.md +73 -0
  19. package/docs/archive/EUXIS_2026_REVIEW.md +119 -0
  20. package/docs/archive/MILESTONE_v0.2.493.md +43 -0
  21. package/docs/{PLAN.md → archive/PLAN.md} +1 -1
  22. package/docs/guides/INSTALL.md +140 -0
  23. package/docs/{NEOVIM_IDE_GUIDE.md → guides/NEOVIM_IDE_GUIDE.md} +12 -12
  24. package/docs/guides/THEMING.md +222 -0
  25. package/docs/{TROUBLESHOOTING.md → guides/TROUBLESHOOTING.md} +36 -0
  26. package/docs/{WSL2_NIX_TROUBLESHOOTING.md → guides/WSL2_NIX_TROUBLESHOOTING.md} +8 -8
  27. package/docs/index.md +39 -0
  28. package/docs/interop/A2A.md +32 -0
  29. package/docs/manual/00-introduction.md +85 -0
  30. package/docs/manual/01-concepts/01-architecture.md +134 -0
  31. package/docs/manual/01-concepts/02-trust-model.md +178 -0
  32. package/docs/manual/01-concepts/03-theme-engine.md +182 -0
  33. package/docs/manual/01-concepts/04-fleet.md +142 -0
  34. package/docs/manual/01-concepts/05-self-healing.md +197 -0
  35. package/docs/manual/02-tutorials/01-first-install.md +192 -0
  36. package/docs/manual/02-tutorials/02-add-wallpaper.md +211 -0
  37. package/docs/manual/02-tutorials/03-create-profile.md +238 -0
  38. package/docs/manual/02-tutorials/04-encrypt-secret.md +275 -0
  39. package/docs/manual/02-tutorials/05-deploy-fleet.md +279 -0
  40. package/docs/manual/03-reference/01-dot-cli.md +413 -0
  41. package/docs/manual/03-reference/02-config-files.md +259 -0
  42. package/docs/manual/03-reference/03-environment.md +120 -0
  43. package/docs/manual/03-reference/04-templates.md +184 -0
  44. package/docs/manual/03-reference/05-feature-flags.md +118 -0
  45. package/docs/manual/04-cookbook/01-recipes.md +281 -0
  46. package/docs/manual/04-cookbook/02-troubleshooting.md +319 -0
  47. package/docs/manual/04-cookbook/03-faq.md +167 -0
  48. package/docs/manual/05-appendices/A-platform-matrix.md +97 -0
  49. package/docs/manual/05-appendices/B-security-checklist.md +78 -0
  50. package/docs/manual/05-appendices/C-glossary.md +36 -0
  51. package/docs/manual/05-appendices/D-bibliography.md +54 -0
  52. package/docs/manual/05-appendices/E-license.md +34 -0
  53. package/docs/manual/_toc.yml +58 -0
  54. package/docs/manual/command-index.md +58 -0
  55. package/docs/manual/concept-index.md +164 -0
  56. package/docs/operations/ATTESTATION.md +39 -0
  57. package/docs/operations/MAINTENANCE.md +59 -0
  58. package/docs/operations/MIGRATION.md +101 -0
  59. package/docs/operations/OPERATIONS.md +164 -0
  60. package/docs/operations/RELIABILITY.md +116 -0
  61. package/docs/{ROADMAP.md → operations/ROADMAP.md} +11 -11
  62. package/docs/operations/TESTING.md +195 -0
  63. package/docs/operations/TRACEABILITY.md +31 -0
  64. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +61 -0
  65. package/docs/operations/VERSION_SYNC.md +344 -0
  66. package/docs/{ALIASES.md → reference/ALIASES.md} +2 -6
  67. package/docs/reference/ALIASES_CHEATSHEET.md +28 -0
  68. package/docs/reference/ALIASES_DEPRECATIONS.md +9 -0
  69. package/docs/reference/FEATURES.md +62 -0
  70. package/docs/reference/FONTS.md +108 -0
  71. package/docs/reference/PROFILES.md +65 -0
  72. package/docs/{SCREENSHOTS.md → reference/SCREENSHOTS.md} +26 -25
  73. package/docs/reference/SCRIPTS.md +67 -0
  74. package/docs/reference/SUPPORT_MATRIX.md +74 -0
  75. package/docs/reference/THEMES.md +113 -0
  76. package/docs/reference/TOOLS.md +105 -0
  77. package/docs/reference/UTILS.md +151 -0
  78. package/docs/security/AI_ACT_COMPLIANCE.md +90 -0
  79. package/docs/security/AUTOMATION_SECRETS.md +22 -0
  80. package/docs/security/COMPLIANCE.md +453 -0
  81. package/docs/security/ENCRYPTION.md +52 -0
  82. package/docs/security/FMEA.md +155 -0
  83. package/docs/security/INCIDENT_RESPONSE.md +575 -0
  84. package/docs/security/KEYS.md +45 -0
  85. package/docs/security/MCP_POLICY.md +69 -0
  86. package/docs/security/POLICY_RELEASES.md +33 -0
  87. package/docs/security/README.md +24 -0
  88. package/docs/security/SECRETS.md +146 -0
  89. package/docs/security/SECURITY.md +41 -0
  90. package/docs/security/SECURITY_CHECKLIST.md +44 -0
  91. package/docs/security/SOUP_REGISTER.md +32 -0
  92. package/docs/security/THREAT_MODEL.md +120 -0
  93. package/docs/security/VERIFICATION_VALIDATION.md +224 -0
  94. package/docs/themes/README.md +3 -17
  95. package/docs/themes/VISUAL_INTEGRITY_REPORT.md +26 -0
  96. package/docs/themes/hero-shot.svg +78 -0
  97. package/dot_config/.module-manifest.json +69 -0
  98. package/dot_config/ai/identity.md +20 -0
  99. package/dot_config/ai/patterns/architect.md +14 -0
  100. package/dot_config/ai/patterns/hardener.md +13 -0
  101. package/dot_config/ai/patterns/refactor.md +13 -0
  102. package/dot_config/aider/aider.conf.yml +1 -1
  103. package/dot_config/alacritty/alacritty.toml.tmpl +41 -469
  104. package/dot_config/atuin/config.toml +18 -1
  105. package/dot_config/bat/config +16 -1
  106. package/dot_config/claude/mcp_servers.json +3 -32
  107. package/dot_config/dotfiles/agent-card.json +29 -0
  108. package/dot_config/dotfiles/agent-profiles.json +92 -0
  109. package/dot_config/dotfiles/boot/README.md +1 -1
  110. package/dot_config/dotfiles/grub/README.md +1 -1
  111. package/dot_config/dotfiles/lock/README.md +1 -1
  112. package/dot_config/dotfiles/mcp-lock.json +33 -0
  113. package/dot_config/dotfiles/mcp-policy.json +52 -0
  114. package/dot_config/dotfiles/mcp-registry.json +47 -0
  115. package/dot_config/dotfiles/model-registry.json +20 -0
  116. package/dot_config/dotfiles/policy-bundles.json +38 -0
  117. package/dot_config/dotfiles/prompt-registry.json +16 -0
  118. package/dot_config/dotfiles/versions.env +18 -0
  119. package/dot_config/environment.d/50-ssh-agent.conf +2 -0
  120. package/dot_config/environment.d/90-wayland.conf +19 -0
  121. package/dot_config/firefox/user.js.tmpl +58 -0
  122. package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +9 -0
  123. package/dot_config/fish/completions/dot.fish.tmpl +115 -0
  124. package/dot_config/fish/conf.d/000-perf-cache.fish +56 -0
  125. package/dot_config/fish/conf.d/aliases.fish.tmpl +77 -0
  126. package/dot_config/fish/conf.d/env.fish.tmpl +48 -0
  127. package/dot_config/fish/conf.d/functions.fish.tmpl +22 -0
  128. package/dot_config/fish/conf.d/init.fish.tmpl +151 -0
  129. package/dot_config/fish/config.fish.tmpl +44 -0
  130. package/dot_config/fish/fish_plugins +1 -0
  131. package/dot_config/fish/functions/_.fish +3 -0
  132. package/dot_config/fish/functions/_cached_eval.fish +58 -0
  133. package/dot_config/fish/functions/als.fish +46 -0
  134. package/dot_config/fish/functions/bg-upgrade.fish +7 -0
  135. package/dot_config/fish/functions/c.fish +3 -0
  136. package/dot_config/fish/functions/cat.fish +9 -0
  137. package/dot_config/fish/functions/d.fish +7 -0
  138. package/dot_config/fish/functions/dot.fish +34 -0
  139. package/dot_config/fish/functions/h.fish +3 -0
  140. package/dot_config/fish/functions/l.fish +7 -0
  141. package/dot_config/fish/functions/la.fish +7 -0
  142. package/dot_config/fish/functions/ll.fish +7 -0
  143. package/dot_config/fish/functions/log_error.fish +13 -0
  144. package/dot_config/fish/functions/log_info.fish +13 -0
  145. package/dot_config/fish/functions/lr.fish +7 -0
  146. package/dot_config/fish/functions/lra.fish +7 -0
  147. package/dot_config/fish/functions/ls.fish +7 -0
  148. package/dot_config/fish/functions/lt.fish +7 -0
  149. package/dot_config/fish/functions/lta.fish +7 -0
  150. package/dot_config/fish/functions/notify-run.fish +11 -0
  151. package/dot_config/fish/functions/q.fish +3 -0
  152. package/dot_config/fish/functions/silent-run.fish +7 -0
  153. package/dot_config/fish/functions/yy.fish +8 -0
  154. package/dot_config/fontconfig/fonts.conf.tmpl +13 -0
  155. package/dot_config/foot/foot.ini.tmpl +33 -0
  156. package/dot_config/fuzzel/fuzzel.ini.tmpl +18 -0
  157. package/dot_config/fzf/fzf.zsh +48 -0
  158. package/dot_config/ghostty/config.tmpl +69 -565
  159. package/dot_config/git/allowed_signers.tmpl +18 -0
  160. package/dot_config/git/commit-template +10 -0
  161. package/dot_config/gnupg/{gpg-agent.conf.tmpl → gpg-agent.conf} +3 -3
  162. package/dot_config/goose/config.yaml +2 -2
  163. package/dot_config/gtk-3.0/gtk.css.tmpl +59 -180
  164. package/dot_config/gtk-3.0/settings.ini.tmpl +5 -44
  165. package/dot_config/gtk-4.0/gtk.css.tmpl +79 -136
  166. package/dot_config/gtk-4.0/settings.ini.tmpl +5 -8
  167. package/dot_config/ipython/profile_default/ipython_config.py +19 -0
  168. package/dot_config/just/justfile +18 -0
  169. package/dot_config/kanshi/config.tmpl +22 -0
  170. package/dot_config/kitty/kitty.conf.tmpl +44 -508
  171. package/dot_config/lazygit/config.yml +18 -6
  172. package/dot_config/mako/config +47 -0
  173. package/dot_config/micro/settings.json +3 -0
  174. package/dot_config/mimeapps.list +77 -0
  175. package/dot_config/mise/config.toml +63 -5
  176. package/dot_config/mongosh/mongoshrc.js +1 -0
  177. package/dot_config/mpv/input.conf +47 -0
  178. package/dot_config/mpv/mpv.conf +47 -0
  179. package/dot_config/niri/config.kdl.tmpl +327 -0
  180. package/dot_config/nushell/aliases.nu +18 -0
  181. package/dot_config/nushell/completions.nu.tmpl +52 -0
  182. package/dot_config/nushell/config.nu.tmpl +86 -0
  183. package/dot_config/nushell/env.nu.tmpl +94 -0
  184. package/dot_config/nushell/functions.nu.tmpl +17 -0
  185. package/dot_config/nvim/init.lua +14 -0
  186. package/dot_config/nvim/lazy-lock.json +45 -14
  187. package/dot_config/nvim/lua/config/autocmds.lua +45 -1
  188. package/dot_config/nvim/lua/config/keymaps.lua +13 -8
  189. package/dot_config/nvim/lua/config/lazy.lua +22 -12
  190. package/dot_config/nvim/lua/config/options.lua +1 -0
  191. package/dot_config/nvim/lua/plugins/ai.lua +75 -0
  192. package/dot_config/nvim/lua/plugins/coding.lua +11 -29
  193. package/dot_config/nvim/lua/plugins/completion.lua +60 -0
  194. package/dot_config/nvim/lua/plugins/dap.lua +215 -4
  195. package/dot_config/nvim/lua/plugins/editor.lua +6 -10
  196. package/dot_config/nvim/lua/plugins/git.lua +1 -0
  197. package/dot_config/nvim/lua/plugins/lsp.lua +16 -81
  198. package/dot_config/nvim/lua/plugins/markdown.lua +1 -0
  199. package/dot_config/nvim/lua/plugins/rust.lua +1 -0
  200. package/dot_config/nvim/lua/plugins/sessions.lua +1 -0
  201. package/dot_config/nvim/lua/plugins/ui.lua +23 -51
  202. package/dot_config/paru/paru.conf +10 -0
  203. package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
  204. package/dot_config/pueue/pueue.yml +34 -0
  205. package/dot_config/raycast/README.md +1 -1
  206. package/dot_config/ripgrep/ripgreprc +21 -0
  207. package/dot_config/shell/00-core-paths.sh.tmpl +62 -24
  208. package/dot_config/shell/05-core-safety.sh +47 -0
  209. package/dot_config/shell/10-secrets.sh +40 -0
  210. package/dot_config/shell/40-fzf-defaults.sh.tmpl +16 -0
  211. package/dot_config/shell/40-ls-colors.sh +48 -0
  212. package/dot_config/shell/50-logic-functions-core.sh.tmpl +10 -0
  213. package/dot_config/shell/51-logic-functions-extra.sh.tmpl +64 -0
  214. package/dot_config/shell/90-ux-aliases.sh.tmpl +90 -5
  215. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +33 -2
  216. package/dot_config/shell/Brewfile.cli +8 -0
  217. package/dot_config/shell/README.md +9 -9
  218. package/dot_config/shell/als_data.txt.tmpl +65 -0
  219. package/dot_config/shell/custom/auto_ls.zsh +20 -0
  220. package/dot_config/shell/custom/context_suggest.zsh +50 -50
  221. package/dot_config/shell/custom/error_analysis.zsh +29 -29
  222. package/dot_config/starship.toml.tmpl +85 -7
  223. package/dot_config/swaylock/config +43 -0
  224. package/dot_config/systemd/user/dotfiles-maintenance.service +8 -0
  225. package/dot_config/systemd/user/dotfiles-maintenance.timer +11 -0
  226. package/dot_config/systemd/user/pueued.service +12 -0
  227. package/dot_config/systemd/user/ssh-agent.service +12 -0
  228. package/dot_config/tmux/tmux.conf.tmpl +80 -38
  229. package/dot_config/topgrade.toml.tmpl +54 -0
  230. package/dot_config/user-dirs.dirs +9 -0
  231. package/dot_config/vscode/settings.json.tmpl +9 -50
  232. package/dot_config/waybar/config.jsonc.tmpl +90 -0
  233. package/dot_config/waybar/style.css.tmpl +211 -0
  234. package/dot_config/wezterm/wezterm.lua.tmpl +31 -203
  235. package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
  236. package/dot_config/yazi/keymap.toml +67 -0
  237. package/dot_config/yazi/theme.toml +102 -0
  238. package/dot_config/zathura/zathurarc +52 -0
  239. package/dot_config/zellij/{config.kdl → config.kdl.tmpl} +1 -1
  240. package/dot_config/zsh/dot_zprofile +1 -7
  241. package/dot_config/zsh/dot_zshenv +2 -3
  242. package/dot_config/zsh/dot_zshrc.tmpl +368 -69
  243. package/dot_config/zsh/rc.d/00-alias-shims.zsh +77 -0
  244. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +17 -4
  245. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +4 -4
  246. package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
  247. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +101 -30
  248. package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +32 -0
  249. package/dot_local/bin/__pycache__/executable_dot-load-benchmark-ptycpython-312.pyc +0 -0
  250. package/dot_local/bin/executable_ai-update +195 -0
  251. package/dot_local/bin/executable_ai_core +113 -91
  252. package/dot_local/bin/executable_antigravity +11 -0
  253. package/dot_local/bin/executable_b64 +61 -36
  254. package/dot_local/bin/executable_bm +77 -0
  255. package/dot_local/bin/executable_cb +39 -0
  256. package/dot_local/bin/executable_dot +543 -132
  257. package/dot_local/bin/executable_dot-ai +36 -0
  258. package/dot_local/bin/executable_dot-bootstrap +77 -0
  259. package/dot_local/bin/executable_dot-launch-or-focus +52 -0
  260. package/dot_local/bin/executable_dot-load-benchmark +31 -0
  261. package/dot_local/bin/executable_dot-load-benchmark-pty +77 -0
  262. package/dot_local/bin/executable_dot-theme-sync +952 -0
  263. package/dot_local/bin/executable_dot_completion +2 -0
  264. package/dot_local/bin/executable_dtags +28 -0
  265. package/dot_local/bin/executable_epoch +43 -38
  266. package/dot_local/bin/executable_extract +32 -99
  267. package/dot_local/bin/executable_gbd +52 -0
  268. package/dot_local/bin/executable_gd +42 -0
  269. package/dot_local/bin/executable_git-ai-commit +35 -20
  270. package/dot_local/bin/executable_git-ai-diff +33 -18
  271. package/dot_local/bin/executable_gl +101 -0
  272. package/dot_local/bin/executable_hash +56 -18
  273. package/dot_local/bin/executable_hashsum +160 -0
  274. package/dot_local/bin/executable_hex +44 -8
  275. package/dot_local/bin/executable_jsonv +34 -10
  276. package/dot_local/bin/executable_jwt +22 -6
  277. package/dot_local/bin/executable_kill-port +18 -2
  278. package/dot_local/bin/executable_lorem +21 -6
  279. package/dot_local/bin/executable_mkscript +35 -0
  280. package/dot_local/bin/executable_monitor +56 -0
  281. package/dot_local/bin/{executable_ip → executable_myip} +16 -2
  282. package/dot_local/bin/executable_notify +22 -0
  283. package/dot_local/bin/executable_open +36 -0
  284. package/dot_local/bin/executable_pw +27 -0
  285. package/dot_local/bin/executable_rec-start +46 -0
  286. package/dot_local/bin/executable_rec-stop +35 -0
  287. package/dot_local/bin/executable_regex +49 -13
  288. package/dot_local/bin/executable_start-niri +8 -0
  289. package/dot_local/bin/executable_tmux-sessionizer +276 -149
  290. package/dot_local/bin/executable_tour +112 -74
  291. package/dot_local/bin/executable_up +21 -0
  292. package/dot_local/bin/executable_update +45 -11
  293. package/dot_local/bin/executable_uuid +37 -7
  294. package/dot_local/bin/executable_win +32 -0
  295. package/dot_local/bin/executable_yamlv +25 -7
  296. package/dot_local/share/bash-completion/completions/dot +62 -44
  297. package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
  298. package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
  299. package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
  300. package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
  301. package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
  302. package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
  303. package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
  304. package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
  305. package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
  306. package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
  307. package/dot_local/share/man/man1/dot.1 +149 -0
  308. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +64 -0
  309. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +18 -0
  310. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +13 -0
  311. package/dot_local/share/wayland-sessions/niri.desktop.tmpl +6 -0
  312. package/dot_local/share/zsh/completions/_dot +283 -0
  313. package/install.sh +297 -210
  314. package/package.json +17 -5
  315. package/scripts/ci/check-copyright-headers.sh +96 -0
  316. package/scripts/ci/guard-gitleaks-checkout.sh +57 -0
  317. package/scripts/ci/install-chezmoi-verified.sh +64 -0
  318. package/scripts/ci/validate-ci-config.sh +41 -39
  319. package/scripts/demo/record.sh +3 -2
  320. package/scripts/diagnostics/a2a-conformance.sh +162 -0
  321. package/scripts/diagnostics/alias-governance.sh +137 -0
  322. package/scripts/diagnostics/aliases-cheatsheet.sh +73 -0
  323. package/scripts/diagnostics/aliases-manifest.sh +31 -0
  324. package/scripts/diagnostics/benchmark.sh +209 -29
  325. package/scripts/diagnostics/conflicts.sh +72 -0
  326. package/scripts/diagnostics/doctor-unified.sh +38 -0
  327. package/scripts/diagnostics/doctor.sh +491 -65
  328. package/scripts/diagnostics/drift-dashboard.sh +17 -6
  329. package/scripts/diagnostics/health.sh +351 -110
  330. package/scripts/diagnostics/history-analysis.sh +12 -4
  331. package/scripts/diagnostics/mcp-doctor.sh +575 -0
  332. package/scripts/diagnostics/perf.sh +225 -0
  333. package/scripts/diagnostics/scorecard.sh +118 -0
  334. package/scripts/diagnostics/secret-governance.sh +58 -0
  335. package/scripts/diagnostics/security-score.sh +139 -93
  336. package/scripts/diagnostics/smoke-test.sh +87 -0
  337. package/scripts/diagnostics/snapshot.sh +89 -0
  338. package/scripts/diagnostics/verify.sh +107 -0
  339. package/scripts/diagnostics/verify_state.sh +2 -2
  340. package/scripts/diagnostics/version-locks.sh +79 -0
  341. package/scripts/diagnostics/workstation-attestation.sh +181 -0
  342. package/scripts/docs/build-manual.sh +883 -0
  343. package/scripts/docs/check-manual.sh +213 -0
  344. package/scripts/dot/commands/agent.sh +465 -0
  345. package/scripts/dot/commands/ai.sh +416 -0
  346. package/scripts/dot/commands/aliases.sh +250 -0
  347. package/scripts/dot/commands/appearance.sh +21 -4
  348. package/scripts/dot/commands/core.sh +59 -4
  349. package/scripts/dot/commands/diagnostics.sh +132 -3
  350. package/scripts/dot/commands/fleet.sh +399 -0
  351. package/scripts/dot/commands/lint.sh +177 -0
  352. package/scripts/dot/commands/manual.sh +168 -0
  353. package/scripts/dot/commands/meta.sh +148 -17
  354. package/scripts/dot/commands/patterns.sh +54 -0
  355. package/scripts/dot/commands/restore.sh +57 -35
  356. package/scripts/dot/commands/secrets.sh +151 -9
  357. package/scripts/dot/commands/security.sh +3 -0
  358. package/scripts/dot/commands/tools.sh +268 -27
  359. package/scripts/dot/data/alias-deprecations.tsv +2 -0
  360. package/scripts/dot/lib/bento.sh +49 -0
  361. package/scripts/dot/lib/log.sh +194 -0
  362. package/scripts/dot/lib/platform.sh +98 -0
  363. package/scripts/dot/lib/ui.sh +507 -0
  364. package/scripts/dot/lib/utils.sh +318 -18
  365. package/scripts/fonts/install-nerd-fonts.sh +19 -10
  366. package/scripts/fonts/patch-fonts.sh +1 -0
  367. package/scripts/git-hooks/install.sh +11 -0
  368. package/scripts/git-hooks/pre-commit +12 -0
  369. package/scripts/git-hooks/pre-commit-audit.sh +145 -0
  370. package/scripts/git-hooks/pre-push +29 -0
  371. package/scripts/git-hooks/prepare-commit-msg +29 -0
  372. package/scripts/lib/secrets_provider.sh +158 -0
  373. package/scripts/maintenance/check-updates.sh +131 -0
  374. package/scripts/ops/ai-setup.sh +55 -0
  375. package/scripts/ops/bundle.sh +77 -0
  376. package/scripts/ops/chaos.sh +49 -0
  377. package/scripts/ops/chezmoi-apply.sh +245 -17
  378. package/scripts/ops/chezmoi-diff.sh +1 -0
  379. package/scripts/ops/chezmoi-remove.sh +2 -0
  380. package/scripts/ops/chezmoi-update.sh +34 -2
  381. package/scripts/ops/heal-chezmoi.sh +51 -0
  382. package/scripts/ops/heal-system.sh +128 -0
  383. package/scripts/ops/heal-tools.sh +340 -0
  384. package/scripts/ops/heal.sh +98 -342
  385. package/scripts/ops/post-apply-repair.sh +106 -0
  386. package/scripts/ops/prewarm.sh +127 -0
  387. package/scripts/ops/release.sh +252 -0
  388. package/scripts/ops/rollback.sh +86 -28
  389. package/scripts/ops/setup.sh +137 -0
  390. package/scripts/ops/teleport.sh +2 -1
  391. package/scripts/qa/coverage-baseline.sh +60 -0
  392. package/scripts/qa/docs-coverage.sh +111 -0
  393. package/scripts/qa/reliability-audit.sh +138 -0
  394. package/scripts/qa/traceability-coverage.sh +116 -0
  395. package/scripts/qa/validate-examples.sh +26 -0
  396. package/scripts/qa/wsl-contract.sh +11 -0
  397. package/scripts/release/package-policy-bundles.sh +125 -0
  398. package/scripts/secrets/age-init.sh +1 -0
  399. package/scripts/secrets/create-secrets-file.sh +1 -0
  400. package/scripts/secrets/encrypt-ssh-key.sh +1 -0
  401. package/scripts/security/backup.sh +44 -4
  402. package/scripts/security/dns-doh.sh +36 -14
  403. package/scripts/security/encryption-check.sh +27 -12
  404. package/scripts/security/enforce-policies.sh +11 -16
  405. package/scripts/security/firewall.sh +76 -20
  406. package/scripts/security/lock-configs.sh +2 -2
  407. package/scripts/security/lock-screen.sh +40 -18
  408. package/scripts/security/manage-secrets.sh +42 -29
  409. package/scripts/security/ssh-cert.sh +203 -0
  410. package/scripts/security/telemetry-kill.sh +40 -18
  411. package/scripts/security/usb-safety.sh +37 -15
  412. package/scripts/theme/apply-gnome-theme.sh +87 -56
  413. package/scripts/theme/extract-theme.py +677 -0
  414. package/scripts/theme/install-boot-logo.sh +1 -0
  415. package/scripts/theme/install-catppuccin-themes.sh +57 -33
  416. package/scripts/theme/install-cursors.sh +1 -0
  417. package/scripts/theme/install-file-icons.sh +1 -0
  418. package/scripts/theme/install-grub-theme.sh +11 -1
  419. package/scripts/theme/install-lock-icon.sh +1 -0
  420. package/scripts/theme/merge-wallpaper.sh +141 -0
  421. package/scripts/theme/rebuild-themes.sh +309 -0
  422. package/scripts/theme/switch.sh +308 -137
  423. package/scripts/theme/wallpaper-rotate.sh +66 -12
  424. package/scripts/theme/wallpaper-sync.sh +386 -31
  425. package/scripts/tools/cmatrix.sh +1 -0
  426. package/scripts/tools/detect-collisions.py +1 -1
  427. package/scripts/tools/emoji-picker.sh +4 -1
  428. package/scripts/tools/figlet-banner.sh +1 -0
  429. package/scripts/tools/log-rotate.sh +2 -1
  430. package/scripts/tools/lolcat-wrap.sh +1 -0
  431. package/scripts/tools/pipes.sh +1 -0
  432. package/scripts/tuning/linux.sh +23 -13
  433. package/scripts/tuning/macos.sh +13 -4
  434. package/scripts/uninstall.sh +85 -0
  435. package/scripts/version-sync.sh +487 -0
  436. package/templates/chezmoi-data/geekom-a9.toml.example +21 -0
  437. package/templates/chezmoi-data/mac-m1.toml.example +16 -0
  438. package/templates/chezmoi-data/mac-t2-linux.toml.example +21 -0
  439. package/templates/chezmoi-data/surface-pro-7p.toml.example +21 -0
  440. package/templates/projects/go/.github/workflows/ci.yml +31 -0
  441. package/templates/projects/go/README.md +1 -1
  442. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +1 -0
  443. package/templates/projects/go/go.sum +0 -0
  444. package/templates/projects/molecule/README.md +1 -1
  445. package/templates/projects/node/.github/workflows/ci.yml +30 -0
  446. package/templates/projects/node/README.md +1 -1
  447. package/templates/projects/node/package-lock.json +12 -0
  448. package/templates/projects/node/src/index.js +1 -0
  449. package/templates/projects/packer/README.md +1 -1
  450. package/templates/projects/python/.github/workflows/ci.yml +34 -0
  451. package/templates/projects/python/README.md +1 -1
  452. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
  453. package/templates/projects/python/tests/test_basic.py +1 -0
  454. package/docs/ARCHITECTURE.md +0 -229
  455. package/docs/COMPLIANCE.md +0 -47
  456. package/docs/FEATURES.md +0 -166
  457. package/docs/FONTS.md +0 -147
  458. package/docs/INSTALL.md +0 -119
  459. package/docs/KEYS.md +0 -40
  460. package/docs/OPERATIONS.md +0 -130
  461. package/docs/PR_DESCRIPTION.md +0 -149
  462. package/docs/SECRETS.md +0 -76
  463. package/docs/SECURITY.md +0 -30
  464. package/docs/SECURITY_CHECKLIST.md +0 -25
  465. package/docs/TASK.md +0 -99
  466. package/docs/TESTING.md +0 -190
  467. package/docs/TOOLS.md +0 -146
  468. package/docs/UTILS.md +0 -105
  469. package/docs/WALKTHROUGH.md +0 -165
  470. package/dot_config/clippy.toml +0 -55
  471. package/dot_config/dotfiles/versions.env.tmpl +0 -19
  472. package/dot_config/firefox/user.js +0 -8
  473. package/dot_config/git/config.tmpl +0 -77
  474. package/dot_config/go/aliases.sh +0 -61
  475. package/dot_config/go/env.sh +0 -24
  476. package/dot_config/ice/README.md +0 -13
  477. package/dot_config/ipython/profile_default/ipython_config.py.tmpl +0 -5
  478. package/dot_config/lsd/config.yaml +0 -19
  479. package/dot_config/nvim/snippets/all.lua +0 -9
  480. package/dot_config/nvim/snippets/python.lua +0 -16
  481. package/dot_config/shell/00-container-detect.sh +0 -53
  482. package/dot_config/shell/05-core-safety.sh.tmpl +0 -13
  483. package/dot_config/shell/40-ls-colors.sh.tmpl +0 -31
  484. package/dot_config/shell/90-theme-switch.sh +0 -70
  485. package/dot_config/topgrade/topgrade.toml.tmpl +0 -42
  486. package/dot_config/waybar/style.css +0 -8
  487. package/dot_config/zsh/rc.d/20-zinit.zsh.tmpl +0 -22
  488. package/dot_local/bin/executable_zig-install +0 -89
  489. package/dot_local/bin/voice_ops +0 -7
  490. package/scripts/ops/health-check.sh +0 -380
  491. package/scripts/tests/README.md +0 -241
  492. package/scripts/tests/benchmark.sh +0 -91
  493. package/scripts/tests/framework/assertions.sh +0 -283
  494. package/scripts/tests/framework/mocks.sh +0 -201
  495. package/scripts/tests/framework/test_runner.sh +0 -189
  496. package/scripts/tests/integration/test_install.sh +0 -237
  497. package/scripts/tests/performance/benchmark_runner.sh +0 -156
  498. package/scripts/tests/performance/regression_check.sh +0 -73
  499. package/scripts/tests/performance/stress_test.sh +0 -65
  500. package/scripts/tests/test-aliases.sh +0 -25
  501. package/scripts/tests/test-docker.sh +0 -48
  502. package/scripts/tests/unit/test_ai_aliases.sh +0 -158
  503. package/scripts/tests/unit/test_ai_cli_checks.sh +0 -47
  504. package/scripts/tests/unit/test_backup.sh +0 -227
  505. package/scripts/tests/unit/test_case_functions.sh +0 -238
  506. package/scripts/tests/unit/test_cd_aliases.sh +0 -367
  507. package/scripts/tests/unit/test_dot_cli.sh +0 -217
  508. package/scripts/tests/unit/test_encode64.sh +0 -67
  509. package/scripts/tests/unit/test_environment.sh +0 -78
  510. package/scripts/tests/unit/test_extract.sh +0 -163
  511. package/scripts/tests/unit/test_framework_edge_cases.sh +0 -113
  512. package/scripts/tests/unit/test_genpass.sh +0 -298
  513. package/scripts/tests/unit/test_install_edge_cases.sh +0 -167
  514. package/scripts/tests/unit/test_installers.sh +0 -172
  515. package/scripts/tests/unit/test_keygen.sh +0 -68
  516. package/scripts/tests/unit/test_logging.sh +0 -96
  517. package/scripts/tests/unit/test_os_detection_comprehensive.sh +0 -388
  518. package/scripts/tests/unit/test_package_managers_comprehensive.sh +0 -321
  519. package/scripts/tests/unit/test_prependpath.sh +0 -66
  520. package/scripts/tests/unit/test_prependpath_refactored.sh +0 -89
  521. package/scripts/tests/unit/test_rd.sh +0 -230
  522. package/scripts/tests/unit/test_security_fixes.sh +0 -130
  523. package/scripts/tests/unit/test_security_scripts.sh +0 -87
  524. package/scripts/tests/unit/test_template_validation.sh +0 -238
  525. package/scripts/tests/unit/test_utility_functions.sh +0 -144
  526. package/scripts/tests/unit/test_wave1_alias_split.sh +0 -132
  527. package/scripts/tests/unit/test_wave1_ci_pinning.sh +0 -61
  528. package/scripts/tests/unit/test_wave1_gitleaks_config.sh +0 -52
  529. package/scripts/tests/unit/test_wave1_heal_fixes.sh +0 -97
  530. package/scripts/tests/unit/test_wave1_install_gpg.sh +0 -35
  531. package/scripts/tests/unit/test_wave1_zshenv_path.sh +0 -89
  532. package/scripts/tests/unit/test_wave1_zshrc_lazy_hook.sh +0 -115
  533. package/scripts/tests/unit/test_wave2_dot_new_guard.sh +0 -75
  534. package/scripts/tests/unit/test_zipf.sh +0 -76
  535. /package/docs/{LEGACY_ROADMAP.md → archive/LEGACY_ROADMAP.md} +0 -0
  536. /package/docs/{REPO_AUDIT.md → archive/REPO_AUDIT.md} +0 -0
  537. /package/docs/{KEY_ROTATION.md → security/KEY_ROTATION.md} +0 -0
  538. /package/dot_config/ansible/{ansible.cfg.tmpl → ansible.cfg} +0 -0
  539. /package/dot_config/docker/{config.json.tmpl → config.json} +0 -0
  540. /package/dot_config/k9s/{config.yaml.tmpl → config.yaml} +0 -0
  541. /package/dot_config/pypoetry/{config.toml.tmpl → config.toml} +0 -0
  542. /package/dot_config/{pyrightconfig.json.tmpl → pyrightconfig.json} +0 -0
  543. /package/dot_config/tflint/{tflint.hcl.tmpl → tflint.hcl} +0 -0
  544. /package/dot_config/yarn/{yarnrc.yml.tmpl → yarnrc.yml} +0 -0
  545. /package/dot_config/zsh/rc.d/{40-bell.zsh.tmpl → 40-bell.zsh} +0 -0
  546. /package/dot_config/zsh/rc.d/{50-login-fortune.zsh.tmpl → 50-login-fortune.zsh} +0 -0
@@ -0,0 +1,92 @@
1
+ {
2
+ "schemaVersion": "2026.03",
3
+ "defaultProfile": "ask",
4
+ "rbac": {
5
+ "roles": {
6
+ "viewer": {
7
+ "description": "Read-only access to configuration and status.",
8
+ "allowedProfiles": ["ask"],
9
+ "permissions": ["read", "status", "audit"]
10
+ },
11
+ "developer": {
12
+ "description": "Standard development workflow with bounded writes.",
13
+ "inherits": "viewer",
14
+ "allowedProfiles": ["ask", "plan", "apply"],
15
+ "permissions": ["read", "write", "status", "audit", "execute"]
16
+ },
17
+ "admin": {
18
+ "description": "Full access including fleet management and profile switching.",
19
+ "inherits": "developer",
20
+ "allowedProfiles": ["ask", "plan", "apply", "audit"],
21
+ "permissions": ["read", "write", "status", "audit", "execute", "fleet", "configure"]
22
+ }
23
+ },
24
+ "defaultRole": "developer",
25
+ "enforcement": "advisory"
26
+ },
27
+ "delegation": {
28
+ "enabled": false,
29
+ "maxDepth": 2,
30
+ "allowedDelegates": {
31
+ "security-reviewer": {
32
+ "profile": "audit",
33
+ "permissions": ["read", "audit"],
34
+ "maxSteps": 4,
35
+ "timeout": 120
36
+ },
37
+ "test-runner": {
38
+ "profile": "apply",
39
+ "permissions": ["read", "execute"],
40
+ "maxSteps": 6,
41
+ "timeout": 300
42
+ },
43
+ "lint-checker": {
44
+ "profile": "ask",
45
+ "permissions": ["read"],
46
+ "maxSteps": 2,
47
+ "timeout": 60
48
+ }
49
+ },
50
+ "securityPolicy": {
51
+ "requireParentApproval": true,
52
+ "logAllDelegations": true,
53
+ "maxConcurrentDelegates": 3
54
+ }
55
+ },
56
+ "profiles": {
57
+ "ask": {
58
+ "description": "Read-only guidance with no unattended changes.",
59
+ "approval": "manual",
60
+ "filesystem": "read-only",
61
+ "network": "off",
62
+ "mcpProfile": "strict-local",
63
+ "maxSteps": 1
64
+ },
65
+ "plan": {
66
+ "description": "Structured planning with local inspection and no writes.",
67
+ "approval": "manual",
68
+ "filesystem": "read-only",
69
+ "network": "limited",
70
+ "mcpProfile": "strict-local",
71
+ "maxSteps": 3
72
+ },
73
+ "apply": {
74
+ "description": "Bounded implementation with explicit approval and local policy guards.",
75
+ "approval": "on-request",
76
+ "filesystem": "workspace-write",
77
+ "network": "limited",
78
+ "mcpProfile": "strict-local",
79
+ "maxSteps": 6,
80
+ "canDelegate": true
81
+ },
82
+ "audit": {
83
+ "description": "Deep verification, scoring, and compliance analysis.",
84
+ "approval": "manual",
85
+ "filesystem": "read-only",
86
+ "network": "limited",
87
+ "mcpProfile": "enterprise-remote",
88
+ "maxSteps": 8,
89
+ "canDelegate": true
90
+ }
91
+ }
92
+ }
@@ -8,4 +8,4 @@ Run:
8
8
 
9
9
  ---
10
10
 
11
- Made with ❤️ by [Sebastien Rousseau](https://github.com/sebastienrousseau)
11
+ Made with ❤️ by [Sebastien Rousseau](https://sebastienrousseau.com)
@@ -8,4 +8,4 @@ Run:
8
8
 
9
9
  ---
10
10
 
11
- Made with ❤️ by [Sebastien Rousseau](https://github.com/sebastienrousseau)
11
+ Made with ❤️ by [Sebastien Rousseau](https://sebastienrousseau.com)
@@ -8,4 +8,4 @@ Example:
8
8
 
9
9
  ---
10
10
 
11
- Made with ❤️ by [Sebastien Rousseau](https://github.com/sebastienrousseau)
11
+ Made with ❤️ by [Sebastien Rousseau](https://sebastienrousseau.com)
@@ -0,0 +1,33 @@
1
+ {
2
+ "lockVersion": "2026.03",
3
+ "profile": "strict-local",
4
+ "packages": {
5
+ "git": {
6
+ "command": "npx",
7
+ "package": "mcp-server-git@2026.3.0",
8
+ "source": "https://github.com/modelcontextprotocol/servers/releases/tag/2025.1.14",
9
+ "verification": {
10
+ "method": "tracked version pin",
11
+ "status": "approved"
12
+ }
13
+ },
14
+ "memory": {
15
+ "command": "npx",
16
+ "package": "@modelcontextprotocol/server-memory@2026.3.0",
17
+ "source": "https://www.npmjs.com/package/@modelcontextprotocol/server-memory",
18
+ "verification": {
19
+ "method": "tracked version pin",
20
+ "status": "approved"
21
+ }
22
+ },
23
+ "sqlite": {
24
+ "command": "npx",
25
+ "package": "mcp-server-sqlite@2026.3.0",
26
+ "source": "https://github.com/modelcontextprotocol/servers/releases/tag/2025.1.14",
27
+ "verification": {
28
+ "method": "tracked version pin",
29
+ "status": "approved"
30
+ }
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "policyVersion": "2026.03",
3
+ "defaultProfile": "strict-local",
4
+ "profiles": {
5
+ "strict-local": {
6
+ "description": "Local-first MCP policy for regulated and high-trust environments.",
7
+ "allowedLaunchers": ["npx", "node", "uvx"],
8
+ "trustedTransports": ["stdio", "http"],
9
+ "authProfiles": ["none", "env-token"],
10
+ "blockedFilesystemRoots": ["/", "/home", "/Users"],
11
+ "blockedArgPatterns": ["^--allow-.*", "^--unsafe$", "^\\*$"],
12
+ "warnOnUnpinnedNpx": true,
13
+ "requireApprovedPackageLock": true,
14
+ "requireRegistryEntry": true,
15
+ "requireHttpsForHttpTransports": true,
16
+ "requireOauthForHttpTransports": true,
17
+ "requiredEnvByServer": {
18
+ "github": ["GITHUB_TOKEN"],
19
+ "brave-search": ["BRAVE_API_KEY"]
20
+ },
21
+ "forbidNetworkServersByDefault": [
22
+ "github",
23
+ "brave-search",
24
+ "fetch",
25
+ "puppeteer",
26
+ "filesystem"
27
+ ]
28
+ },
29
+ "enterprise-remote": {
30
+ "description": "Enterprise-ready MCP policy with registry-backed remote transports.",
31
+ "allowedLaunchers": ["npx", "node", "uvx"],
32
+ "trustedTransports": ["stdio", "http", "streamable-http"],
33
+ "authProfiles": ["none", "env-token", "oauth2", "sso"],
34
+ "streamableHttpConfig": {
35
+ "sessionTimeout": 3600,
36
+ "maxConcurrentSessions": 4
37
+ },
38
+ "blockedFilesystemRoots": ["/", "/home", "/Users"],
39
+ "blockedArgPatterns": ["^--allow-.*", "^--unsafe$", "^\\*$"],
40
+ "warnOnUnpinnedNpx": true,
41
+ "requireApprovedPackageLock": true,
42
+ "requireRegistryEntry": true,
43
+ "requireHttpsForHttpTransports": true,
44
+ "requireOauthForHttpTransports": true,
45
+ "requiredEnvByServer": {
46
+ "github": ["GITHUB_TOKEN"],
47
+ "brave-search": ["BRAVE_API_KEY"]
48
+ },
49
+ "forbidNetworkServersByDefault": []
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "registryVersion": "2026.03",
3
+ "servers": {
4
+ "git": {
5
+ "transport": "stdio",
6
+ "launcher": "npx",
7
+ "package": "mcp-server-git@2026.3.0",
8
+ "auth": "env",
9
+ "authProfile": "env-token",
10
+ "scope": "repo-local",
11
+ "verification": "pinned-package"
12
+ },
13
+ "memory": {
14
+ "transport": "stdio",
15
+ "launcher": "npx",
16
+ "package": "@modelcontextprotocol/server-memory@2026.3.0",
17
+ "auth": "env",
18
+ "authProfile": "none",
19
+ "scope": "workspace-local",
20
+ "verification": "pinned-package"
21
+ },
22
+ "sqlite": {
23
+ "transport": "stdio",
24
+ "launcher": "npx",
25
+ "package": "mcp-server-sqlite@2026.3.0",
26
+ "auth": "env",
27
+ "authProfile": "none",
28
+ "scope": "workspace-local",
29
+ "verification": "pinned-package"
30
+ },
31
+ "example-remote": {
32
+ "transport": "streamable-http",
33
+ "url": "https://mcp.example.com/v1",
34
+ "headers": { "X-Org": "dotfiles" },
35
+ "auth": "oauth2",
36
+ "authProfile": "oauth2",
37
+ "authConfig": {
38
+ "provider": "https://auth.example.com",
39
+ "clientId": "${MCP_OAUTH_CLIENT_ID}",
40
+ "scopes": ["mcp:read", "mcp:write"]
41
+ },
42
+ "scope": "enterprise",
43
+ "verification": "registry-approved",
44
+ "enabled": false
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "schemaVersion": "2026.03",
3
+ "defaultModel": "local-default",
4
+ "models": {
5
+ "local-default": {
6
+ "provider": "local",
7
+ "family": "workstation",
8
+ "intendedUse": "Local-first CLI assistance and bounded automation",
9
+ "changeControl": "signed-commit",
10
+ "riskLevel": "moderate"
11
+ },
12
+ "enterprise-audit": {
13
+ "provider": "remote",
14
+ "family": "audit",
15
+ "intendedUse": "Deep analysis with governed remote access",
16
+ "changeControl": "signed-commit-and-policy-review",
17
+ "riskLevel": "high"
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "schemaVersion": "2026.03",
3
+ "defaultBundle": "developer",
4
+ "bundles": {
5
+ "developer": {
6
+ "description": "Local development with bounded agent execution and strict-local MCP.",
7
+ "agentProfile": "apply",
8
+ "mcpProfile": "strict-local",
9
+ "signingRequired": true,
10
+ "attestationRequired": true,
11
+ "networkPolicy": "limited"
12
+ },
13
+ "offline": {
14
+ "description": "Disconnected local work with no remote MCP transport and no networked agents.",
15
+ "agentProfile": "ask",
16
+ "mcpProfile": "strict-local",
17
+ "signingRequired": true,
18
+ "attestationRequired": true,
19
+ "networkPolicy": "off"
20
+ },
21
+ "regulated": {
22
+ "description": "High-trust profile for controlled environments with explicit approvals and evidence export.",
23
+ "agentProfile": "audit",
24
+ "mcpProfile": "strict-local",
25
+ "signingRequired": true,
26
+ "attestationRequired": true,
27
+ "networkPolicy": "limited"
28
+ },
29
+ "enterprise": {
30
+ "description": "Enterprise remote profile with registry-backed MCP and governed audit posture.",
31
+ "agentProfile": "audit",
32
+ "mcpProfile": "enterprise-remote",
33
+ "signingRequired": true,
34
+ "attestationRequired": true,
35
+ "networkPolicy": "limited"
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "schemaVersion": "2026.03",
3
+ "defaultPromptSet": "core",
4
+ "promptSets": {
5
+ "core": {
6
+ "description": "General workstation guidance and bounded implementation prompts.",
7
+ "changeControl": "signed-commit",
8
+ "reviewRequired": true
9
+ },
10
+ "regulated-audit": {
11
+ "description": "Compliance and high-trust audit prompts with stricter review expectations.",
12
+ "changeControl": "signed-commit-and-policy-review",
13
+ "reviewRequired": true
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,18 @@
1
+ # Version pins for provisioned tools (Linux).
2
+ # Override by editing this file or exporting env vars before running.
3
+ STARSHIP_TAG="v1.24.2"
4
+ ZOXIDE_TAG="0.9.9"
5
+ NEOVIM_TAG="v0.11.6"
6
+ LAZYGIT_TAG="v0.60.0"
7
+ ATUIN_TAG="v18.13.3"
8
+ ZELLIJ_TAG="v0.43.1"
9
+ UV_TAG="0.10.12"
10
+
11
+ # Update & runtime tooling
12
+ TOPGRADE_TAG="v17.1.0"
13
+ MISE_TAG="v2026.3.8"
14
+ YAZI_TAG="v26.1.22"
15
+
16
+ # AI CLI Tools
17
+ MODS_TAG="v1.8.1"
18
+
@@ -0,0 +1,2 @@
1
+ # SSH agent — point all sessions at the systemd-managed agent socket
2
+ SSH_AUTH_SOCK=${XDG_RUNTIME_DIR}/ssh-agent.socket
@@ -0,0 +1,19 @@
1
+ # Wayland session environment variables
2
+ ELECTRON_OZONE_PLATFORM_HINT=auto
3
+ TERMINAL=ghostty
4
+
5
+ # Qt Wayland support
6
+ QT_QPA_PLATFORM=wayland
7
+ QT_QPA_PLATFORMTHEME=gtk3
8
+
9
+ # Firefox native Wayland
10
+ MOZ_ENABLE_WAYLAND=1
11
+
12
+ # SDL Wayland support
13
+ SDL_VIDEODRIVER=wayland
14
+
15
+ # Java AWT fix (JetBrains IDEs, Ghidra)
16
+ _JAVA_AWT_WM_NONREPARENTING=1
17
+
18
+ # DMS icon theme
19
+ QS_ICON_THEME=Papirus-Dark
@@ -0,0 +1,58 @@
1
+ // Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ // Firefox privacy and performance hardening
3
+ // Apply by symlinking to ~/.mozilla/firefox/<profile>/user.js
4
+
5
+ /* global user_pref */
6
+
7
+ {{- $t := index .themes .theme -}}
8
+
9
+ // Disable telemetry
10
+ user_pref("toolkit.telemetry.enabled", false);
11
+ user_pref("toolkit.telemetry.unified", false);
12
+ user_pref("toolkit.telemetry.archive.enabled", false);
13
+ user_pref("datareporting.healthreport.uploadEnabled", false);
14
+ user_pref("datareporting.policy.dataSubmissionEnabled", false);
15
+ user_pref("browser.ping-centre.telemetry", false);
16
+ user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
17
+ user_pref("browser.newtabpage.activity-stream.telemetry", false);
18
+
19
+ // Disable Pocket
20
+ user_pref("extensions.pocket.enabled", false);
21
+
22
+ // Disable prefetching
23
+ user_pref("network.prefetch-next", false);
24
+ user_pref("network.dns.disablePrefetch", true);
25
+ user_pref("network.predictor.enabled", false);
26
+
27
+ // Enable HTTPS-Only
28
+ user_pref("dom.security.https_only_mode", true);
29
+ user_pref("dom.security.https_only_mode_ever_enabled", true);
30
+
31
+ // Disable form autofill
32
+ user_pref("extensions.formautofill.addresses.enabled", false);
33
+ user_pref("extensions.formautofill.creditCards.enabled", false);
34
+
35
+ // Enhanced tracking protection
36
+ user_pref("browser.contentblocking.category", "strict");
37
+ user_pref("privacy.trackingprotection.enabled", true);
38
+ user_pref("privacy.trackingprotection.socialtracking.enabled", true);
39
+
40
+ // DNS over HTTPS
41
+ user_pref("network.trr.mode", 2);
42
+ user_pref("network.trr.uri", "https://mozilla.cloudflare-dns.com/dns-query");
43
+
44
+ // Disable WebRTC IP leak
45
+ user_pref("media.peerconnection.ice.default_address_only", true);
46
+
47
+ // Performance
48
+ user_pref("gfx.webrender.all", true);
49
+ user_pref("layers.acceleration.force-enabled", true);
50
+ user_pref("layout.css.backdrop-filter.enabled", true);
51
+
52
+ // Theme coordination
53
+ // 0 = dark, 1 = light
54
+ user_pref("layout.css.prefers-color-scheme.content-override", {{ if eq $t.mode "light" }}1{{ else }}0{{ end }});
55
+
56
+ // UI
57
+ user_pref("browser.uidensity", 1);
58
+ user_pref("browser.compactmode.show", true);
@@ -0,0 +1,9 @@
1
+ # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # Completions for dot-theme-sync
3
+
4
+ # Complete with theme names from themes.toml
5
+ complete -c dot-theme-sync -f -a "{{- range $name, $_ := .themes }}{{ $name }} {{ end }}"
6
+
7
+ # Complete with flags
8
+ complete -c dot-theme-sync -l help -s h -d "Show help"
9
+ complete -c dot-theme-sync -l full -d "Full chezmoi apply + reload"
@@ -0,0 +1,115 @@
1
+ # Fish completion for 'dot' CLI
2
+ # 🅳🅾🆃🅵🅸🅻🅴🆂 (v{{ .dotfiles_version }})
3
+
4
+ # Disable file completions for subcommands
5
+ complete -c dot -f
6
+
7
+ # Core Commands
8
+ complete -c dot -n "__fish_use_subcommand" -a apply -d "Apply dotfiles configuration"
9
+ complete -c dot -n "__fish_use_subcommand" -a sync -d "Alias of apply"
10
+ complete -c dot -n "__fish_use_subcommand" -a update -d "Pull latest changes and apply"
11
+ complete -c dot -n "__fish_use_subcommand" -a clean-cache -d "Clear shell initialization caches"
12
+ complete -c dot -n "__fish_use_subcommand" -a prewarm -d "Regenerate shell caches for ultra-fast startup"
13
+ complete -c dot -n "__fish_use_subcommand" -a cl -d "Claude CLI with context patterns"
14
+ complete -c dot -n "__fish_use_subcommand" -a copilot -d "GitHub Copilot CLI with context patterns"
15
+ complete -c dot -n "__fish_use_subcommand" -a gemini -d "Gemini CLI with context patterns"
16
+ complete -c dot -n "__fish_use_subcommand" -a kiro -d "Kiro CLI with context patterns"
17
+ complete -c dot -n "__fish_use_subcommand" -a sgpt -d "Shell-GPT with context patterns"
18
+ complete -c dot -n "__fish_use_subcommand" -a ollama -d "Ollama with context patterns"
19
+ complete -c dot -n "__fish_use_subcommand" -a opencode -d "OpenCode with context patterns"
20
+ complete -c dot -n "__fish_use_subcommand" -a aider -d "Aider with context patterns"
21
+ complete -c dot -n "__fish_use_subcommand" -a add -d "Add a file to chezmoi source"
22
+
23
+ # AI Pattern completions for AI CLIs
24
+ for cmd in cl copilot gemini kiro sgpt ollama opencode aider
25
+ complete -c dot -n "__fish_seen_subcommand_from $cmd" -s p -l pattern -x -a "(ls -1 ~/.config/ai/patterns 2>/dev/null | sed 's/\.md\$//')"
26
+ end
27
+ complete -c dot -n "__fish_use_subcommand" -a diff -d "Show chezmoi diff with exclusions"
28
+ complete -c dot -n "__fish_use_subcommand" -a status -d "Show configuration drift"
29
+ complete -c dot -n "__fish_use_subcommand" -a remove -d "Safely remove a managed file"
30
+ complete -c dot -n "__fish_use_subcommand" -a cd -d "Print source directory path"
31
+ complete -c dot -n "__fish_use_subcommand" -a edit -d "Open chezmoi source in $EDITOR"
32
+ complete -c dot -n "__fish_use_subcommand" -a patterns -d "Manage AI steering patterns"
33
+ complete -c dot -n "__fish_use_subcommand" -a commit -d "AI-powered conventional commit"
34
+
35
+ # Diagnostics
36
+ complete -c dot -n "__fish_use_subcommand" -a doctor -d "Check system health and configuration"
37
+ complete -c dot -n "__fish_use_subcommand" -a heal -d "Auto-repair common dotfiles issues"
38
+ complete -c dot -n "__fish_use_subcommand" -a health -d "Run comprehensive health check"
39
+ complete -c dot -n "__fish_use_subcommand" -a smoke-test -d "Run automated toolchain verification"
40
+ complete -c dot -n "__fish_use_subcommand" -a chaos -d "Simulate config corruption"
41
+ complete -c dot -n "__fish_use_subcommand" -a scorecard -d "Show the unified scorecard"
42
+ complete -c dot -n "__fish_use_subcommand" -a security-score -d "Score workstation security"
43
+ complete -c dot -n "__fish_use_subcommand" -a drift -d "Drift dashboard"
44
+ complete -c dot -n "__fish_use_subcommand" -a history -d "Shell history analysis"
45
+ complete -c dot -n "__fish_use_subcommand" -a benchmark -d "Run shell startup benchmark"
46
+ complete -c dot -n "__fish_use_subcommand" -a perf -d "Show current performance mode"
47
+ complete -c dot -n "__fish_use_subcommand" -a snapshot -d "Capture workstation state"
48
+ complete -c dot -n "__fish_use_subcommand" -a verify -d "Run verification checks"
49
+ complete -c dot -n "__fish_use_subcommand" -a restore -d "Restore from backup or git ref"
50
+ complete -c dot -n "__fish_use_subcommand" -a ai -d "Show AI helper status"
51
+ complete -c dot -n "__fish_use_subcommand" -a ai-setup -d "Interactive setup for all AI CLI tools"
52
+ complete -c dot -n "__fish_use_subcommand" -a ai-query -d "Context-aware RAG query over your dotfiles"
53
+ complete -c dot -n "__fish_use_subcommand" -a attest -d "Export workstation attestation evidence"
54
+ complete -c dot -n "__fish_use_subcommand" -a lint -d "Lint shell scripts"
55
+
56
+ # Tools
57
+ complete -c dot -n "__fish_use_subcommand" -a tools -d "Show or install nix packages"
58
+ complete -c dot -n "__fish_use_subcommand" -a new -d "Create a new project from a template"
59
+ complete -c dot -n "__fish_use_subcommand" -a sandbox -d "Launch a safe sandbox preview"
60
+ complete -c dot -n "__fish_use_subcommand" -a keys -d "Show keybindings catalog"
61
+ complete -c dot -n "__fish_use_subcommand" -a learn -d "Interactive tour"
62
+ complete -c dot -n "__fish_use_subcommand" -a docs -d "Show repo README"
63
+ complete -c dot -n "__fish_use_subcommand" -a env -d "Show managed tool versions"
64
+ complete -c dot -n "__fish_use_subcommand" -a profile -d "Show or switch configuration profile"
65
+
66
+ # Appearance
67
+ complete -c dot -n "__fish_use_subcommand" -a theme -d "Switch terminal theme (dark/light)"
68
+ complete -c dot -n "__fish_use_subcommand" -a wallpaper -d "Apply a wallpaper"
69
+ complete -c dot -n "__fish_use_subcommand" -a fonts -d "Install Nerd Fonts"
70
+
71
+ # Secrets & Security
72
+ complete -c dot -n "__fish_use_subcommand" -a secrets-init -d "Initialize age key for secrets"
73
+ complete -c dot -n "__fish_use_subcommand" -a secrets -d "Edit encrypted secrets"
74
+ complete -c dot -n "__fish_use_subcommand" -a bundle -d "Create offline archive"
75
+ complete -c dot -n "__fish_use_subcommand" -a upgrade -d "Update flake, plugins, and dotfiles"
76
+ complete -c dot -n "__fish_use_subcommand" -a mcp -d "Inspect MCP policy and registry"
77
+ complete -c dot -n "__fish_use_subcommand" -a mode -d "Show or set the agent profile"
78
+ complete -c dot -n "__fish_use_subcommand" -a agent -d "Show agent metadata and logs"
79
+ complete -c dot -n "__fish_use_subcommand" -a search -d "Find commands by keyword"
80
+
81
+ # Meta
82
+ complete -c dot -n "__fish_use_subcommand" -a "version --version" -d "Show version"
83
+ complete -c dot -n "__fish_use_subcommand" -a help -d "Show help"
84
+
85
+ # Focused command flags
86
+ complete -c dot -n "__fish_seen_subcommand_from doctor" -s H -l heal -d "Auto-repair common issues"
87
+ complete -c dot -n "__fish_seen_subcommand_from doctor" -s s -l score -d "Show score output"
88
+ complete -c dot -n "__fish_seen_subcommand_from doctor" -s j -l json -d "Emit JSON summary"
89
+ complete -c dot -n "__fish_seen_subcommand_from doctor" -s A -l ai -d "Include AI diagnostics"
90
+ complete -c dot -n "__fish_seen_subcommand_from attest" -s j -l json -d "Emit JSON output"
91
+ complete -c dot -n "__fish_seen_subcommand_from attest" -s w -l write -r -d "Write attestation to a file"
92
+ complete -c dot -n "__fish_seen_subcommand_from lint" -s c -l check -d "Run check-only mode"
93
+ complete -c dot -n "__fish_seen_subcommand_from lint" -s f -l fix -d "Apply safe fixes"
94
+ complete -c dot -n "__fish_seen_subcommand_from mcp" -s s -l strict -d "Treat policy warnings as errors"
95
+ complete -c dot -n "__fish_seen_subcommand_from mcp" -s j -l json -d "Emit JSON summary"
96
+ complete -c dot -n "__fish_seen_subcommand_from mcp" -a registry -d "Show the MCP registry"
97
+ complete -c dot -n "__fish_seen_subcommand_from health" -s v -l verbose -d "Show detailed checks"
98
+ complete -c dot -n "__fish_seen_subcommand_from health" -s j -l json -d "Emit JSON summary"
99
+ complete -c dot -n "__fish_seen_subcommand_from health" -s f -l fix -d "Apply common fixes"
100
+ complete -c dot -n "__fish_seen_subcommand_from health" -s F -l force -d "Apply fixes without prompts"
101
+ complete -c dot -n "__fish_seen_subcommand_from perf" -s j -l json -d "Emit JSON timing data"
102
+ complete -c dot -n "__fish_seen_subcommand_from perf" -s p -l profile -d "Include profile output"
103
+ complete -c dot -n "__fish_seen_subcommand_from perf" -s r -l runs -x -d "Set the number of runs"
104
+ complete -c dot -n "__fish_seen_subcommand_from perf" -s t -l target -x -d "Set the timing target in milliseconds"
105
+ complete -c dot -n "__fish_seen_subcommand_from security-score" -s v -l verbose -d "Show detailed scoring"
106
+ complete -c dot -n "__fish_seen_subcommand_from security-score" -s q -l quiet -d "Reduce output noise"
107
+ complete -c dot -n "__fish_seen_subcommand_from security-score" -s j -l json -d "Emit JSON summary"
108
+ complete -c dot -n "__fish_seen_subcommand_from snapshot" -s b -l baseline -d "Capture the baseline snapshot"
109
+ complete -c dot -n "__fish_seen_subcommand_from snapshot" -s f -l force -d "Overwrite an existing snapshot"
110
+ complete -c dot -n "__fish_seen_subcommand_from verify" -s s -l security -d "Run security verification"
111
+ complete -c dot -n "__fish_seen_subcommand_from restore" -s l -l list -d "List available backups"
112
+ complete -c dot -n "__fish_seen_subcommand_from restore" -s L -l latest -d "Restore the latest backup"
113
+ complete -c dot -n "__fish_seen_subcommand_from restore" -s g -l git -x -d "Restore from a git ref"
114
+ complete -c dot -n "__fish_seen_subcommand_from restore" -s d -l diff -x -d "Show a diff for a git ref"
115
+ complete -c dot -n "__fish_seen_subcommand_from restore" -s n -l dry-run -d "Preview the restore"
@@ -0,0 +1,56 @@
1
+ # Startup performance cache
2
+ # Loaded before vendor conf.d — intercepts slow commands with cached results.
3
+
4
+ # Fast fish_add_path replacement — builtins only, no argparse overhead.
5
+ # Shadows the standard fish_add_path function (autoloaded from /usr/share/fish/).
6
+ # Handles the common calling conventions used by vendor conf.d scripts.
7
+ function fish_add_path
8
+ set -l append false
9
+ set -l paths
10
+ for arg in $argv
11
+ switch $arg
12
+ case --append -a
13
+ set append true
14
+ case --global --path -g -p -P -U
15
+ # Accepted and ignored — we always use global scope + PATH
16
+ case '--*' '-*'
17
+ # Ignore unknown flags
18
+ case '*'
19
+ set -a paths $arg
20
+ end
21
+ end
22
+ for p in $paths
23
+ if not contains -- $p $PATH
24
+ if $append
25
+ set -g --append PATH $p
26
+ else
27
+ set -g --prepend PATH $p
28
+ end
29
+ end
30
+ end
31
+ end
32
+
33
+ # Cache flatpak --installations (saves ~11ms per startup).
34
+ # The vendor /usr/share/fish/vendor_conf.d/flatpak.fish calls this on every
35
+ # shell start. We wrap it so only the first call after cache expiry is slow.
36
+ # Cache is refreshed by `dot prewarm` or manually:
37
+ # command flatpak --installations > ~/.cache/fish/flatpak-installations
38
+ if type -q flatpak
39
+ function flatpak --wraps flatpak
40
+ if test (count $argv) -eq 1; and test "$argv[1]" = --installations
41
+ set -l cache "$HOME/.cache/fish/flatpak-installations"
42
+ if test -f "$cache"
43
+ while read -l line
44
+ echo $line
45
+ end <"$cache"
46
+ return 0
47
+ end
48
+ mkdir -p "$HOME/.cache/fish"
49
+ command flatpak --installations 2>/dev/null | tee "$cache"
50
+ return 0
51
+ end
52
+ command flatpak $argv
53
+ end
54
+ end
55
+
56
+ status is-interactive; or return