@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,194 @@
1
+ # Zsh history and options
2
+ HISTFILE="${HOME}/.zsh_history"
3
+ HISTSIZE=10000
4
+ SAVEHIST=10000
5
+ setopt HIST_IGNORE_ALL_DUPS
6
+ setopt HIST_SAVE_NO_DUPS
7
+ setopt HIST_EXPIRE_DUPS_FIRST
8
+ setopt HIST_FIND_NO_DUPS
9
+ setopt HIST_IGNORE_SPACE
10
+ setopt HIST_REDUCE_BLANKS
11
+ setopt EXTENDED_HISTORY
12
+ setopt SHARE_HISTORY
13
+ setopt APPEND_HISTORY
14
+ setopt HIST_SAVE_BY_COPY
15
+ setopt INTERACTIVE_COMMENTS
16
+
17
+ setopt AUTO_CD
18
+ setopt AUTO_PUSHD
19
+ setopt PUSHD_IGNORE_DUPS
20
+ setopt PUSHD_SILENT
21
+ setopt NO_BEEP
22
+
23
+ bindkey -v
24
+
25
+ # Fix: prevent auto-indent when pasting multi-line content (vi mode)
26
+ autoload -Uz bracketed-paste-magic
27
+ zle -N bracketed-paste bracketed-paste-magic
28
+
29
+ autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
30
+ zle -N up-line-or-beginning-search
31
+ zle -N down-line-or-beginning-search
32
+ bindkey -M viins "^[[A" up-line-or-beginning-search
33
+ bindkey -M viins "^[[B" down-line-or-beginning-search
34
+ bindkey -M viins "^P" up-line-or-beginning-search
35
+ bindkey -M viins "^N" down-line-or-beginning-search
36
+
37
+ ZSH_COMPLETIONS_DIR="${XDG_DATA_HOME:-${HOME}/.local/share}/zsh/completions"
38
+ if [[ ! -d "${ZSH_COMPLETIONS_DIR}" ]]; then
39
+ command mkdir -p "${ZSH_COMPLETIONS_DIR}"
40
+ fi
41
+ if [[ -z ${fpath[(r)${ZSH_COMPLETIONS_DIR}]} ]]; then
42
+ fpath=("${ZSH_COMPLETIONS_DIR}" "${fpath[@]}")
43
+ fi
44
+ {{- /* Node.js version manager: configured via .chezmoidata.toml tools.node_manager */ -}}
45
+ {{- $node_mgr := default "mise" .tools.node_manager -}}
46
+ {{- if eq $node_mgr "fnm" }}
47
+ # fnm (Fast Node Manager)
48
+ # Initialize early so Node + corepack use the expected version.
49
+ if [[ "${DOTFILES_FAST:-0}" != "1" ]] && [[ "${DOTFILES_ULTRA_FAST:-0}" != "1" ]] && command -v fnm >/dev/null; then
50
+ if [[ ! -f "${ZSH_COMPLETIONS_DIR}/_fnm" ]]; then
51
+ command fnm completions --shell zsh >| "${ZSH_COMPLETIONS_DIR}/_fnm"
52
+ fi
53
+ _lazy_load_fnm() {
54
+ unfunction node npm npx pnpm pnpx fnm _lazy_load_fnm 2>/dev/null
55
+ eval "$(command fnm env --use-on-cd --shell zsh --log-level quiet)"
56
+ }
57
+ fnm() { _lazy_load_fnm; command fnm "$@"; }
58
+ node() { _lazy_load_fnm; command node "$@"; }
59
+ npm() { _lazy_load_fnm; command npm "$@"; }
60
+ npx() { _lazy_load_fnm; command npx "$@"; }
61
+ pnpm() { _lazy_load_fnm; command pnpm "$@"; }
62
+ pnpx() { _lazy_load_fnm; command pnpx "$@"; }
63
+ fi
64
+ {{- end }}
65
+ {{- /* When node_manager = "mise", Node.js is handled by mise activate in dot_zshrc.tmpl */}}
66
+
67
+ # Completions: pre-warmed by `dot prewarm`, generated on-demand as fallback
68
+ if [[ "${DOTFILES_FAST:-0}" != "1" ]] && [[ "${DOTFILES_ULTRA_FAST:-0}" != "1" ]]; then
69
+ [[ ! -f "${ZSH_COMPLETIONS_DIR}/_gh" ]] && command -v gh >/dev/null &&
70
+ command gh completion -s zsh >| "${ZSH_COMPLETIONS_DIR}/_gh"
71
+ [[ ! -f "${ZSH_COMPLETIONS_DIR}/_just" ]] && command -v just >/dev/null &&
72
+ command just --completions zsh >| "${ZSH_COMPLETIONS_DIR}/_just"
73
+ [[ ! -f "${ZSH_COMPLETIONS_DIR}/_chezmoi" ]] && command -v chezmoi >/dev/null &&
74
+ command chezmoi completion zsh >| "${ZSH_COMPLETIONS_DIR}/_chezmoi"
75
+ [[ ! -f "${ZSH_COMPLETIONS_DIR}/_kubectl" ]] && command -v kubectl >/dev/null &&
76
+ command kubectl completion zsh >| "${ZSH_COMPLETIONS_DIR}/_kubectl"
77
+ [[ ! -f "${ZSH_COMPLETIONS_DIR}/_atuin" ]] && command -v atuin >/dev/null &&
78
+ command atuin gen-completions --shell zsh --out-dir "${ZSH_COMPLETIONS_DIR}" 2>/dev/null
79
+ [[ ! -f "${ZSH_COMPLETIONS_DIR}/_mise" ]] && command -v mise >/dev/null &&
80
+ command mise completions zsh >| "${ZSH_COMPLETIONS_DIR}/_mise" 2>/dev/null
81
+ fi
82
+
83
+ {{- if eq $node_mgr "nvm" }}
84
+ # Lazy-load NVM
85
+ export NVM_DIR="${NVM_DIR:-$HOME/.nvm}"
86
+ if [[ "${DOTFILES_FAST:-0}" != "1" ]] && [[ "${DOTFILES_ULTRA_FAST:-0}" != "1" ]]; then
87
+ if [[ -s "${NVM_DIR}/nvm.sh" ]]; then
88
+ _lazy_load_nvm() {
89
+ unfunction node npm npx nvm _lazy_load_nvm 2>/dev/null
90
+ # shellcheck disable=SC1090
91
+ . "${NVM_DIR}/nvm.sh"
92
+ if [[ -s "${NVM_DIR}/bash_completion" ]]; then
93
+ # shellcheck disable=SC1090
94
+ . "${NVM_DIR}/bash_completion"
95
+ fi
96
+ }
97
+ nvm() { _lazy_load_nvm; nvm "$@"; }
98
+ node() { _lazy_load_nvm; command node "$@"; }
99
+ npm() { _lazy_load_nvm; command npm "$@"; }
100
+ npx() { _lazy_load_nvm; command npx "$@"; }
101
+ fi
102
+ fi
103
+ {{- end }}
104
+
105
+ # Lazy-load SDKMAN
106
+ export SDKMAN_DIR="${SDKMAN_DIR:-$HOME/.sdkman}"
107
+ if [[ "${DOTFILES_FAST:-0}" != "1" ]] && [[ "${DOTFILES_ULTRA_FAST:-0}" != "1" ]] && [[ -s "${SDKMAN_DIR}/bin/sdkman-init.sh" && -z "${functions[sdk]:-}" ]]; then
108
+ _lazy_load_sdkman() {
109
+ unfunction sdk _lazy_load_sdkman 2>/dev/null
110
+ # shellcheck disable=SC1090
111
+ . "${SDKMAN_DIR}/bin/sdkman-init.sh"
112
+ }
113
+ sdk() { _lazy_load_sdkman; sdk "$@"; }
114
+ fi
115
+ # Defer compinit to first prompt — opt-in for max performance
116
+ : ${DOTFILES_ENABLE_COMPINIT:=0}
117
+ : ${DOTFILES_DEFER_COMPINIT:=1}
118
+ if [[ "${DOTFILES_ENABLE_COMPINIT}" == "1" ]] && [[ "${DOTFILES_FAST:-0}" != "1" ]] && [[ "${DOTFILES_ULTRA_FAST:-0}" != "1" ]]; then
119
+ autoload -Uz compinit
120
+ _deferred_compinit() {
121
+ if [[ "${DOTFILES_DEFER_COMPINIT}" == "1" ]]; then
122
+ _dotfiles_del_preexec _deferred_compinit
123
+ else
124
+ _dotfiles_del_precmd _deferred_compinit
125
+ fi
126
+ if [[ -n ${ZDOTDIR}/.zcompdump(#qN.mh+24) ]]; then
127
+ compinit
128
+ else
129
+ compinit -C
130
+ fi
131
+ # Compile zcompdump to bytecode in background for faster subsequent loads
132
+ { [[ ! -f "${ZDOTDIR}/.zcompdump.zwc" || "${ZDOTDIR}/.zcompdump" -nt "${ZDOTDIR}/.zcompdump.zwc" ]] && zcompile "${ZDOTDIR}/.zcompdump" } &!
133
+ }
134
+ if [[ "${DOTFILES_DEFER_COMPINIT}" == "1" ]]; then
135
+ _dotfiles_add_preexec _deferred_compinit
136
+ else
137
+ _dotfiles_add_precmd _deferred_compinit
138
+ fi
139
+
140
+ zstyle ':completion:*' menu select
141
+ zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
142
+ zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
143
+ zstyle ':completion:*' special-dirs true
144
+ zstyle ':completion:*' verbose yes
145
+ fi
146
+
147
+ # Colors (opt-in; enables $fg/$bg variables)
148
+ : ${DOTFILES_ENABLE_COLORS:=0}
149
+ if [[ "${DOTFILES_ENABLE_COLORS}" == "1" ]]; then
150
+ : ${DOTFILES_DEFER_COLORS:=1}
151
+ if [[ "${DOTFILES_DEFER_COLORS}" == "1" ]]; then
152
+ _dotfiles_colors_zle_init() {
153
+ zle -D zle-line-init
154
+ # Skip when running -c (no prompt)
155
+ [[ -n "${ZSH_EXECUTION_STRING:-}" ]] && return 0
156
+ autoload -Uz colors && colors
157
+ }
158
+ zle -N zle-line-init _dotfiles_colors_zle_init
159
+ else
160
+ autoload -Uz colors && colors
161
+ fi
162
+ fi
163
+ unsetopt correct_all
164
+
165
+ # fzf integration
166
+ if [[ "${DOTFILES_FAST:-0}" != "1" ]] && [[ "${DOTFILES_ULTRA_FAST:-0}" != "1" ]]; then
167
+ if [[ -f "${HOME}/.config/fzf/fzf.zsh" ]]; then
168
+ source "${HOME}/.config/fzf/fzf.zsh"
169
+ elif [[ -f "${HOME}/.fzf.zsh" ]]; then
170
+ source "${HOME}/.fzf.zsh"
171
+ fi
172
+ fi
173
+
174
+ # Explicit fzf bindings (fallback if not already set by fzf)
175
+ if [[ "${DOTFILES_FAST:-0}" != "1" ]] && [[ "${DOTFILES_ULTRA_FAST:-0}" != "1" ]] && command -v fzf >/dev/null; then
176
+ bindkey -M viins -s '^T' 'fzf^M'
177
+ bindkey -M viins -s '^R' 'fzf^M'
178
+ fi
179
+
180
+ # direnv (directory environments)
181
+ if [[ "${DOTFILES_FAST:-0}" != "1" ]] && [[ "${DOTFILES_ULTRA_FAST:-0}" != "1" ]] && command -v direnv >/dev/null; then
182
+ # Custom quiet hook: suppress direnv status chatter on every prompt/chdir.
183
+ _dotfiles_direnv_hook() {
184
+ # Fast path: skip direnv in dotfiles unless flake mode is explicitly enabled.
185
+ if [[ "${PWD:A}" == "${HOME}/.dotfiles"* ]] && [[ "${DOTFILES_USE_FLAKE:-0}" != "1" ]] && [[ "${CI:-0}" != "1" ]]; then
186
+ return 0
187
+ fi
188
+ trap -- '' SIGINT
189
+ eval "$(direnv export zsh 2>/dev/null)"
190
+ trap - SIGINT
191
+ }
192
+ autoload -Uz add-zsh-hook
193
+ add-zsh-hook chpwd _dotfiles_direnv_hook
194
+ fi
@@ -0,0 +1,20 @@
1
+ # Terminal bell (sound + visual)
2
+
3
+ : ${DOTFILES_BELL_SOUND:=1}
4
+ : ${DOTFILES_BELL_VISUAL:=1}
5
+
6
+ if [[ "$DOTFILES_BELL_SOUND" == "1" ]]; then
7
+ unsetopt NO_BEEP
8
+ setopt BEEP
9
+ else
10
+ setopt NO_BEEP
11
+ fi
12
+
13
+ # Some zsh builds don't include visualbell; guard to avoid startup errors.
14
+ if (( $+options[visualbell] )); then
15
+ if [[ "$DOTFILES_BELL_VISUAL" == "1" ]]; then
16
+ setopt VISUALBELL
17
+ else
18
+ unsetopt VISUALBELL
19
+ fi
20
+ fi
@@ -0,0 +1,9 @@
1
+ # Login fortune (cowsay)
2
+
3
+ : ${DOTFILES_LOGIN_FORTUNE:=1}
4
+
5
+ if [[ -o login ]] && [[ "$DOTFILES_LOGIN_FORTUNE" == "1" ]]; then
6
+ if command -v fortune >/dev/null && command -v cowsay >/dev/null; then
7
+ fortune | cowsay
8
+ fi
9
+ fi
@@ -0,0 +1,32 @@
1
+ # Smart Alias Function (High-Fidelity TUI)
2
+ alias_wrapper() {
3
+ if [[ $# -eq 0 ]]; then
4
+ # Find gum cmd dynamically if needed
5
+ local gum_cmd
6
+ gum_cmd=$(command -v gum 2>/dev/null || (command -v mise >/dev/null && mise which "aqua:charmbracelet/gum" 2>/dev/null))
7
+
8
+ if [[ -n "$gum_cmd" ]]; then
9
+ # Use printf to get a literal tab
10
+ local tab=$'\t'
11
+
12
+ # Extract aliases, format as Tab separated, ensure only 2 columns, and pipe to gum table
13
+ builtin alias | sed -E "s/^([^=]+)='?([^']*)'?$/\1${tab}\2/" |
14
+ while IFS=$tab read -r alias_name cmd_body; do
15
+ if [[ -n "$alias_name" && -n "$cmd_body" ]]; then
16
+ # Ensure no extra tabs in body and exactly one tab total
17
+ local clean_cmd="${cmd_body//$tab/ }"
18
+ printf "%s\t%s\n" "$alias_name" "$clean_cmd"
19
+ fi
20
+ done |
21
+ "$gum_cmd" table --separator "${tab}" --print --columns "Alias,Command" --widths 15,60 \
22
+ --border rounded --border.foreground 212 --header.foreground 212
23
+ elif command -v bat >/dev/null 2>&1; then
24
+ builtin alias | bat -l sh --style=plain
25
+ else
26
+ builtin alias
27
+ fi
28
+ else
29
+ builtin alias "$@"
30
+ fi
31
+ }
32
+ alias alias=alias_wrapper
@@ -0,0 +1,195 @@
1
+ #!/usr/bin/env bash
2
+ ## AI Update — Dotfiles AI workflow updater for cross-platform environments.
3
+ ##
4
+ ## Updates all AI-related tools and runtimes including mise, npm globals,
5
+ ## pipx tools, Ollama, and LM Studio. Auto-detects installation methods.
6
+ ##
7
+ ## # Requirements
8
+ ## - curl: For downloading updates
9
+ ## - sudo: For system-level updates (Linux)
10
+ ## - zstd: For Ollama archive extraction (Linux)
11
+ ##
12
+ ## # Usage
13
+ ## ai-update # Update all AI tools
14
+ ##
15
+ ## # Platform Notes
16
+ ## - macOS: Updates via Homebrew where applicable
17
+ ## - Linux: Updates via APT, manual binaries, or pipx
18
+ ## - WSL: Full Linux support
19
+
20
+ set -euo pipefail
21
+
22
+ # --- Configuration & Theme ---
23
+ CYAN=''
24
+ PURPLE=''
25
+ GREEN=''
26
+ YELLOW=''
27
+ RED=''
28
+ GRAY=''
29
+ NC=''
30
+ BOLD=''
31
+
32
+ # --- UI Components ---
33
+ log_header() {
34
+ printf '%b\n' "
35
+ ${BOLD}${PURPLE}Updating AI Environment${NC}"
36
+ printf '%b\n' "${GRAY}-----------------------------------------------------------${NC}"
37
+ }
38
+
39
+ step() { echo -ne "${CYAN}->${NC} ${BOLD}$1...${NC} "; }
40
+ ok() { printf '%b\n' "${GREEN}done${NC}"; }
41
+ skip() { printf '%b\n' "${YELLOW}skipped${NC} ${GRAY}($1)${NC}"; }
42
+ err() { printf '%b\n' "${RED}error${NC}
43
+ ${RED}$1${NC}"; }
44
+
45
+ # --- Initialization ---
46
+ log_header
47
+
48
+ # Pre-auth sudo to avoid mid-script interruptions
49
+ if [[ "$(uname -s)" == "Linux" ]]; then
50
+ step "Authenticating sudo"
51
+ if sudo -v; then ok; else
52
+ err "Sudo required for system updates"
53
+ exit 1
54
+ fi
55
+ fi
56
+
57
+ # --- 1. mise Core (Multi-Method Detection) ---
58
+ if command -v mise >/dev/null 2>&1; then
59
+ step "Checking mise core"
60
+ if [[ "$(uname -s)" == "Linux" ]] && command -v pacman >/dev/null 2>&1 && pacman -Qs mise >/dev/null 2>&1; then
61
+ # Handle Arch/CachyOS AUR/Official package
62
+ sudo pacman -S --noconfirm mise >/dev/null 2>&1 || true
63
+ ok
64
+ elif [[ "$(uname -s)" == "Linux" ]] && command -v dpkg >/dev/null 2>&1 && dpkg -s mise >/dev/null 2>&1; then
65
+ # Handle your ZorinOS APT installation
66
+ sudo apt update -y -o Dir::Etc::sourcelist="sources.list.d/jdx.list" >/dev/null 2>&1 || true
67
+ sudo apt install --only-upgrade -y mise >/dev/null 2>&1
68
+ ok
69
+ elif command -v brew >/dev/null 2>&1 && brew list mise >/dev/null 2>&1; then
70
+ # Handle macOS/Linux Brew installation
71
+ brew upgrade mise >/dev/null 2>&1
72
+ ok
73
+ else
74
+ # Fallback for standalone binary installation
75
+ if mise self-update -y >/dev/null 2>&1; then ok; else skip "manual update needed"; fi
76
+ fi
77
+ else
78
+ skip "mise not found"
79
+ fi
80
+
81
+ # --- 2. System & Language Packages ---
82
+
83
+ # Homebrew
84
+ if command -v brew >/dev/null 2>&1; then
85
+ step "Homebrew packages"
86
+ brew update >/dev/null && brew upgrade --quiet >/dev/null
87
+ ok
88
+ fi
89
+
90
+ # NPM Globals (via mise)
91
+ if command -v mise >/dev/null 2>&1; then
92
+ step "NPM (claude, gemini, etc)"
93
+ mise exec node -- npm update -g --audit=false >/dev/null 2>&1
94
+ ok
95
+
96
+ step "Kiro CLI"
97
+ if [[ "$(uname -s)" == "Darwin" ]]; then
98
+ skip "managed by Kiro app bundle via mise plugin"
99
+ elif mise upgrade kiro-cli >/dev/null 2>&1; then
100
+ ok
101
+ else
102
+ skip "mise plugin update unavailable"
103
+ fi
104
+ fi
105
+
106
+ # Pipx (aider, sgpt)
107
+ if command -v pipx >/dev/null 2>&1; then
108
+ step "Pipx tools"
109
+ pipx upgrade-all >/dev/null 2>&1
110
+ ok
111
+ fi
112
+
113
+ # --- 3. Specialized AI Binaries ---
114
+
115
+ # Ollama (Verified Manual Override)
116
+ if command -v ollama >/dev/null 2>&1; then
117
+ if [[ "$(uname -s)" == "Linux" ]]; then
118
+ step "Ollama (Manual Deployment)"
119
+ arch="$(uname -m)"
120
+ case "$arch" in
121
+ x86_64 | amd64) ollama_arch="amd64" ;;
122
+ aarch64 | arm64) ollama_arch="arm64" ;;
123
+ *) ollama_arch="" ;;
124
+ esac
125
+
126
+ if [[ -n "$ollama_arch" ]]; then
127
+ # Check for updates by comparing local vs remote version
128
+ current_ver="$(ollama --version | awk '{print $NF}' | tr -d '[:space:]')"
129
+ # This is a bit slow but safer than downloading every time
130
+ latest_ver="$(curl -fsSL -I https://github.com/ollama/ollama/releases/latest | grep -i location | sed 's/.*\/v//;s/
131
+
132
+ if [[ "$current_ver" == "$latest_ver" ]]; then
133
+ skip "already up to date"
134
+ else
135
+ tmp_tar="$(umask 077 && mktemp)"
136
+ trap 'rm -f "$tmp_tar"' EXIT
137
+ tar_url="https://ollama.com/download/ollama-linux-${ollama_arch}.tar.zst"
138
+
139
+ if curl -fsSL --retry 2 "$tar_url" -o "$tmp_tar" && zstd -t "$tmp_tar" >/dev/null 2>&1; then
140
+ # Stop service safely
141
+ if command -v systemctl >/dev/null 2>&1; then
142
+ sudo systemctl stop ollama 2>/dev/null || true
143
+ fi
144
+
145
+ # Extract
146
+ zstd -dc "$tmp_tar" | sudo tar -x -C /usr/local >/dev/null
147
+
148
+ # Ensure permissions
149
+ sudo chmod +x /usr/local/bin/ollama
150
+
151
+ # Restart if systemd exists
152
+ if command -v systemctl >/dev/null 2>&1; then
153
+ sudo systemctl daemon-reload
154
+ sudo systemctl start ollama 2>/dev/null || true
155
+ fi
156
+ ok
157
+ else
158
+ err "Integrity check failed"
159
+ fi
160
+ fi
161
+ else
162
+ skip "unsupported arch"
163
+ fi
164
+ else
165
+ # macOS users typically use the .app or Brew
166
+ step "Ollama (macOS)"
167
+ if command -v brew >/dev/null 2>&1 && brew upgrade ollama --cask >/dev/null 2>&1; then
168
+ ok
169
+ else
170
+ skip "Update via App"
171
+ fi
172
+ fi
173
+ fi
174
+
175
+ # LM Studio Runtime
176
+ if command -v lms >/dev/null 2>&1; then
177
+ step "LM Studio Runtime"
178
+ lms runtime update >/dev/null 2>&1
179
+ ok
180
+ fi
181
+
182
+ # --- 4. Final Summary ---
183
+ printf '%b\n' "${GRAY}-----------------------------------------------------------${NC}"
184
+ printf '%b\n' "${GREEN}${BOLD}Dotfiles Environment Ready${NC}"
185
+
186
+ # Version Report
187
+ printf '%b\n' "
188
+ ${BOLD}System Version Status:${NC}"
189
+ printf "%b%-12s%b %s\n" "${GRAY}" "Node:" "${NC}" "$(node -v 2>/dev/null || echo 'N/A')"
190
+ printf "%b%-12s%b %s\n" "${GRAY}" "Kiro:" "${NC}" "$(kiro-cli --version 2>/dev/null | awk '{print $NF}' || echo 'N/A')"
191
+ printf "%b%-12s%b %s\n" "${GRAY}" "Ollama:" "${NC}" "$(ollama --version 2>/dev/null | awk '{print $NF}' || echo 'N/A')"
192
+ printf "%b%-12s%b %s\n" "${GRAY}" "Pipx:" "${NC}" "$(pipx --version 2>/dev/null || echo 'N/A')"
193
+ printf "%b%-12s%b %s\n" "${GRAY}" "Mise:" "${NC}" "$(mise --version 2>/dev/null | awk '{print $1}' || echo 'N/A')"
194
+
195
+ trap - EXIT
@@ -0,0 +1,152 @@
1
+ #!/usr/bin/env bash
2
+ ## AI Core — Central wrapper for AI operations in the Predictive Shell.
3
+ ##
4
+ ## Manages local LLM (llamafile) and fallback to GitHub Copilot CLI.
5
+ ## Handles model downloading, server management, and query routing.
6
+ ##
7
+ ## # Requirements
8
+ ## - curl: For downloading models and API requests
9
+ ## - nc (netcat): For checking server availability
10
+ ## - jq: For parsing JSON responses
11
+ ## - llamafile (optional): Local LLM server
12
+ ## - copilot (optional): GitHub Copilot CLI fallback
13
+ ##
14
+ ## # Usage
15
+ ## ai_core status # Check AI subsystem status
16
+ ## ai_core download # Download local LLM model (~4GB)
17
+ ## ai_core start # Start local LLM server
18
+ ## ai_core query "prompt" # Query the AI (auto-selects provider)
19
+ ##
20
+ ## # Platform Notes
21
+ ## - Linux/macOS: Full support
22
+ ## - WSL: Supported with llamafile or Copilot
23
+ ## - Model stored in $XDG_DATA_HOME/ai/models/
24
+
25
+ set -euo pipefail
26
+
27
+ # Configuration
28
+ LLAMAFILE_URL="https://huggingface.co/jart/inexpensive-llm/resolve/main/llamafile-server-0.1-llava-v1.5-7b-q4"
29
+ MODEL_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/ai/models"
30
+ MODEL_PATH="$MODEL_DIR/llava-v1.5-7b-q4.llamafile"
31
+ # Default to port 8080 for llamafile server
32
+ SERVER_PORT=8080
33
+
34
+ # Ensure model directory exists
35
+ ensure_model_dir() {
36
+ if [ ! -d "$MODEL_DIR" ]; then
37
+ mkdir -p "$MODEL_DIR"
38
+ fi
39
+ }
40
+
41
+ # Check if we have a local LLM available
42
+ check_local_llm() {
43
+ if [ -f "$MODEL_PATH" ]; then
44
+ return 0
45
+ else
46
+ return 1
47
+ fi
48
+ }
49
+
50
+ # Download the model (interactive only)
51
+ download_model() {
52
+ ensure_model_dir
53
+ echo "Local LLM model not found at $MODEL_PATH"
54
+ echo "This feature requires downloading a localized LLM (~4GB)."
55
+ read -p "Do you want to download it now? (y/n) " -n 1 -r
56
+ echo
57
+ if [[ $REPLY =~ ^[Yy]$ ]]; then
58
+ echo "Downloading llamafile..."
59
+ # Note: curl -L is used to follow redirects
60
+ if curl -L -o "$MODEL_PATH" "$LLAMAFILE_URL"; then
61
+ chmod +x "$MODEL_PATH"
62
+ echo "Download complete. Model saved to $MODEL_PATH"
63
+ else
64
+ echo "Download failed."
65
+ return 1
66
+ fi
67
+ else
68
+ echo "Skipping download. AI features may be limited."
69
+ return 1
70
+ fi
71
+ }
72
+
73
+ # Verify status of AI subsystem
74
+ status() {
75
+ echo "--- Predictive Shell AI Core Status ---"
76
+ if check_local_llm; then
77
+ echo "Local LLM: Installed ($MODEL_PATH)"
78
+ else
79
+ echo "Local LLM: Not installed"
80
+ fi
81
+
82
+ # Check for other providers
83
+ if command -v copilot &>/dev/null; then
84
+ echo "GitHub Copilot CLI: Available"
85
+ elif command -v gh &>/dev/null && gh copilot --version &>/dev/null; then
86
+ echo "GitHub Copilot CLI: Available"
87
+ else
88
+ echo "GitHub Copilot CLI: Not available"
89
+ fi
90
+ }
91
+
92
+ # Start the server (background)
93
+ start_server() {
94
+ if ! check_local_llm; then
95
+ download_model || return 1
96
+ fi
97
+
98
+ echo "Starting Local LLM Server..."
99
+ "$MODEL_PATH" --server --nobrowser --port "$SERVER_PORT" &
100
+ echo "Server started on port $SERVER_PORT"
101
+ }
102
+
103
+ # Query the LLM
104
+ # Usage: ai_core query "Your prompt here"
105
+ query() {
106
+ local prompt="$1"
107
+
108
+ # Priority 1: Local LLM Server if running
109
+ if nc -z localhost "$SERVER_PORT" 2>/dev/null; then
110
+ # Simple curl based query to llamafile standard endpoint
111
+ # Note: This is a simplified example payload
112
+ curl -s -X POST "http://localhost:$SERVER_PORT/completion" \
113
+ -H "Content-Type: application/json" \
114
+ -d "{\"prompt\": \"$prompt\", \"n_predict\": 128}" | jq -r .content
115
+ return
116
+ fi
117
+
118
+ # Priority 2: GitHub Copilot CLI
119
+ if command -v copilot &>/dev/null; then
120
+ echo "Local server not running. Using GitHub Copilot..."
121
+ copilot -p "$prompt"
122
+ return
123
+ fi
124
+
125
+ if command -v gh &>/dev/null && gh copilot --version &>/dev/null; then
126
+ echo "Local server not running. Using GitHub Copilot..."
127
+ gh copilot explain "$prompt"
128
+ return
129
+ fi
130
+
131
+ echo "No AI provider available. Run 'ai_core start' or install GitHub Copilot CLI."
132
+ }
133
+
134
+ case "$1" in
135
+ status)
136
+ status
137
+ ;;
138
+ download)
139
+ download_model
140
+ ;;
141
+ start)
142
+ start_server
143
+ ;;
144
+ query)
145
+ shift
146
+ query "$@"
147
+ ;;
148
+ *)
149
+ echo "Usage: $0 {status|download|start|query}"
150
+ exit 1
151
+ ;;
152
+ esac
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env bash
2
+ # Wrapper for Antigravity extension updates under Topgrade.
3
+ # Clears Node/Electron env that can inject custom loaders and crash updater.
4
+ set -euo pipefail
5
+
6
+ unset NODE_OPTIONS
7
+ unset ELECTRON_RUN_AS_NODE
8
+ unset ELECTRON_NO_ATTACH_CONSOLE
9
+ unset ELECTRON_ENABLE_LOGGING
10
+
11
+ exec /usr/bin/antigravity "$@"