@sebastienrousseau/dotfiles 0.2.499 → 0.2.501

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (567) hide show
  1. package/CHANGELOG.md +452 -0
  2. package/LICENSE +1283 -0
  3. package/README.md +322 -0
  4. package/docs/.vitepress/reports/localization-readability-audit.md +73 -0
  5. package/docs/AI.md +108 -0
  6. package/docs/CNAME +1 -0
  7. package/docs/COPYRIGHT +4 -3
  8. package/docs/NAMING_CONVENTIONS.md +102 -0
  9. package/docs/README.md +82 -0
  10. package/docs/_config.yml +59 -0
  11. package/docs/adr/ADR-001-ci-cd-pipeline.md +118 -0
  12. package/docs/adr/ADR-002-shell-performance.md +130 -0
  13. package/docs/adr/ADR-003-security-first.md +158 -0
  14. package/docs/adr/ADR-004-cli-architecture.md +171 -0
  15. package/docs/adr/ADR-005-chezmoi-choice.md +99 -0
  16. package/docs/adr/ADR-006-shell-selection.md +124 -0
  17. package/docs/adr/ADR-007-multi-shell-parity.md +62 -0
  18. package/docs/adr/ADR-008-alias-system-architecture.md +95 -0
  19. package/docs/adr/ADR-009-wallpaper-driven-theming.md +131 -0
  20. package/docs/adr/ADR-010-starship-transient-prompt.md +144 -0
  21. package/docs/adr/ADR-011-nushell-tier3-keep.md +144 -0
  22. package/docs/adr/README.md +39 -0
  23. package/docs/architecture/ARCHITECTURE.md +117 -0
  24. package/docs/architecture/INTEROP.md +44 -0
  25. package/docs/architecture/REPO_LAYOUT.md +241 -0
  26. package/docs/architecture/WALKTHROUGH.md +86 -0
  27. package/docs/architecture/fleet-deployment.md +77 -0
  28. package/docs/archive/EUXIS_2026_REVIEW.md +127 -0
  29. package/docs/archive/LEGACY_ROADMAP.md +160 -0
  30. package/docs/archive/MILESTONE_v0.2.493.md +47 -0
  31. package/docs/{PLAN.md → archive/PLAN.md} +50 -12
  32. package/docs/archive/REPO_AUDIT.md +31 -0
  33. package/docs/guides/INSTALL.md +144 -0
  34. package/docs/guides/NEOVIM_IDE_GUIDE.md +61 -0
  35. package/docs/guides/THEMING.md +230 -0
  36. package/docs/guides/TROUBLESHOOTING.md +176 -0
  37. package/docs/guides/WSL2_NIX_TROUBLESHOOTING.md +792 -0
  38. package/docs/index.md +43 -0
  39. package/docs/interop/A2A.md +39 -0
  40. package/docs/interop/POWERSHELL.md +102 -0
  41. package/docs/manual/00-introduction.md +89 -0
  42. package/docs/manual/01-concepts/01-architecture.md +138 -0
  43. package/docs/manual/01-concepts/02-trust-model.md +182 -0
  44. package/docs/manual/01-concepts/03-theme-engine.md +186 -0
  45. package/docs/manual/01-concepts/04-fleet.md +148 -0
  46. package/docs/manual/01-concepts/05-self-healing.md +204 -0
  47. package/docs/manual/02-tutorials/01-first-install.md +197 -0
  48. package/docs/manual/02-tutorials/02-add-wallpaper.md +216 -0
  49. package/docs/manual/02-tutorials/03-create-profile.md +244 -0
  50. package/docs/manual/02-tutorials/04-encrypt-secret.md +281 -0
  51. package/docs/manual/02-tutorials/05-deploy-fleet.md +283 -0
  52. package/docs/manual/03-reference/01-dot-cli.md +417 -0
  53. package/docs/manual/03-reference/02-config-files.md +265 -0
  54. package/docs/manual/03-reference/03-environment.md +124 -0
  55. package/docs/manual/03-reference/04-templates.md +190 -0
  56. package/docs/manual/03-reference/05-feature-flags.md +128 -0
  57. package/docs/manual/04-cookbook/01-recipes.md +285 -0
  58. package/docs/manual/04-cookbook/02-troubleshooting.md +351 -0
  59. package/docs/manual/04-cookbook/03-faq.md +175 -0
  60. package/docs/manual/05-appendices/A-platform-matrix.md +101 -0
  61. package/docs/manual/05-appendices/B-security-checklist.md +84 -0
  62. package/docs/manual/05-appendices/C-glossary.md +40 -0
  63. package/docs/manual/05-appendices/D-bibliography.md +58 -0
  64. package/docs/manual/05-appendices/E-license.md +38 -0
  65. package/docs/manual/_toc.yml +58 -0
  66. package/docs/manual/command-index.md +62 -0
  67. package/docs/manual/concept-index.md +168 -0
  68. package/docs/operations/ATTESTATION.md +44 -0
  69. package/docs/operations/CI_CADENCE.md +107 -0
  70. package/docs/operations/CI_COMPOSITES.md +156 -0
  71. package/docs/operations/COMPLETIONS.md +123 -0
  72. package/docs/operations/COVERAGE.md +148 -0
  73. package/docs/operations/DRIFT.md +107 -0
  74. package/docs/operations/MAINTENANCE.md +63 -0
  75. package/docs/operations/MIGRATION.md +109 -0
  76. package/docs/operations/OPERATIONS.md +188 -0
  77. package/docs/operations/PERFORMANCE.md +133 -0
  78. package/docs/operations/RELIABILITY.md +122 -0
  79. package/docs/{ROADMAP.md → operations/ROADMAP.md} +57 -39
  80. package/docs/operations/TESTING.md +199 -0
  81. package/docs/operations/TRACEABILITY.md +35 -0
  82. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +65 -0
  83. package/docs/operations/VERSION_SYNC.md +393 -0
  84. package/docs/reference/ALIASES.md +131 -0
  85. package/docs/reference/ALIASES_CHEATSHEET.md +32 -0
  86. package/docs/reference/ALIASES_DEPRECATIONS.md +13 -0
  87. package/docs/reference/FEATURES.md +66 -0
  88. package/docs/reference/FONTS.md +112 -0
  89. package/docs/reference/PROFILES.md +69 -0
  90. package/docs/reference/SCREENSHOTS.md +121 -0
  91. package/docs/reference/SCRIPTS.md +71 -0
  92. package/docs/reference/SUPPORT_MATRIX.md +80 -0
  93. package/docs/reference/THEMES.md +117 -0
  94. package/docs/reference/TOOLS.md +109 -0
  95. package/docs/reference/UTILS.md +155 -0
  96. package/docs/security/AI_ACT_COMPLIANCE.md +94 -0
  97. package/docs/security/AUDIT_BYPASS.md +103 -0
  98. package/docs/security/AUTOMATION_SECRETS.md +26 -0
  99. package/docs/security/CI_EGRESS_ALLOWLIST.md +127 -0
  100. package/docs/security/COMPLIANCE.md +458 -0
  101. package/docs/security/DEPS_DEV_EXCEPTIONS.md +86 -0
  102. package/docs/security/ENCRYPTION.md +57 -0
  103. package/docs/security/FMEA.md +159 -0
  104. package/docs/security/HISTORY_FILTERING.md +132 -0
  105. package/docs/security/INCIDENT_RESPONSE.md +579 -0
  106. package/docs/security/INSTALL_VERIFICATION.md +122 -0
  107. package/docs/security/KEYS.md +49 -0
  108. package/docs/security/KEY_ROTATION.md +223 -0
  109. package/docs/security/MCP_POLICY.md +78 -0
  110. package/docs/security/POLICY_RELEASES.md +37 -0
  111. package/docs/security/README.md +28 -0
  112. package/docs/security/SCORECARD.md +80 -0
  113. package/docs/security/SECRETS.md +158 -0
  114. package/docs/security/SECURITY.md +45 -0
  115. package/docs/security/SECURITY_CHECKLIST.md +55 -0
  116. package/docs/security/SHELL_EXEMPTIONS.md +145 -0
  117. package/docs/security/SOUP_REGISTER.md +36 -0
  118. package/docs/security/THREAT_MODEL.md +130 -0
  119. package/docs/security/VERIFICATION_VALIDATION.md +228 -0
  120. package/docs/themes/README.md +10 -0
  121. package/docs/themes/VISUAL_INTEGRITY_REPORT.md +30 -0
  122. package/docs/themes/hero-shot.svg +78 -0
  123. package/dot_config/.module-manifest.json +69 -0
  124. package/dot_config/ai/identity.md +23 -0
  125. package/dot_config/ai/patterns/architect.md +16 -0
  126. package/dot_config/ai/patterns/hardener.md +15 -0
  127. package/dot_config/ai/patterns/refactor.md +15 -0
  128. package/dot_config/aider/aider.conf.yml +32 -0
  129. package/dot_config/alacritty/alacritty.toml.tmpl +55 -0
  130. package/dot_config/ansible/ansible.cfg +11 -0
  131. package/dot_config/atuin/config.toml.tmpl +47 -0
  132. package/dot_config/bat/config +23 -0
  133. package/dot_config/brave-flags.conf.tmpl +7 -0
  134. package/dot_config/btop/btop.conf +16 -0
  135. package/dot_config/btop/themes/tokyonight.theme +34 -0
  136. package/dot_config/bun/bunfig.toml.tmpl +33 -0
  137. package/dot_config/claude/mcp_servers.json +20 -0
  138. package/dot_config/containers/containers.conf +14 -0
  139. package/dot_config/curl/dot_curlrc +18 -0
  140. package/dot_config/dlv/config.yml +39 -0
  141. package/dot_config/docker/config.json +15 -0
  142. package/dot_config/dotfiles/agent-card.json +29 -0
  143. package/dot_config/dotfiles/agent-profiles.json +92 -0
  144. package/dot_config/dotfiles/boot/README.md +13 -0
  145. package/dot_config/dotfiles/grub/README.md +13 -0
  146. package/dot_config/dotfiles/lock/README.md +13 -0
  147. package/dot_config/dotfiles/mcp-lock.json +33 -0
  148. package/dot_config/dotfiles/mcp-policy.json +52 -0
  149. package/dot_config/dotfiles/mcp-registry.json +47 -0
  150. package/dot_config/dotfiles/model-registry.json +20 -0
  151. package/dot_config/dotfiles/policy-bundles.json +38 -0
  152. package/dot_config/dotfiles/prompt-registry.json +16 -0
  153. package/dot_config/dotfiles/versions.env +18 -0
  154. package/dot_config/duf/duf.conf +6 -0
  155. package/dot_config/duti/defaults.duti +5 -0
  156. package/dot_config/emoji/emoji.txt +34 -0
  157. package/dot_config/environment.d/50-ssh-agent.conf +2 -0
  158. package/dot_config/environment.d/90-wayland.conf +19 -0
  159. package/dot_config/fastfetch/config.jsonc +28 -0
  160. package/dot_config/firefox/user.js.tmpl +58 -0
  161. package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +9 -0
  162. package/dot_config/fish/completions/dot.fish.tmpl +115 -0
  163. package/dot_config/fish/conf.d/000-perf-cache.fish +56 -0
  164. package/dot_config/fish/conf.d/aliases.fish.tmpl +77 -0
  165. package/dot_config/fish/conf.d/env.fish.tmpl +48 -0
  166. package/dot_config/fish/conf.d/functions.fish.tmpl +22 -0
  167. package/dot_config/fish/conf.d/init.fish.tmpl +172 -0
  168. package/dot_config/fish/config.fish.tmpl +44 -0
  169. package/dot_config/fish/fish_plugins +1 -0
  170. package/dot_config/fish/functions/_.fish +3 -0
  171. package/dot_config/fish/functions/_cached_eval.fish +131 -0
  172. package/dot_config/fish/functions/_cached_eval_clear.fish +17 -0
  173. package/dot_config/fish/functions/als.fish +46 -0
  174. package/dot_config/fish/functions/bg-upgrade.fish +7 -0
  175. package/dot_config/fish/functions/c.fish +3 -0
  176. package/dot_config/fish/functions/cat.fish +9 -0
  177. package/dot_config/fish/functions/d.fish +7 -0
  178. package/dot_config/fish/functions/dot.fish +34 -0
  179. package/dot_config/fish/functions/h.fish +3 -0
  180. package/dot_config/fish/functions/l.fish +7 -0
  181. package/dot_config/fish/functions/la.fish +7 -0
  182. package/dot_config/fish/functions/ll.fish +7 -0
  183. package/dot_config/fish/functions/log_error.fish +13 -0
  184. package/dot_config/fish/functions/log_info.fish +13 -0
  185. package/dot_config/fish/functions/lr.fish +7 -0
  186. package/dot_config/fish/functions/lra.fish +7 -0
  187. package/dot_config/fish/functions/ls.fish +7 -0
  188. package/dot_config/fish/functions/lt.fish +7 -0
  189. package/dot_config/fish/functions/lta.fish +7 -0
  190. package/dot_config/fish/functions/notify-run.fish +11 -0
  191. package/dot_config/fish/functions/q.fish +3 -0
  192. package/dot_config/fish/functions/silent-run.fish +7 -0
  193. package/dot_config/fish/functions/yy.fish +8 -0
  194. package/dot_config/flatpak/flatpak.list +4 -0
  195. package/dot_config/fontconfig/fonts.conf.tmpl +57 -0
  196. package/dot_config/foot/foot.ini.tmpl +33 -0
  197. package/dot_config/fuzzel/fuzzel.ini.tmpl +18 -0
  198. package/dot_config/fzf/fzf.zsh +48 -0
  199. package/dot_config/gem/gemrc +9 -0
  200. package/dot_config/gh/config.yml +12 -0
  201. package/dot_config/ghostty/config.tmpl +165 -0
  202. package/dot_config/git/allowed_signers.tmpl +18 -0
  203. package/dot_config/git/attributes +12 -0
  204. package/dot_config/git/commit-template +10 -0
  205. package/dot_config/git/hooks/executable_commit-msg +146 -0
  206. package/dot_config/git/ignore +27 -0
  207. package/dot_config/gnupg/gpg-agent.conf +11 -0
  208. package/dot_config/go/golangci.yml +118 -0
  209. package/dot_config/go/gopls.json +30 -0
  210. package/dot_config/goose/config.yaml +29 -0
  211. package/dot_config/gtk-3.0/gtk.css.tmpl +184 -0
  212. package/dot_config/gtk-3.0/settings.ini.tmpl +27 -0
  213. package/dot_config/gtk-4.0/gtk.css.tmpl +252 -0
  214. package/dot_config/gtk-4.0/settings.ini.tmpl +18 -0
  215. package/dot_config/htop/htoprc +20 -0
  216. package/dot_config/inputrc +2 -0
  217. package/dot_config/ipython/profile_default/ipython_config.py +19 -0
  218. package/dot_config/just/justfile +122 -0
  219. package/dot_config/k9s/config.yaml +65 -0
  220. package/dot_config/k9s/skins/catppuccin-mocha.yaml +116 -0
  221. package/dot_config/kanshi/config.tmpl +22 -0
  222. package/dot_config/karabiner/karabiner.json +14 -0
  223. package/dot_config/kitty/kitty.conf.tmpl +53 -0
  224. package/dot_config/lazydocker/config.yml +186 -0
  225. package/dot_config/lazygit/config.yml +35 -0
  226. package/dot_config/mako/config +47 -0
  227. package/dot_config/mas/masapps.txt +5 -0
  228. package/dot_config/micro/settings.json +3 -0
  229. package/dot_config/mimeapps.list +77 -0
  230. package/dot_config/minikube/config.json +13 -0
  231. package/dot_config/mise/config.toml +99 -0
  232. package/dot_config/mongosh/mongoshrc.js +68 -0
  233. package/dot_config/mpv/input.conf +47 -0
  234. package/dot_config/mpv/mpv.conf +47 -0
  235. package/dot_config/mycli/myclirc +67 -0
  236. package/dot_config/nano/nanorc +28 -0
  237. package/dot_config/ncdu/config +12 -0
  238. package/dot_config/niri/config.kdl.tmpl +327 -0
  239. package/dot_config/nushell/aliases.nu +18 -0
  240. package/dot_config/nushell/cached_eval.nu +80 -0
  241. package/dot_config/nushell/completions.nu.tmpl +52 -0
  242. package/dot_config/nushell/config.nu.tmpl +86 -0
  243. package/dot_config/nushell/env.nu.tmpl +102 -0
  244. package/dot_config/nushell/functions.nu.tmpl +17 -0
  245. package/dot_config/nvim/init.lua +18 -0
  246. package/dot_config/nvim/lazy-lock.json +58 -0
  247. package/dot_config/nvim/lua/config/autocmds.lua +107 -0
  248. package/dot_config/nvim/lua/config/keymaps.lua +92 -0
  249. package/dot_config/nvim/lua/config/lazy.lua +44 -0
  250. package/dot_config/nvim/lua/config/options.lua +49 -0
  251. package/dot_config/nvim/lua/plugins/ai.lua +75 -0
  252. package/dot_config/nvim/lua/plugins/coding.lua +216 -0
  253. package/dot_config/nvim/lua/plugins/completion.lua +60 -0
  254. package/dot_config/nvim/lua/plugins/dap.lua +412 -0
  255. package/dot_config/nvim/lua/plugins/editor.lua +55 -0
  256. package/dot_config/nvim/lua/plugins/git.lua +10 -0
  257. package/dot_config/nvim/lua/plugins/lsp.lua +156 -0
  258. package/dot_config/nvim/lua/plugins/markdown.lua +18 -0
  259. package/dot_config/nvim/lua/plugins/rust.lua +34 -0
  260. package/dot_config/nvim/lua/plugins/sessions.lua +33 -0
  261. package/dot_config/nvim/lua/plugins/ui.lua +509 -0
  262. package/dot_config/paru/paru.conf +10 -0
  263. package/dot_config/pip/pip.conf.tmpl +32 -0
  264. package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
  265. package/dot_config/pueue/pueue.yml +34 -0
  266. package/dot_config/pypoetry/config.toml +6 -0
  267. package/dot_config/pyrightconfig.json +5 -0
  268. package/dot_config/raycast/README.md +13 -0
  269. package/dot_config/redis/redisclirc +41 -0
  270. package/dot_config/ripgrep/ripgreprc +21 -0
  271. package/dot_config/shell/00-core-paths.sh.tmpl +134 -0
  272. package/dot_config/shell/05-core-safety.sh +48 -0
  273. package/dot_config/shell/10-secrets.sh +41 -0
  274. package/dot_config/shell/40-fzf-defaults.sh.tmpl +17 -0
  275. package/dot_config/shell/40-ls-colors.sh +49 -0
  276. package/dot_config/shell/50-logic-functions-core.sh.tmpl +11 -0
  277. package/dot_config/shell/50-logic-functions.sh.tmpl +11 -0
  278. package/dot_config/shell/51-logic-functions-extra.sh.tmpl +65 -0
  279. package/dot_config/shell/90-ux-aliases.sh.tmpl +121 -0
  280. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +55 -0
  281. package/dot_config/shell/Brewfile +207 -0
  282. package/dot_config/shell/Brewfile.cask +92 -0
  283. package/dot_config/shell/Brewfile.cli +127 -0
  284. package/dot_config/shell/README.md +284 -0
  285. package/dot_config/shell/als_data.txt.tmpl +65 -0
  286. package/dot_config/shell/custom/auto_ls.zsh +20 -0
  287. package/dot_config/shell/custom/context_suggest.zsh +68 -0
  288. package/dot_config/shell/custom/error_analysis.zsh +45 -0
  289. package/dot_config/sops/dot_sops.yaml +23 -0
  290. package/dot_config/starship.toml.tmpl +202 -0
  291. package/dot_config/swaylock/config +43 -0
  292. package/dot_config/systemd/user/dotfiles-maintenance.service +8 -0
  293. package/dot_config/systemd/user/dotfiles-maintenance.timer +11 -0
  294. package/dot_config/systemd/user/pueued.service +12 -0
  295. package/dot_config/systemd/user/ssh-agent.service +12 -0
  296. package/dot_config/task/Taskfile.yml +86 -0
  297. package/dot_config/tflint/tflint.hcl +9 -0
  298. package/dot_config/tmux/tmux.conf.tmpl +223 -0
  299. package/dot_config/topgrade.toml.tmpl +54 -0
  300. package/dot_config/user-dirs.dirs +10 -0
  301. package/dot_config/vscode/extensions.txt +11 -0
  302. package/dot_config/vscode/settings.json.tmpl +82 -0
  303. package/dot_config/waybar/config.jsonc.tmpl +90 -0
  304. package/dot_config/waybar/style.css.tmpl +211 -0
  305. package/dot_config/wezterm/wezterm.lua.tmpl +64 -0
  306. package/dot_config/wget/wgetrc +12 -0
  307. package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
  308. package/dot_config/yarn/yarnrc.yml +36 -0
  309. package/dot_config/yazi/keymap.toml +67 -0
  310. package/dot_config/yazi/theme.toml +102 -0
  311. package/dot_config/yazi/yazi.toml +40 -0
  312. package/dot_config/zathura/zathurarc +52 -0
  313. package/dot_config/zellij/config.kdl.tmpl +79 -0
  314. package/dot_config/zsh/dot_zprofile +7 -0
  315. package/dot_config/zsh/dot_zshenv +5 -0
  316. package/dot_config/zsh/dot_zshrc.tmpl +635 -0
  317. package/dot_config/zsh/rc.d/00-alias-shims.zsh +99 -0
  318. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +18 -0
  319. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +28 -0
  320. package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
  321. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +214 -0
  322. package/dot_config/zsh/rc.d/40-bell.zsh +20 -0
  323. package/dot_config/zsh/rc.d/50-login-fortune.zsh +9 -0
  324. package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +32 -0
  325. package/dot_local/bin/executable_ai-update +195 -0
  326. package/dot_local/bin/executable_ai_core +152 -0
  327. package/dot_local/bin/executable_antigravity +11 -0
  328. package/dot_local/bin/executable_b64 +84 -0
  329. package/dot_local/bin/executable_bm +79 -0
  330. package/dot_local/bin/executable_cb +39 -0
  331. package/dot_local/bin/executable_dot +596 -0
  332. package/dot_local/bin/executable_dot-ai +36 -0
  333. package/dot_local/bin/executable_dot-bootstrap +77 -0
  334. package/dot_local/bin/executable_dot-launch-or-focus +52 -0
  335. package/dot_local/bin/executable_dot-load-benchmark +31 -0
  336. package/dot_local/bin/executable_dot-load-benchmark-pty +77 -0
  337. package/dot_local/bin/executable_dot-theme-sync +952 -0
  338. package/dot_local/bin/executable_dot_completion +57 -0
  339. package/dot_local/bin/executable_dtags +28 -0
  340. package/dot_local/bin/executable_epoch +67 -0
  341. package/dot_local/bin/executable_extract +41 -0
  342. package/dot_local/bin/executable_gbd +52 -0
  343. package/dot_local/bin/executable_gd +42 -0
  344. package/dot_local/bin/executable_git-ai-commit +175 -0
  345. package/dot_local/bin/executable_git-ai-diff +169 -0
  346. package/dot_local/bin/executable_gl +101 -0
  347. package/dot_local/bin/executable_hash +161 -0
  348. package/dot_local/bin/executable_hashsum +160 -0
  349. package/dot_local/bin/executable_hex +115 -0
  350. package/dot_local/bin/executable_jsonv +78 -0
  351. package/dot_local/bin/executable_jwt +94 -0
  352. package/dot_local/bin/executable_kill-port +75 -0
  353. package/dot_local/bin/executable_lorem +118 -0
  354. package/dot_local/bin/executable_mkscript +35 -0
  355. package/dot_local/bin/executable_monitor +56 -0
  356. package/dot_local/bin/executable_myip +51 -0
  357. package/dot_local/bin/executable_notify +24 -0
  358. package/dot_local/bin/executable_open +38 -0
  359. package/dot_local/bin/executable_pw +27 -0
  360. package/dot_local/bin/executable_rec-start +46 -0
  361. package/dot_local/bin/executable_rec-stop +35 -0
  362. package/dot_local/bin/executable_regex +132 -0
  363. package/dot_local/bin/executable_start-niri +8 -0
  364. package/dot_local/bin/executable_tmux-sessionizer +314 -0
  365. package/dot_local/bin/executable_tour +177 -0
  366. package/dot_local/bin/executable_up +23 -0
  367. package/dot_local/bin/executable_update +142 -0
  368. package/dot_local/bin/executable_uuid +87 -0
  369. package/dot_local/bin/executable_win +32 -0
  370. package/dot_local/bin/executable_yamlv +57 -0
  371. package/dot_local/share/bash-completion/completions/dot +72 -0
  372. package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
  373. package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
  374. package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
  375. package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
  376. package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
  377. package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
  378. package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
  379. package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
  380. package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
  381. package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
  382. package/dot_local/share/man/man1/dot.1 +149 -0
  383. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +64 -0
  384. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +18 -0
  385. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +13 -0
  386. package/dot_local/share/wayland-sessions/niri.desktop.tmpl +6 -0
  387. package/dot_local/share/zsh/completions/.keep +0 -0
  388. package/dot_local/share/zsh/completions/_dot +283 -0
  389. package/install.sh +350 -0
  390. package/package.json +1 -1
  391. package/scripts/ci/check-copyright-headers.sh +96 -0
  392. package/scripts/ci/check-dangerous-chmod.sh +19 -0
  393. package/scripts/ci/check-deps-dev.sh +236 -0
  394. package/scripts/ci/check-insecure-tls.sh +61 -0
  395. package/scripts/ci/check-regression-traceability.sh +67 -0
  396. package/scripts/ci/check-shell-preamble.sh +106 -0
  397. package/scripts/ci/guard-gitleaks-checkout.sh +57 -0
  398. package/scripts/ci/install-chezmoi-verified.sh +64 -0
  399. package/scripts/ci/run-coverage.sh +362 -0
  400. package/scripts/ci/validate-chezmoidata.sh +25 -0
  401. package/scripts/ci/validate-ci-config.sh +224 -0
  402. package/scripts/demo/record.sh +42 -0
  403. package/scripts/diagnostics/a2a-conformance.sh +162 -0
  404. package/scripts/diagnostics/alias-governance.sh +137 -0
  405. package/scripts/diagnostics/aliases-cheatsheet.sh +73 -0
  406. package/scripts/diagnostics/aliases-manifest.sh +31 -0
  407. package/scripts/diagnostics/benchmark.sh +381 -0
  408. package/scripts/diagnostics/conflicts.sh +72 -0
  409. package/scripts/diagnostics/doctor-unified.sh +38 -0
  410. package/scripts/diagnostics/doctor.sh +709 -0
  411. package/scripts/diagnostics/drift-dashboard.sh +201 -0
  412. package/scripts/diagnostics/health.sh +614 -0
  413. package/scripts/diagnostics/history-analysis.sh +85 -0
  414. package/scripts/diagnostics/mcp-doctor.sh +575 -0
  415. package/scripts/diagnostics/perf.sh +452 -0
  416. package/scripts/diagnostics/scorecard.sh +118 -0
  417. package/scripts/diagnostics/secret-governance.sh +58 -0
  418. package/scripts/diagnostics/security-score.sh +438 -0
  419. package/scripts/diagnostics/smoke-test.sh +87 -0
  420. package/scripts/diagnostics/snapshot.sh +89 -0
  421. package/scripts/diagnostics/verify.sh +107 -0
  422. package/scripts/{verify_state.sh → diagnostics/verify_state.sh} +22 -22
  423. package/scripts/diagnostics/version-locks.sh +79 -0
  424. package/scripts/diagnostics/workstation-attestation.sh +186 -0
  425. package/scripts/docs/build-manual.sh +883 -0
  426. package/scripts/docs/check-manual.sh +213 -0
  427. package/scripts/dot/commands/agent.sh +474 -0
  428. package/scripts/dot/commands/ai.sh +481 -0
  429. package/scripts/dot/commands/aliases.sh +250 -0
  430. package/scripts/dot/commands/appearance.sh +80 -0
  431. package/scripts/dot/commands/core.sh +185 -0
  432. package/scripts/dot/commands/diagnostics.sh +229 -0
  433. package/scripts/dot/commands/fleet.sh +399 -0
  434. package/scripts/dot/commands/lint.sh +177 -0
  435. package/scripts/dot/commands/manual.sh +168 -0
  436. package/scripts/dot/commands/meta.sh +248 -0
  437. package/scripts/dot/commands/patterns.sh +54 -0
  438. package/scripts/dot/commands/restore.sh +231 -0
  439. package/scripts/dot/commands/secrets.sh +223 -0
  440. package/scripts/dot/commands/security.sh +76 -0
  441. package/scripts/dot/commands/tools.sh +469 -0
  442. package/scripts/dot/data/alias-deprecations.tsv +2 -0
  443. package/scripts/dot/lib/bento.sh +50 -0
  444. package/scripts/dot/lib/log.sh +200 -0
  445. package/scripts/dot/lib/platform.sh +99 -0
  446. package/scripts/dot/lib/ui.sh +518 -0
  447. package/scripts/dot/lib/utils.sh +377 -0
  448. package/scripts/fonts/install-nerd-fonts.sh +68 -0
  449. package/scripts/fonts/patch-fonts.sh +35 -0
  450. package/scripts/git-hooks/install.sh +11 -0
  451. package/scripts/git-hooks/pre-commit +12 -0
  452. package/scripts/git-hooks/pre-commit-audit.sh +145 -0
  453. package/scripts/git-hooks/pre-push +92 -0
  454. package/scripts/git-hooks/prepare-commit-msg +29 -0
  455. package/scripts/lib/secrets_provider.sh +158 -0
  456. package/scripts/maintenance/check-updates.sh +131 -0
  457. package/scripts/ops/ai-setup.sh +55 -0
  458. package/scripts/ops/bundle.sh +77 -0
  459. package/scripts/ops/chaos.sh +49 -0
  460. package/scripts/ops/chezmoi-apply.sh +270 -0
  461. package/scripts/ops/chezmoi-diff.sh +15 -0
  462. package/scripts/ops/chezmoi-remove.sh +45 -0
  463. package/scripts/ops/chezmoi-update.sh +48 -0
  464. package/scripts/ops/heal-chezmoi.sh +86 -0
  465. package/scripts/ops/heal-system.sh +128 -0
  466. package/scripts/ops/heal-tools.sh +340 -0
  467. package/scripts/ops/heal.sh +222 -0
  468. package/scripts/ops/post-apply-repair.sh +106 -0
  469. package/scripts/ops/prewarm.sh +127 -0
  470. package/scripts/ops/release.sh +252 -0
  471. package/scripts/ops/rollback.sh +589 -0
  472. package/scripts/ops/setup.sh +137 -0
  473. package/scripts/ops/teleport.sh +33 -0
  474. package/scripts/qa/coverage-baseline.sh +60 -0
  475. package/scripts/qa/docs-coverage.sh +111 -0
  476. package/scripts/qa/powershell-contract.ps1 +95 -0
  477. package/scripts/qa/reliability-audit.sh +138 -0
  478. package/scripts/qa/traceability-coverage.sh +116 -0
  479. package/scripts/qa/validate-examples.sh +26 -0
  480. package/scripts/qa/wsl-contract.sh +11 -0
  481. package/scripts/release/package-policy-bundles.sh +125 -0
  482. package/scripts/secrets/age-init.sh +70 -0
  483. package/scripts/secrets/create-secrets-file.sh +45 -0
  484. package/scripts/secrets/encrypt-ssh-key.sh +43 -0
  485. package/scripts/security/backup.sh +57 -0
  486. package/scripts/security/dns-doh.sh +51 -0
  487. package/scripts/security/encryption-check.sh +54 -0
  488. package/scripts/security/enforce-policies.sh +334 -0
  489. package/scripts/security/firewall.sh +90 -0
  490. package/scripts/security/lock-configs.sh +57 -0
  491. package/scripts/security/lock-screen.sh +55 -0
  492. package/scripts/security/manage-secrets.sh +428 -0
  493. package/scripts/security/ssh-cert.sh +203 -0
  494. package/scripts/security/telemetry-kill.sh +50 -0
  495. package/scripts/security/usb-safety.sh +51 -0
  496. package/scripts/theme/apply-gnome-theme.sh +328 -0
  497. package/scripts/theme/extract-theme.py +677 -0
  498. package/scripts/theme/install-boot-logo.sh +62 -0
  499. package/scripts/theme/install-catppuccin-themes.sh +370 -0
  500. package/scripts/theme/install-cursors.sh +25 -0
  501. package/scripts/theme/install-file-icons.sh +26 -0
  502. package/scripts/theme/install-grub-theme.sh +61 -0
  503. package/scripts/theme/install-lock-icon.sh +30 -0
  504. package/scripts/theme/merge-wallpaper.sh +145 -0
  505. package/scripts/theme/rebuild-themes.sh +309 -0
  506. package/scripts/theme/switch.sh +431 -0
  507. package/scripts/theme/wallpaper-rotate.sh +136 -0
  508. package/scripts/theme/wallpaper-sync.sh +397 -0
  509. package/scripts/tools/cmatrix.sh +21 -0
  510. package/scripts/{detect-collisions.py → tools/detect-collisions.py} +2 -2
  511. package/scripts/tools/emoji-picker.sh +48 -0
  512. package/scripts/tools/figlet-banner.sh +18 -0
  513. package/scripts/tools/log-rotate.sh +30 -0
  514. package/scripts/tools/lolcat-wrap.sh +19 -0
  515. package/scripts/tools/pipes.sh +48 -0
  516. package/scripts/tuning/linux.sh +185 -0
  517. package/scripts/tuning/macos.sh +55 -0
  518. package/scripts/uninstall.sh +85 -0
  519. package/scripts/version-sync.sh +487 -0
  520. package/templates/chezmoi-data/geekom-a9.toml.example +21 -0
  521. package/templates/chezmoi-data/mac-m1.toml.example +16 -0
  522. package/templates/chezmoi-data/mac-t2-linux.toml.example +21 -0
  523. package/templates/chezmoi-data/surface-pro-7p.toml.example +21 -0
  524. package/templates/projects/go/.github/workflows/ci.yml +31 -0
  525. package/templates/projects/go/README.md +4 -0
  526. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +1 -0
  527. package/templates/projects/go/go.sum +0 -0
  528. package/templates/projects/molecule/README.md +7 -0
  529. package/templates/projects/molecule/converge.yml +7 -0
  530. package/templates/projects/molecule/molecule.yml +16 -0
  531. package/templates/projects/node/.github/workflows/ci.yml +30 -0
  532. package/templates/projects/node/README.md +4 -0
  533. package/templates/projects/node/package-lock.json +12 -0
  534. package/templates/projects/node/src/index.js +1 -0
  535. package/templates/projects/packer/README.md +15 -0
  536. package/templates/projects/packer/main.pkr.hcl +15 -0
  537. package/templates/projects/python/.github/workflows/ci.yml +34 -0
  538. package/templates/projects/python/README.md +4 -0
  539. package/templates/projects/python/pyproject.toml +15 -0
  540. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
  541. package/templates/projects/python/tests/test_basic.py +1 -0
  542. package/docs/ARCHITECTURE.md +0 -62
  543. package/docs/COMPLIANCE.md +0 -47
  544. package/docs/OPERATIONS.md +0 -103
  545. package/docs/PR_DESCRIPTION.md +0 -150
  546. package/docs/ROADMAP_legacy.md +0 -556
  547. package/docs/SECURITY_CHECKLIST.md +0 -25
  548. package/docs/TASK.md +0 -99
  549. package/docs/WALKTHROUGH.md +0 -46
  550. package/scripts/backup.sh +0 -142
  551. package/scripts/banner.sh +0 -20
  552. package/scripts/benchmark.sh +0 -20
  553. package/scripts/build.sh +0 -41
  554. package/scripts/clean.sh +0 -31
  555. package/scripts/compile.sh +0 -54
  556. package/scripts/copy.sh +0 -108
  557. package/scripts/doctor.sh +0 -79
  558. package/scripts/dotfiles.sh +0 -63
  559. package/scripts/download.sh +0 -35
  560. package/scripts/help.sh +0 -57
  561. package/scripts/lock-configs.sh +0 -57
  562. package/scripts/package.sh +0 -46
  563. package/scripts/ssh.sh +0 -55
  564. package/scripts/teleport.sh +0 -23
  565. package/scripts/test-aliases.sh +0 -25
  566. package/scripts/test_smoke.sh +0 -88
  567. package/scripts/unpack.sh +0 -28
@@ -0,0 +1,41 @@
1
+ # Redis CLI Configuration (~/.config/redis/redisclirc)
2
+ # Sourced by redis-cli via REDISCLI_RCFILE environment variable
3
+
4
+ # History file location
5
+ # Set via: export REDISCLI_HISTFILE=~/.local/share/redis/history
6
+
7
+ # Note: redis-cli has limited configuration options.
8
+ # Most customization is done via environment variables:
9
+ #
10
+ # REDISCLI_HISTFILE - History file location
11
+ # REDISCLI_AUTH - Default password (not recommended, use --askpass)
12
+ # REDISCLI_CLUSTER_SLAVES - Show slave nodes in cluster commands
13
+ #
14
+ # Common usage patterns:
15
+ #
16
+ # Connect to local Redis:
17
+ # redis-cli
18
+ #
19
+ # Connect to remote Redis:
20
+ # redis-cli -h hostname -p 6379
21
+ #
22
+ # Connect with authentication:
23
+ # redis-cli --askpass
24
+ #
25
+ # Run command and exit:
26
+ # redis-cli PING
27
+ #
28
+ # Monitor all commands:
29
+ # redis-cli MONITOR
30
+ #
31
+ # Get server info:
32
+ # redis-cli INFO
33
+ #
34
+ # Cluster mode:
35
+ # redis-cli -c -h hostname
36
+
37
+ # Useful aliases (defined in shell aliases):
38
+ # alias redis='redis-cli'
39
+ # alias redis-info='redis-cli INFO'
40
+ # alias redis-keys='redis-cli --scan'
41
+ # alias redis-monitor='redis-cli MONITOR'
@@ -0,0 +1,21 @@
1
+ # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
+ # Smart case search
3
+ --smart-case
4
+ # Add custom type definitions
5
+ --type-add=web:*.{html,css,js,ts,tsx,jsx,vue,svelte}
6
+ --type-add=config:*.{toml,yaml,yml,json,ini,conf}
7
+ --type-add=shell:*.{sh,bash,zsh,fish}
8
+ # Max columns before truncation
9
+ --max-columns=200
10
+ --max-columns-preview
11
+ # Ignore common directories
12
+ --glob=!.git
13
+ --glob=!node_modules
14
+ --glob=!.venv
15
+ --glob=!target
16
+ --glob=!dist
17
+ --glob=!build
18
+ --glob=!*.min.js
19
+ --glob=!*.min.css
20
+ --glob=!package-lock.json
21
+ --glob=!yarn.lock
@@ -0,0 +1,134 @@
1
+ #!/usr/bin/env bash
2
+ # Sourced by dot_zshrc.tmpl / dot_bashrc / dot_config/fish/conf.d/; inherits set -euo pipefail from the caller.
3
+ ## Construct PATH hierarchy for all language runtimes and tools.
4
+ ##
5
+ ## Sets PATH precedence: Local bin > Language runtimes > Homebrew > System.
6
+ ## This file is generated by Chezmoi and should not be edited directly.
7
+ ##
8
+ ## # Data Flow
9
+ ## ~/.zshenv (XDG vars) → 00-core-paths.sh (PATH) → tool-specific init
10
+ ##
11
+ ## # Platform Notes
12
+ ## ### Platform: macOS
13
+ ## - Adds /opt/homebrew/bin for Apple Silicon
14
+ ## - Includes macOS application paths (VS Code, Little Snitch)
15
+ ##
16
+ ## ### Platform: Linux
17
+ ## - Homebrew section skipped if /opt/homebrew absent
18
+ ## - Standard FHS paths (/usr/bin, /usr/local/bin)
19
+ ##
20
+ ## ### Platform: WSL
21
+ ## - Works with both Linux and Windows paths
22
+ ## - Windows PATH inherited via interop
23
+ ##
24
+ ## # Dependencies
25
+ ## - Bash 4+ for associative array PATH deduplication
26
+ ## - Falls back to awk for Bash 3.x
27
+ ##
28
+ ## # Idempotency
29
+ ## Safe to source multiple times. Deduplicates PATH entries.
30
+
31
+ # Helper: prepend path if directory exists (moves to front if already present)
32
+ path_prepend() {
33
+ local dir="$1"
34
+ [[ -n "$dir" && -d "$dir" ]] || return 0
35
+ # Remove existing entry (if any) then prepend — ensures correct precedence
36
+ PATH="${PATH/#"$dir:"/}" # leading
37
+ PATH="${PATH/%":$dir"/}" # trailing
38
+ PATH="${PATH//":$dir:"/:}" # middle
39
+ [[ "$PATH" == "$dir" ]] && PATH="" # sole entry
40
+ PATH="$dir${PATH:+:$PATH}"
41
+ }
42
+
43
+ # 1. System Paths (Prepend, but will be pushed down by later prepends)
44
+ PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:${PATH}"
45
+
46
+ # 2. Homebrew Paths (Prepend -> Higher Priority)
47
+ path_prepend "/opt/homebrew/sbin"
48
+ path_prepend "/opt/homebrew/bin"
49
+
50
+ # 3. Language Runtimes
51
+ # Ruby (Homebrew)
52
+ path_prepend "/opt/homebrew/opt/ruby/bin"
53
+ # Ruby (User Gems)
54
+ path_prepend "${HOME}/.gem/ruby/bin"
55
+
56
+ # Python (Pipx)
57
+ export PIPX_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/pipx"
58
+ export PIPX_BIN_DIR="${XDG_BIN_HOME:-$HOME/.local/bin}"
59
+ path_prepend "${PIPX_BIN_DIR}"
60
+
61
+ # .NET Tools
62
+ path_prepend "${HOME}/.dotnet/tools"
63
+
64
+ # Rust (Cargo)
65
+ path_prepend "${HOME}/.cargo/bin"
66
+
67
+ # Go
68
+ path_prepend "${HOME}/go/bin"
69
+
70
+ # Bun
71
+ export BUN_INSTALL="${HOME}/.bun"
72
+ path_prepend "${BUN_INSTALL}/bin"
73
+
74
+ # Kubeconfig merge logic (merge all configs in ~/.kube/config.d/)
75
+ # Lazy-loaded via kubectl wrapper to avoid startup cost
76
+ _lazy_load_kubeconfig() {
77
+ if [[ -d "${HOME}/.kube/config.d" ]]; then
78
+ local kubeconfig_extra=""
79
+ for conf in "${HOME}/.kube/config.d"/*; do
80
+ [[ -f "$conf" ]] && kubeconfig_extra="${kubeconfig_extra}:${conf}"
81
+ done
82
+ [[ -n "$kubeconfig_extra" ]] && export KUBECONFIG="${HOME}/.kube/config${kubeconfig_extra}"
83
+ fi
84
+ unset -f kubectl _lazy_load_kubeconfig 2>/dev/null
85
+ command kubectl "$@"
86
+ }
87
+ # Only wrap kubectl if config.d exists and kubectl is installed
88
+ if [[ -d "${HOME}/.kube/config.d" ]]; then
89
+ kubectl() { _lazy_load_kubeconfig "$@"; }
90
+ fi
91
+ # Still honor explicit KUBECONFIG or in-cluster detection
92
+ if [[ -n "${KUBERNETES_SERVICE_HOST:-}" ]] || [[ -n "${KUBECONFIG:-}" ]]; then
93
+ _lazy_load_kubeconfig --version >/dev/null 2>&1 || true
94
+ fi
95
+
96
+ # Node.js (Global)
97
+ path_prepend "${HOME}/.node_modules/bin"
98
+
99
+ # Lua (Luarocks)
100
+ path_prepend "${HOME}/.luarocks/bin"
101
+
102
+ # 4. macOS System Paths
103
+ {{- if eq .chezmoi.os "darwin" }}
104
+ path_prepend "/Library/Apple/usr/bin"
105
+ {{- end }}
106
+
107
+ # 5. Local Bin and Tools (Highest Priority)
108
+ path_prepend "${HOME}/.fzf/bin"
109
+ path_prepend "${HOME}/.local/bin"
110
+ path_prepend "${HOME}/.local/share/mise/shims"
111
+ path_prepend "${HOME}/bin"
112
+
113
+ # Deduplicate PATH (Keep first occurrence to maintain precedence)
114
+ # Standard Zsh handles this with 'typeset -U path', but for bash compatibility/subshells:
115
+ if [ -z "${ZSH_VERSION:-}" ]; then
116
+ # Use native bash associative arrays for O(n) deduplication (bash 4+)
117
+ if [[ ${BASH_VERSION%%.*} -ge 4 ]]; then
118
+ declare -A _seen_paths
119
+ IFS=':' read -ra _path_array <<< "$PATH"
120
+ _new_path=""
121
+ for _dir in "${_path_array[@]}"; do
122
+ if [[ -n "$_dir" && -z "${_seen_paths[$_dir]:-}" ]]; then
123
+ _seen_paths[$_dir]=1
124
+ _new_path="${_new_path:+$_new_path:}$_dir"
125
+ fi
126
+ done
127
+ PATH="$_new_path"
128
+ unset _seen_paths _path_array _new_path _dir
129
+ else
130
+ # Fallback to awk for bash 3.x
131
+ PATH=$(echo "$PATH" | awk -v RS=':' '!seen[$0]++ {ORS=(NR>1?":":"")} {print}')
132
+ fi
133
+ export PATH
134
+ fi
@@ -0,0 +1,48 @@
1
+ #!/usr/bin/env bash
2
+ # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
3
+ # Sourced by dot_zshrc.tmpl / dot_bashrc; inherits set -euo pipefail from the caller.
4
+
5
+ # 05-safety.sh: Core Safety Settings
6
+ # Part of the "Core Layer"
7
+
8
+ # Set sane defaults for safety, though be careful with -e in interactive shell
9
+ # Use 'set -o pipefail' to catch pipeline errors if supported
10
+ if [[ -n "$BASH_VERSION" ]] || [[ -n "$ZSH_VERSION" ]]; then
11
+ set -o pipefail 2>/dev/null || true
12
+ fi
13
+
14
+ # Prevent file overwrite with redirection (force use of >|)
15
+ set -o noclobber
16
+
17
+ # Strict destructive-operation confirmation helper.
18
+ # Enabled when DOTFILES_ALIAS_STRICT_MODE=1.
19
+ dot_confirm_destructive() {
20
+ local action="${1:-destructive operation}"
21
+ local log_file="${DOTFILES_DESTRUCTIVE_LOG:-$HOME/.dotfiles_destruction.log}"
22
+ local ts
23
+
24
+ if [[ "${DOTFILES_ALIAS_STRICT_MODE:-0}" != "1" ]]; then
25
+ return 0
26
+ fi
27
+
28
+ if [[ ! -t 0 ]]; then
29
+ if [[ "${DOTFILES_FORCE_DESTRUCTIVE:-0}" == "1" ]]; then
30
+ ts="$(date -u +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null || date)"
31
+ printf "%s\tuser=%s\thost=%s\tpwd=%s\taction=%s\tmode=forced\n" \
32
+ "$ts" "${USER:-unknown}" "${HOSTNAME:-unknown}" "${PWD:-unknown}" "$action" >> "$log_file" 2>/dev/null || true
33
+ return 0
34
+ fi
35
+ echo "[STRICT] Refusing ${action} without TTY confirmation." >&2
36
+ return 1
37
+ fi
38
+
39
+ echo "[STRICT] About to run: ${action}" >&2
40
+ read -r -p "Type YES to continue: " confirm
41
+ if [[ "$confirm" == "YES" ]]; then
42
+ ts="$(date -u +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null || date)"
43
+ printf "%s\tuser=%s\thost=%s\tpwd=%s\taction=%s\tmode=confirmed\n" \
44
+ "$ts" "${USER:-unknown}" "${HOSTNAME:-unknown}" "${PWD:-unknown}" "$action" >> "$log_file" 2>/dev/null || true
45
+ return 0
46
+ fi
47
+ return 1
48
+ }
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env bash
2
+ # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
3
+ # Sourced by dot_zshrc.tmpl / dot_bashrc; inherits set -euo pipefail from the caller.
4
+
5
+ # 10-secrets.sh: Optional secret bucket auto-loader
6
+ # Loads configured secret buckets into the current shell via `dot env load`.
7
+
8
+ if [[ "${DOTFILES_SECRETS_AUTO_LOAD:-0}" != "1" ]]; then
9
+ return 0 2>/dev/null || exit 0
10
+ fi
11
+
12
+ if ! command -v dot >/dev/null 2>&1; then
13
+ return 0 2>/dev/null || exit 0
14
+ fi
15
+
16
+ _dot_secret_buckets=()
17
+ if [[ -n "${DOTFILES_SECRETS_BUCKET_NAMES:-}" ]]; then
18
+ while IFS= read -r _bucket; do
19
+ [[ -n "$_bucket" ]] || continue
20
+ _dot_secret_buckets+=("$_bucket")
21
+ done < <(printf '%s' "${DOTFILES_SECRETS_BUCKET_NAMES}" | tr ',' '\n')
22
+ fi
23
+
24
+ for _bucket in "${_dot_secret_buckets[@]}"; do
25
+ [[ -n "$_bucket" ]] || continue
26
+ _dot_secret_out="$(dot env load "$_bucket" 2>/dev/null || true)"
27
+ [[ -n "$_dot_secret_out" ]] || continue
28
+ case "$_dot_secret_out" in
29
+ export\ * | typeset\ * | unset\ *)
30
+ # Use process substitution instead of eval for safety
31
+ # shellcheck disable=SC1090
32
+ . /dev/stdin <<<"$_dot_secret_out"
33
+ ;;
34
+ *)
35
+ # Ignore non-shell output
36
+ ;;
37
+ esac
38
+ unset _dot_secret_out
39
+ done
40
+
41
+ unset _dot_secret_buckets _bucket
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env bash
2
+ # Sourced by dot_zshrc.tmpl / dot_bashrc; inherits set -euo pipefail from the caller.
3
+ # 🅳🅾🆃🅵🅸🅻🅴🆂 (v{{ .dotfiles_version }})
4
+ # FZF Shared Configuration for all shells (Zsh, Bash, Fish)
5
+
6
+ # Set FZF defaults to use 'fd' for speed and 'bat' for previews
7
+ export FZF_DEFAULT_COMMAND='fd --type f --strip-cwd-prefix --hidden --follow --exclude .git'
8
+ export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
9
+
10
+ # Sublime FZF Colors (Catppuccin Mocha)
11
+ export FZF_DEFAULT_OPTS="
12
+ --color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8
13
+ --color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc
14
+ --color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8
15
+ --multi --layout=reverse --border --height=40%
16
+ --preview-window='right:60%:wrap'
17
+ --preview 'if [ -d {} ]; then eza --tree --level 2 --icons {} | head -200; else bat --style=numbers --color=always --line-range :500 {} 2>/dev/null || cat {} | head -500; fi'"
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env bash
2
+ # Copyright (c) 2015-2026 Dotfiles. All rights reserved.
3
+ # Sourced by dot_zshrc.tmpl / dot_bashrc; inherits set -euo pipefail from the caller.
4
+
5
+ # Set ls colors with GNU/BSD detection and caching
6
+ # GNU coreutils: LS_COLORS via dircolors
7
+ # BSD/macOS: LSCOLORS + CLICOLOR
8
+
9
+ _dircolors_cache="${XDG_CACHE_HOME:-$HOME/.cache}/shell/dircolors.sh"
10
+
11
+ _dircolors_cached_eval() {
12
+ local cmd="$1"
13
+ shift
14
+ if [ -f "$_dircolors_cache" ]; then
15
+ # shellcheck disable=SC1090
16
+ . "$_dircolors_cache"
17
+ else
18
+ mkdir -p "$(dirname "$_dircolors_cache")"
19
+ "$cmd" "$@" >"$_dircolors_cache" 2>/dev/null
20
+ # shellcheck disable=SC1090
21
+ . "$_dircolors_cache"
22
+ fi
23
+ }
24
+
25
+ if command -v dircolors >/dev/null 2>&1; then
26
+ if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/dircolors" ]; then
27
+ _dircolors_cached_eval dircolors -b "${XDG_CONFIG_HOME:-$HOME/.config}/dircolors"
28
+ else
29
+ _dircolors_cached_eval dircolors -b
30
+ fi
31
+ else
32
+ case "$(uname -s 2>/dev/null)" in
33
+ Darwin*)
34
+ export CLICOLOR=1
35
+ export LSCOLORS="ExFxCxDxBxegedabagacad"
36
+ if command -v gdircolors >/dev/null 2>&1; then
37
+ _dircolors_cached_eval gdircolors -b
38
+ fi
39
+ ;;
40
+ esac
41
+ fi
42
+
43
+ unset -f _dircolors_cached_eval
44
+ unset _dircolors_cache
45
+
46
+ # Ensure LS_COLORS is set for Zsh completion when only LSCOLORS exists
47
+ if [ -z "${LS_COLORS:-}" ] && [ -n "${LSCOLORS:-}" ]; then
48
+ export LS_COLORS=""
49
+ fi
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env bash
2
+ # Sourced by dot_zshrc.tmpl / dot_bashrc / fish bridge; inherits set -euo pipefail from the caller.
3
+
4
+ # Core Functions (Generated by Chezmoi) - minimal set
5
+
6
+ {{- $globPattern := joinPath .chezmoi.sourceDir ".chezmoitemplates/functions/utils/*.sh" -}}
7
+ {{- $files := glob $globPattern -}}
8
+ {{- range $files -}}
9
+ {{- include . }}
10
+ {{- "\n" -}}
11
+ {{- end -}}
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env bash
2
+ # Sourced by dot_zshrc.tmpl / dot_bashrc / fish bridge; inherits set -euo pipefail from the caller.
3
+
4
+ # Universal Functions (Generated by Chezmoi)
5
+
6
+ {{- $globPattern := joinPath .chezmoi.sourceDir ".chezmoitemplates/functions/**/*.sh" }}
7
+ {{- $files := glob $globPattern }}
8
+ {{- range $files }}
9
+ {{- include . }}
10
+ {{- "\n" }}
11
+ {{- end }}
@@ -0,0 +1,65 @@
1
+ #!/usr/bin/env bash
2
+ # Sourced by dot_zshrc.tmpl / dot_bashrc (lazy layer); inherits set -euo pipefail from the caller.
3
+
4
+ # Extra Functions (Generated by Chezmoi) - loaded on demand
5
+ # Group-wise lazy loaders to reduce first-load cost.
6
+
7
+ {{ $root := . }}
8
+ {{ $groupsPath := joinPath $root.chezmoi.sourceDir ".chezmoitemplates/functions/groups.json" }}
9
+ {{ $groups := (fromJson (include $groupsPath)) }}
10
+
11
+ {{ range $group, $files := $groups }}
12
+ _dotfiles_load_group_{{ $group }}() {
13
+ unset -f _dotfiles_load_group_{{ $group }} 2>/dev/null
14
+ # shellcheck disable=SC1090
15
+ . /dev/stdin <<'__DOTFILES_EOF__'
16
+ {{ range $files }}
17
+ {{ $p := joinPath $root.chezmoi.sourceDir ".chezmoitemplates/functions" . }}
18
+ {{ include $p }}
19
+
20
+ {{ end }}
21
+ __DOTFILES_EOF__
22
+ }
23
+
24
+ {{ range $files }}
25
+ {{ $func := trimSuffix ".sh" (base .) }}
26
+ {{ $func }}() { _dotfiles_load_group_{{ $group }}; {{ $func }} "$@"; }
27
+
28
+ {{ end }}
29
+ {{ end }}
30
+
31
+ # Pueue Background Task Wrappers (2026 Strategy)
32
+ # Use these for long-running blocking tasks.
33
+ if command -v pueue >/dev/null 2>&1; then
34
+ # silent-run: Submit a command to pueue and forget about it.
35
+ silent-run() {
36
+ local cmd="$*"
37
+ if [[ -z "$cmd" ]]; then
38
+ echo "Usage: silent-run <command>"
39
+ return 1
40
+ fi
41
+ pueue add -- "$cmd"
42
+ }
43
+
44
+ # notify-run: Submit a command and notify when done.
45
+ notify-run() {
46
+ local cmd="$*"
47
+ if [[ -z "$cmd" ]]; then
48
+ echo "Usage: notify-run <command>"
49
+ return 1
50
+ fi
51
+ local task_id
52
+ task_id=$(pueue add --print-id -- "$cmd")
53
+ echo "Task $task_id submitted: $cmd"
54
+ (pueue wait "$task_id" && echo "✅ Task $task_id finished: $cmd") &!
55
+ }
56
+
57
+ # bg-upgrade: Background upgrade of all package managers.
58
+ bg-upgrade() {
59
+ echo "🚀 Starting background upgrades (Homebrew, Nix, Chezmoi)..."
60
+ if command -v brew >/dev/null; then silent-run "brew upgrade"; fi
61
+ if command -v nix >/dev/null; then silent-run "nix flake update"; fi
62
+ silent-run "chezmoi update"
63
+ echo "Check status with 'pueue status'"
64
+ }
65
+ fi
@@ -0,0 +1,121 @@
1
+ #!/usr/bin/env bash
2
+ # Sourced by dot_zshrc.tmpl / dot_bashrc / fish bridge; inherits set -euo pipefail from the caller.
3
+ ## WARNING: Alias names must be unique across all alias source files in
4
+ ## .chezmoitemplates/aliases/. Duplicates silently overwrite earlier
5
+ ## definitions. Run the alias-conflict test to detect collisions.
6
+ ##
7
+ ## Core Aliases — Eager Load.
8
+ ##
9
+ ## High-frequency aliases loaded at shell startup (~40KB). Generated by Chezmoi
10
+ ## from alias definition files in .chezmoitemplates/aliases/. Edit the source
11
+ ## templates, not this file.
12
+ ##
13
+ ## # Data Flow
14
+ ## .chezmoidata.toml (profile, buckets) → 90-ux-aliases.sh.tmpl → aliases
15
+ ##
16
+ ## # Chezmoi Variables
17
+ ## | Variable | Default | Description |
18
+ ## |----------|---------|-------------|
19
+ ## | .aliases.profile | standard | minimal, standard, or full |
20
+ ## | .aliases.buckets | all true | Enable/disable alias categories |
21
+ ##
22
+ ## # Core Categories (14)
23
+ ## archives, cd, clear, configuration, default, diagnostics, disk-usage,
24
+ ## editor, git, interactive, installer, mkdir, modern, ps, rsync, sudo, system
25
+ ##
26
+ ## # Platform Notes
27
+ ## - macOS-specific aliases excluded from non-Darwin systems
28
+ ## - Bash and Zsh compatible
29
+ ##
30
+ ## # Idempotency
31
+ ## Safe to source multiple times. Aliases overwrite previous definitions.
32
+ if [ -n "${BASH_VERSION:-}" ]; then
33
+ shopt -s expand_aliases
34
+ fi
35
+ if [ -n "${ZSH_VERSION:-}" ]; then
36
+ setopt aliases
37
+ fi
38
+
39
+ {{ $coreCategories := list "archives" "cd" "clear" "configuration" "default" "diagnostics" "disk-usage" "editor" "git" "interactive" "installer" "mkdir" "modern" "ps" "rsync" "sudo" "system" "compliance" -}}
40
+ {{ $aliasProfile := lower (default "standard" (env "DOTFILES_ALIAS_PROFILE")) -}}
41
+ {{ $aliasBuckets := default (dict) .aliases.buckets -}}
42
+ {{ $globPattern := joinPath .chezmoi.sourceDir ".chezmoitemplates/aliases/**/*.aliases.sh" -}}
43
+ {{ $files := glob $globPattern -}}
44
+ {{ range $files -}}
45
+ {{ $name := . -}}
46
+ {{ $isCore := false -}}
47
+ {{ $bucketEnabled := true -}}
48
+ {{ if contains "/system/" $name -}}
49
+ {{ $bucketEnabled = default true (index $aliasBuckets "system") -}}
50
+ {{ end -}}
51
+ {{ if contains "/subversion/" $name -}}
52
+ {{ $bucketEnabled = default true (index $aliasBuckets "svn") -}}
53
+ {{ end -}}
54
+ {{ $isCoreMinimalExcluded := or (contains "/interactive/" $name) (contains "/sudo/" $name) -}}
55
+ {{ $includeByProfile := true -}}
56
+ {{ if and (eq $aliasProfile "minimal") $isCoreMinimalExcluded -}}
57
+ {{ $includeByProfile = false -}}
58
+ {{ end -}}
59
+ {{ range $coreCategories -}}
60
+ {{ if contains (printf "/%s/" .) $name -}}
61
+ {{ $isCore = true -}}
62
+ {{ end -}}
63
+ {{ end -}}
64
+ {{ if and $isCore (not (contains "/macOS/" $name)) (not (contains "/archives/" $name)) $includeByProfile $bucketEnabled }}
65
+ {{ include $name }}
66
+ {{ end -}}
67
+ {{ end }}
68
+
69
+ # Archive aliases loaded last among core aliases so extraction shortcuts
70
+ # take precedence over earlier generic shims.
71
+ {{- range $files -}}
72
+ {{- $name := . -}}
73
+ {{- if and (contains "/archives/" $name) (not (contains "/macOS/" $name)) }}
74
+ {{ include $name }}
75
+ {{- end -}}
76
+ {{- end }}
77
+
78
+ # Zsh fallback: if alias expansion is disabled, provide function shims.
79
+ _dotfiles_alias_shims() {
80
+ [[ -n "${_DOTFILES_ALIAS_SHIMS_LOADED:-}" ]] && return 0
81
+ _DOTFILES_ALIAS_SHIMS_LOADED=1
82
+ c() { clear_screen; }
83
+ q() { exit; }
84
+ e() { "${EDITOR:-nano}" "$@"; }
85
+ h() { history; }
86
+ l() { dot_ls "$@"; }
87
+ ll() { dot_ll "$@"; }
88
+ la() { dot_la "$@"; }
89
+ lt() { dot_lt "$@"; }
90
+ lr() { dot_lr "$@"; }
91
+ lra() { dot_lra "$@"; }
92
+ lta() { dot_lta "$@"; }
93
+ d() {
94
+ if command -v dot >/dev/null 2>&1; then
95
+ dot "$@"
96
+ elif command -v docker >/dev/null 2>&1; then
97
+ docker "$@"
98
+ fi
99
+ }
100
+ i() { command -v epoch >/dev/null 2>&1 && epoch "$@"; }
101
+ a() { command -v ai_core >/dev/null 2>&1 && ai_core query "$@"; }
102
+ _() { sudo "$@"; }
103
+ }
104
+
105
+ if [ -n "${ZSH_VERSION:-}" ]; then
106
+ if ! setopt | grep -q '^aliases$' || [[ "${DOTFILES_FORCE_ALIAS_SHIMS:-0}" == "1" ]]; then
107
+ _dotfiles_alias_shims
108
+ fi
109
+ fi
110
+
111
+ # OS-Specific Core Aliases
112
+
113
+ ## macOS
114
+ {{- if eq .chezmoi.os "darwin" }}
115
+ {{- $macGlobPattern := joinPath .chezmoi.sourceDir ".chezmoitemplates/aliases/macOS/*.aliases.sh" }}
116
+ {{- $macFiles := glob $macGlobPattern }}
117
+ {{- range $macFiles }}
118
+ {{- include . }}
119
+ {{- "\n" }}
120
+ {{- end }}
121
+ {{- end }}
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env bash
2
+ # Sourced by dot_zshrc.tmpl / dot_bashrc (lazy layer); inherits set -euo pipefail from the caller.
3
+
4
+ # Tool-Specific Aliases — Lazy Load (Generated by Chezmoi)
5
+ # These are loaded after the first prompt via precmd hook to keep startup fast.
6
+ if [ -n "${BASH_VERSION:-}" ]; then
7
+ shopt -s expand_aliases
8
+ fi
9
+
10
+ {{ $coreCategories := list "archives" "cd" "clear" "configuration" "default" "diagnostics" "disk-usage" "editor" "git" "interactive" "installer" "mkdir" "modern" "ps" "rsync" "sudo" "system" "compliance" -}}
11
+ {{ $aliasProfile := lower (default "standard" (env "DOTFILES_ALIAS_PROFILE")) -}}
12
+ {{ $ecosystems := lower (default "all" (env "DOTFILES_ALIAS_ECOSYSTEMS")) -}}
13
+ {{ $aliasBuckets := default (dict) .aliases.buckets -}}
14
+ {{ $globPattern := joinPath .chezmoi.sourceDir ".chezmoitemplates/aliases/**/*.aliases.sh" -}}
15
+ {{ $files := glob $globPattern -}}
16
+ {{ range $files -}}
17
+ {{ $name := . -}}
18
+ {{ $isCore := false -}}
19
+ {{ $bucketEnabled := true -}}
20
+ {{ if contains "/system/" $name -}}
21
+ {{ $bucketEnabled = default true (index $aliasBuckets "system") -}}
22
+ {{ end -}}
23
+ {{ if contains "/subversion/" $name -}}
24
+ {{ $bucketEnabled = default true (index $aliasBuckets "svn") -}}
25
+ {{ end -}}
26
+ {{ $isPython := contains "/python/" $name -}}
27
+ {{ $isNode := or (contains "/npm/" $name) (contains "/pnpm/" $name) (contains "/yarn/" $name) -}}
28
+ {{ $isRust := contains "/rust/" $name -}}
29
+ {{ $isNetwork := or (contains "/dig/" $name) (contains "/security/" $name) -}}
30
+ {{ $isLegacy := or (contains "/subversion/" $name) (contains "/vagrant/" $name) -}}
31
+ {{ $isEcosystem := or $isPython (or $isNode (or $isRust (or $isNetwork $isLegacy))) -}}
32
+ {{ $ecosystemEnabled := true -}}
33
+ {{ if not (eq $ecosystems "all") -}}
34
+ {{ $ecosystemEnabled = false -}}
35
+ {{ if and $isPython (contains "python" $ecosystems) -}}{{ $ecosystemEnabled = true -}}{{ end -}}
36
+ {{ if and $isNode (contains "node" $ecosystems) -}}{{ $ecosystemEnabled = true -}}{{ end -}}
37
+ {{ if and $isRust (contains "rust" $ecosystems) -}}{{ $ecosystemEnabled = true -}}{{ end -}}
38
+ {{ if and $isNetwork (contains "network" $ecosystems) -}}{{ $ecosystemEnabled = true -}}{{ end -}}
39
+ {{ if and $isLegacy (contains "legacy" $ecosystems) -}}{{ $ecosystemEnabled = true -}}{{ end -}}
40
+ {{ end -}}
41
+ {{ $isHeavy := or (contains "/security/" $name) (contains "/docker/" $name) (contains "/kubernetes/" $name) (contains "/terraform/" $name) (contains "/gcloud/" $name) -}}
42
+ {{ $isMinimalExcluded := or $isHeavy (contains "/ai/" $name) (contains "/benchmarks/" $name) -}}
43
+ {{ $includeByProfile := true -}}
44
+ {{ if and (eq $aliasProfile "minimal") $isMinimalExcluded -}}
45
+ {{ $includeByProfile = false -}}
46
+ {{ end -}}
47
+ {{ range $coreCategories -}}
48
+ {{ if contains (printf "/%s/" .) $name -}}
49
+ {{ $isCore = true -}}
50
+ {{ end -}}
51
+ {{ end -}}
52
+ {{ if and (not $isCore) (not (contains "/macOS/" $name)) $includeByProfile (or (not $isEcosystem) $ecosystemEnabled) $bucketEnabled }}
53
+ {{ include $name }}
54
+ {{ end -}}
55
+ {{ end }}