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