@sebastienrousseau/dotfiles 0.2.469 → 0.2.481

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 (490) hide show
  1. package/CHANGELOG.md +285 -0
  2. package/README.md +236 -319
  3. package/docs/ALIASES.md +128 -0
  4. package/docs/ARCHITECTURE.md +229 -0
  5. package/docs/COMPLIANCE.md +47 -0
  6. package/docs/COPYRIGHT +7 -0
  7. package/docs/FEATURES.md +166 -0
  8. package/docs/FONTS.md +147 -0
  9. package/docs/INSTALL.md +119 -0
  10. package/docs/KEYS.md +40 -0
  11. package/docs/KEY_ROTATION.md +219 -0
  12. package/docs/LEGACY_ROADMAP.md +142 -0
  13. package/docs/NEOVIM_IDE_GUIDE.md +52 -0
  14. package/docs/OPERATIONS.md +130 -0
  15. package/docs/PLAN.md +161 -0
  16. package/docs/PR_DESCRIPTION.md +149 -0
  17. package/docs/README.md +269 -0
  18. package/docs/REPO_AUDIT.md +23 -0
  19. package/docs/ROADMAP.md +148 -0
  20. package/docs/SCREENSHOTS.md +116 -0
  21. package/docs/SECRETS.md +76 -0
  22. package/docs/SECURITY.md +30 -0
  23. package/docs/SECURITY_CHECKLIST.md +25 -0
  24. package/docs/TASK.md +99 -0
  25. package/docs/TESTING.md +190 -0
  26. package/docs/TOOLS.md +146 -0
  27. package/docs/TROUBLESHOOTING.md +112 -0
  28. package/docs/UTILS.md +105 -0
  29. package/docs/WALKTHROUGH.md +165 -0
  30. package/docs/WSL2_NIX_TROUBLESHOOTING.md +723 -0
  31. package/docs/adr/ADR-001-ci-cd-pipeline.md +101 -0
  32. package/docs/adr/ADR-002-shell-performance.md +121 -0
  33. package/docs/adr/ADR-003-security-first.md +140 -0
  34. package/docs/adr/ADR-004-cli-architecture.md +157 -0
  35. package/docs/adr/ADR-005-chezmoi-choice.md +89 -0
  36. package/docs/adr/ADR-006-shell-selection.md +115 -0
  37. package/docs/adr/README.md +33 -0
  38. package/docs/themes/README.md +20 -0
  39. package/dot_config/aider/aider.conf.yml +32 -0
  40. package/dot_config/alacritty/alacritty.toml.tmpl +483 -0
  41. package/dot_config/ansible/ansible.cfg.tmpl +11 -0
  42. package/dot_config/atuin/config.toml +23 -0
  43. package/dot_config/bat/config +8 -0
  44. package/dot_config/brave-flags.conf.tmpl +7 -0
  45. package/dot_config/btop/btop.conf +16 -0
  46. package/dot_config/btop/themes/tokyonight.theme +34 -0
  47. package/dot_config/bun/bunfig.toml.tmpl +33 -0
  48. package/dot_config/claude/mcp_servers.json +49 -0
  49. package/dot_config/clippy.toml +55 -0
  50. package/dot_config/containers/containers.conf +14 -0
  51. package/dot_config/curl/dot_curlrc +18 -0
  52. package/dot_config/dlv/config.yml +39 -0
  53. package/dot_config/docker/config.json.tmpl +15 -0
  54. package/dot_config/dotfiles/boot/README.md +11 -0
  55. package/dot_config/dotfiles/grub/README.md +11 -0
  56. package/dot_config/dotfiles/lock/README.md +11 -0
  57. package/dot_config/dotfiles/versions.env.tmpl +19 -0
  58. package/dot_config/duf/duf.conf +6 -0
  59. package/dot_config/duti/defaults.duti +5 -0
  60. package/dot_config/emoji/emoji.txt +34 -0
  61. package/dot_config/fastfetch/config.jsonc +28 -0
  62. package/dot_config/firefox/user.js +8 -0
  63. package/dot_config/flatpak/flatpak.list +4 -0
  64. package/dot_config/fontconfig/fonts.conf.tmpl +44 -0
  65. package/dot_config/gh/config.yml +12 -0
  66. package/dot_config/ghostty/config.tmpl +661 -0
  67. package/dot_config/git/attributes +12 -0
  68. package/dot_config/git/config.tmpl +77 -0
  69. package/dot_config/git/ignore +27 -0
  70. package/dot_config/gnupg/gpg-agent.conf.tmpl +11 -0
  71. package/dot_config/go/aliases.sh +61 -0
  72. package/dot_config/go/env.sh +24 -0
  73. package/dot_config/go/golangci.yml +118 -0
  74. package/dot_config/go/gopls.json +30 -0
  75. package/dot_config/goose/config.yaml +29 -0
  76. package/dot_config/gtk-3.0/gtk.css.tmpl +305 -0
  77. package/dot_config/gtk-3.0/settings.ini.tmpl +66 -0
  78. package/dot_config/gtk-4.0/gtk.css.tmpl +309 -0
  79. package/dot_config/gtk-4.0/settings.ini.tmpl +21 -0
  80. package/dot_config/htop/htoprc +20 -0
  81. package/dot_config/ice/README.md +13 -0
  82. package/dot_config/inputrc +2 -0
  83. package/dot_config/ipython/profile_default/ipython_config.py.tmpl +5 -0
  84. package/dot_config/just/justfile +104 -0
  85. package/dot_config/k9s/config.yaml.tmpl +65 -0
  86. package/dot_config/k9s/skins/catppuccin-mocha.yaml +116 -0
  87. package/dot_config/karabiner/karabiner.json +14 -0
  88. package/dot_config/kitty/kitty.conf.tmpl +517 -0
  89. package/dot_config/lazydocker/config.yml +186 -0
  90. package/dot_config/lazygit/config.yml +23 -0
  91. package/dot_config/lsd/config.yaml +19 -0
  92. package/dot_config/mas/masapps.txt +5 -0
  93. package/dot_config/minikube/config.json +13 -0
  94. package/dot_config/mise/config.toml +41 -0
  95. package/dot_config/mongosh/mongoshrc.js +67 -0
  96. package/dot_config/mycli/myclirc +67 -0
  97. package/dot_config/nano/nanorc +28 -0
  98. package/dot_config/ncdu/config +12 -0
  99. package/dot_config/nvim/init.lua +4 -0
  100. package/dot_config/nvim/lazy-lock.json +27 -0
  101. package/dot_config/nvim/lua/config/autocmds.lua +63 -0
  102. package/dot_config/nvim/lua/config/keymaps.lua +87 -0
  103. package/dot_config/nvim/lua/config/lazy.lua +34 -0
  104. package/dot_config/nvim/lua/config/options.lua +48 -0
  105. package/dot_config/nvim/lua/plugins/coding.lua +234 -0
  106. package/dot_config/nvim/lua/plugins/dap.lua +201 -0
  107. package/dot_config/nvim/lua/plugins/editor.lua +59 -0
  108. package/dot_config/nvim/lua/plugins/git.lua +9 -0
  109. package/dot_config/nvim/lua/plugins/lsp.lua +221 -0
  110. package/dot_config/nvim/lua/plugins/markdown.lua +17 -0
  111. package/dot_config/nvim/lua/plugins/rust.lua +33 -0
  112. package/dot_config/nvim/lua/plugins/sessions.lua +32 -0
  113. package/dot_config/nvim/lua/plugins/ui.lua +537 -0
  114. package/dot_config/nvim/snippets/all.lua +9 -0
  115. package/dot_config/nvim/snippets/python.lua +16 -0
  116. package/dot_config/pip/pip.conf.tmpl +32 -0
  117. package/dot_config/pypoetry/config.toml.tmpl +6 -0
  118. package/dot_config/pyrightconfig.json.tmpl +5 -0
  119. package/dot_config/raycast/README.md +13 -0
  120. package/dot_config/redis/redisclirc +41 -0
  121. package/dot_config/shell/00-container-detect.sh +53 -0
  122. package/dot_config/shell/00-core-paths.sh.tmpl +95 -0
  123. package/dot_config/shell/05-core-safety.sh.tmpl +13 -0
  124. package/dot_config/shell/40-ls-colors.sh.tmpl +31 -0
  125. package/dot_config/shell/50-logic-functions.sh.tmpl +10 -0
  126. package/dot_config/shell/90-theme-switch.sh +70 -0
  127. package/dot_config/shell/90-ux-aliases.sh.tmpl +35 -0
  128. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +23 -0
  129. package/dot_config/shell/Brewfile +207 -0
  130. package/dot_config/shell/Brewfile.cask +92 -0
  131. package/dot_config/shell/Brewfile.cli +119 -0
  132. package/dot_config/shell/README.md +267 -0
  133. package/dot_config/shell/custom/context_suggest.zsh +68 -0
  134. package/dot_config/shell/custom/error_analysis.zsh +45 -0
  135. package/dot_config/sops/dot_sops.yaml +23 -0
  136. package/dot_config/starship.toml.tmpl +124 -0
  137. package/dot_config/task/Taskfile.yml +86 -0
  138. package/dot_config/tflint/tflint.hcl.tmpl +9 -0
  139. package/dot_config/tmux/tmux.conf.tmpl +181 -0
  140. package/dot_config/topgrade/topgrade.toml.tmpl +42 -0
  141. package/dot_config/vscode/extensions.txt +11 -0
  142. package/dot_config/vscode/settings.json.tmpl +123 -0
  143. package/dot_config/waybar/style.css +8 -0
  144. package/dot_config/wezterm/wezterm.lua.tmpl +236 -0
  145. package/dot_config/wget/wgetrc +12 -0
  146. package/dot_config/yarn/yarnrc.yml.tmpl +36 -0
  147. package/dot_config/yazi/yazi.toml +40 -0
  148. package/dot_config/zellij/config.kdl +79 -0
  149. package/dot_config/zsh/dot_zprofile +13 -0
  150. package/dot_config/zsh/dot_zshenv +6 -0
  151. package/dot_config/zsh/dot_zshrc.tmpl +199 -0
  152. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +5 -0
  153. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +28 -0
  154. package/dot_config/zsh/rc.d/20-zinit.zsh.tmpl +22 -0
  155. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +123 -0
  156. package/dot_config/zsh/rc.d/40-bell.zsh.tmpl +20 -0
  157. package/dot_config/zsh/rc.d/50-login-fortune.zsh.tmpl +9 -0
  158. package/dot_local/bin/executable_ai_core +130 -0
  159. package/dot_local/bin/executable_b64 +59 -0
  160. package/dot_local/bin/executable_dot +178 -0
  161. package/dot_local/bin/executable_dot_completion +55 -0
  162. package/dot_local/bin/executable_epoch +62 -0
  163. package/dot_local/bin/executable_extract +108 -0
  164. package/dot_local/bin/executable_git-ai-commit +160 -0
  165. package/dot_local/bin/executable_git-ai-diff +154 -0
  166. package/dot_local/bin/executable_hash +123 -0
  167. package/dot_local/bin/executable_hex +79 -0
  168. package/dot_local/bin/executable_ip +37 -0
  169. package/dot_local/bin/executable_jsonv +54 -0
  170. package/dot_local/bin/executable_jwt +78 -0
  171. package/dot_local/bin/executable_kill-port +59 -0
  172. package/dot_local/bin/executable_lorem +103 -0
  173. package/dot_local/bin/executable_regex +96 -0
  174. package/dot_local/bin/executable_tmux-sessionizer +187 -0
  175. package/dot_local/bin/executable_tour +137 -0
  176. package/dot_local/bin/executable_update +108 -0
  177. package/dot_local/bin/executable_uuid +57 -0
  178. package/dot_local/bin/executable_yamlv +39 -0
  179. package/dot_local/bin/executable_zig-install +89 -0
  180. package/dot_local/bin/voice_ops +7 -0
  181. package/dot_local/share/bash-completion/completions/dot +54 -0
  182. package/dot_local/share/zsh/completions/.keep +0 -0
  183. package/install.sh +255 -0
  184. package/package.json +52 -76
  185. package/scripts/ci/validate-ci-config.sh +222 -0
  186. package/scripts/demo/record.sh +41 -0
  187. package/scripts/diagnostics/benchmark.sh +201 -0
  188. package/scripts/diagnostics/doctor.sh +115 -0
  189. package/scripts/diagnostics/drift-dashboard.sh +26 -0
  190. package/scripts/diagnostics/health.sh +356 -0
  191. package/scripts/diagnostics/history-analysis.sh +77 -0
  192. package/scripts/diagnostics/security-score.sh +392 -0
  193. package/scripts/diagnostics/verify_state.sh +60 -0
  194. package/scripts/dot/commands/appearance.sh +63 -0
  195. package/scripts/dot/commands/core.sh +130 -0
  196. package/scripts/dot/commands/diagnostics.sh +100 -0
  197. package/scripts/dot/commands/meta.sh +117 -0
  198. package/scripts/dot/commands/restore.sh +209 -0
  199. package/scripts/dot/commands/secrets.sh +81 -0
  200. package/scripts/dot/commands/security.sh +73 -0
  201. package/scripts/dot/commands/tools.sh +228 -0
  202. package/scripts/dot/lib/utils.sh +72 -0
  203. package/scripts/fonts/install-nerd-fonts.sh +59 -0
  204. package/scripts/fonts/patch-fonts.sh +34 -0
  205. package/scripts/ops/chezmoi-apply.sh +42 -0
  206. package/scripts/ops/chezmoi-diff.sh +14 -0
  207. package/scripts/ops/chezmoi-remove.sh +43 -0
  208. package/scripts/ops/chezmoi-update.sh +16 -0
  209. package/scripts/ops/heal.sh +466 -0
  210. package/scripts/ops/health-check.sh +380 -0
  211. package/scripts/ops/rollback.sh +531 -0
  212. package/scripts/ops/teleport.sh +32 -0
  213. package/scripts/secrets/age-init.sh +69 -0
  214. package/scripts/secrets/create-secrets-file.sh +44 -0
  215. package/scripts/secrets/encrypt-ssh-key.sh +42 -0
  216. package/scripts/security/backup.sh +17 -0
  217. package/scripts/security/dns-doh.sh +29 -0
  218. package/scripts/security/encryption-check.sh +39 -0
  219. package/scripts/security/enforce-policies.sh +339 -0
  220. package/scripts/security/firewall.sh +34 -0
  221. package/scripts/security/lock-configs.sh +57 -0
  222. package/scripts/security/lock-screen.sh +33 -0
  223. package/scripts/security/manage-secrets.sh +415 -0
  224. package/scripts/security/telemetry-kill.sh +28 -0
  225. package/scripts/security/usb-safety.sh +29 -0
  226. package/scripts/tests/README.md +241 -0
  227. package/scripts/tests/benchmark.sh +91 -0
  228. package/scripts/tests/framework/assertions.sh +283 -0
  229. package/scripts/tests/framework/mocks.sh +201 -0
  230. package/scripts/tests/framework/test_runner.sh +189 -0
  231. package/scripts/tests/integration/test_install.sh +237 -0
  232. package/scripts/tests/performance/benchmark_runner.sh +156 -0
  233. package/scripts/tests/performance/regression_check.sh +73 -0
  234. package/scripts/tests/performance/stress_test.sh +65 -0
  235. package/scripts/tests/test-aliases.sh +25 -0
  236. package/scripts/tests/test-docker.sh +48 -0
  237. package/scripts/tests/unit/test_ai_aliases.sh +158 -0
  238. package/scripts/tests/unit/test_ai_cli_checks.sh +47 -0
  239. package/scripts/tests/unit/test_backup.sh +227 -0
  240. package/scripts/tests/unit/test_case_functions.sh +238 -0
  241. package/scripts/tests/unit/test_cd_aliases.sh +367 -0
  242. package/scripts/tests/unit/test_dot_cli.sh +217 -0
  243. package/scripts/tests/unit/test_encode64.sh +67 -0
  244. package/scripts/tests/unit/test_environment.sh +78 -0
  245. package/scripts/tests/unit/test_extract.sh +163 -0
  246. package/scripts/tests/unit/test_framework_edge_cases.sh +113 -0
  247. package/scripts/tests/unit/test_genpass.sh +298 -0
  248. package/scripts/tests/unit/test_install_edge_cases.sh +167 -0
  249. package/scripts/tests/unit/test_installers.sh +172 -0
  250. package/scripts/tests/unit/test_keygen.sh +68 -0
  251. package/scripts/tests/unit/test_logging.sh +96 -0
  252. package/scripts/tests/unit/test_os_detection_comprehensive.sh +388 -0
  253. package/scripts/tests/unit/test_package_managers_comprehensive.sh +321 -0
  254. package/scripts/tests/unit/test_prependpath.sh +66 -0
  255. package/scripts/tests/unit/test_prependpath_refactored.sh +89 -0
  256. package/scripts/tests/unit/test_rd.sh +230 -0
  257. package/scripts/tests/unit/test_security_fixes.sh +130 -0
  258. package/scripts/tests/unit/test_security_scripts.sh +87 -0
  259. package/scripts/tests/unit/test_template_validation.sh +238 -0
  260. package/scripts/tests/unit/test_utility_functions.sh +144 -0
  261. package/scripts/tests/unit/test_wave1_alias_split.sh +132 -0
  262. package/scripts/tests/unit/test_wave1_ci_pinning.sh +61 -0
  263. package/scripts/tests/unit/test_wave1_gitleaks_config.sh +52 -0
  264. package/scripts/tests/unit/test_wave1_heal_fixes.sh +97 -0
  265. package/scripts/tests/unit/test_wave1_install_gpg.sh +35 -0
  266. package/scripts/tests/unit/test_wave1_zshenv_path.sh +89 -0
  267. package/scripts/tests/unit/test_wave1_zshrc_lazy_hook.sh +115 -0
  268. package/scripts/tests/unit/test_wave2_dot_new_guard.sh +75 -0
  269. package/scripts/tests/unit/test_zipf.sh +76 -0
  270. package/scripts/theme/apply-gnome-theme.sh +297 -0
  271. package/scripts/theme/install-boot-logo.sh +61 -0
  272. package/scripts/theme/install-catppuccin-themes.sh +346 -0
  273. package/scripts/theme/install-cursors.sh +24 -0
  274. package/scripts/theme/install-file-icons.sh +25 -0
  275. package/scripts/theme/install-grub-theme.sh +51 -0
  276. package/scripts/theme/install-lock-icon.sh +29 -0
  277. package/scripts/theme/switch.sh +250 -0
  278. package/scripts/theme/wallpaper-rotate.sh +82 -0
  279. package/scripts/theme/wallpaper-sync.sh +42 -0
  280. package/scripts/tools/cmatrix.sh +20 -0
  281. package/scripts/tools/detect-collisions.py +84 -0
  282. package/scripts/tools/emoji-picker.sh +45 -0
  283. package/scripts/tools/figlet-banner.sh +17 -0
  284. package/scripts/tools/log-rotate.sh +29 -0
  285. package/scripts/tools/lolcat-wrap.sh +18 -0
  286. package/scripts/tools/pipes.sh +47 -0
  287. package/scripts/tuning/linux.sh +175 -0
  288. package/scripts/tuning/macos.sh +46 -0
  289. package/templates/projects/go/README.md +7 -0
  290. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +7 -0
  291. package/templates/projects/go/go.mod +3 -0
  292. package/templates/projects/molecule/README.md +7 -0
  293. package/templates/projects/molecule/converge.yml +7 -0
  294. package/templates/projects/molecule/molecule.yml +16 -0
  295. package/templates/projects/node/README.md +7 -0
  296. package/templates/projects/node/package.json +10 -0
  297. package/templates/projects/node/src/index.js +2 -0
  298. package/templates/projects/packer/README.md +15 -0
  299. package/templates/projects/packer/main.pkr.hcl +15 -0
  300. package/templates/projects/python/README.md +7 -0
  301. package/templates/projects/python/pyproject.toml +25 -0
  302. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
  303. package/templates/projects/python/tests/test_basic.py +2 -0
  304. package/dist/Makefile +0 -140
  305. package/dist/bin/backup.d.ts +0 -3
  306. package/dist/bin/backup.d.ts.map +0 -1
  307. package/dist/bin/backup.js +0 -4
  308. package/dist/bin/backup.js.map +0 -1
  309. package/dist/bin/constants.d.ts +0 -7
  310. package/dist/bin/constants.d.ts.map +0 -1
  311. package/dist/bin/constants.js +0 -2
  312. package/dist/bin/constants.js.map +0 -1
  313. package/dist/bin/copy.d.ts +0 -3
  314. package/dist/bin/copy.d.ts.map +0 -1
  315. package/dist/bin/copy.js +0 -3
  316. package/dist/bin/copy.js.map +0 -1
  317. package/dist/bin/dotfiles.d.ts +0 -3
  318. package/dist/bin/dotfiles.d.ts.map +0 -1
  319. package/dist/bin/dotfiles.js +0 -2
  320. package/dist/bin/dotfiles.js.map +0 -1
  321. package/dist/bin/download.d.ts +0 -3
  322. package/dist/bin/download.d.ts.map +0 -1
  323. package/dist/bin/download.js +0 -2
  324. package/dist/bin/download.js.map +0 -1
  325. package/dist/bin/index.d.ts +0 -2
  326. package/dist/bin/index.d.ts.map +0 -1
  327. package/dist/bin/index.js +0 -1
  328. package/dist/bin/index.js.map +0 -1
  329. package/dist/bin/transfer.d.ts +0 -3
  330. package/dist/bin/transfer.d.ts.map +0 -1
  331. package/dist/bin/transfer.js +0 -4
  332. package/dist/bin/transfer.js.map +0 -1
  333. package/dist/bin/unpack.d.ts +0 -3
  334. package/dist/bin/unpack.d.ts.map +0 -1
  335. package/dist/bin/unpack.js +0 -3
  336. package/dist/bin/unpack.js.map +0 -1
  337. package/dist/filesizes.txt +0 -382
  338. package/dist/lib/README.md +0 -86
  339. package/dist/lib/aliases/README.md +0 -57
  340. package/dist/lib/aliases/archives/README.md +0 -145
  341. package/dist/lib/aliases/archives/archives.aliases.sh +0 -114
  342. package/dist/lib/aliases/cd/README.md +0 -146
  343. package/dist/lib/aliases/cd/cd.aliases.sh +0 -51
  344. package/dist/lib/aliases/chmod/README.md +0 -160
  345. package/dist/lib/aliases/chmod/chmod.aliases.sh +0 -107
  346. package/dist/lib/aliases/clear/README.md +0 -37
  347. package/dist/lib/aliases/clear/clear.aliases.sh +0 -71
  348. package/dist/lib/aliases/configuration/README.md +0 -39
  349. package/dist/lib/aliases/configuration/configuration.aliases.sh +0 -70
  350. package/dist/lib/aliases/default/README.md +0 -40
  351. package/dist/lib/aliases/default/default.aliases.sh +0 -139
  352. package/dist/lib/aliases/dig/README.md +0 -37
  353. package/dist/lib/aliases/dig/dig.aliases.sh +0 -43
  354. package/dist/lib/aliases/disk-usage/README.md +0 -36
  355. package/dist/lib/aliases/disk-usage/du.aliases.sh +0 -84
  356. package/dist/lib/aliases/editor/README.md +0 -53
  357. package/dist/lib/aliases/editor/editor.aliases.sh +0 -26
  358. package/dist/lib/aliases/find/README.md +0 -46
  359. package/dist/lib/aliases/find/find.aliases.sh +0 -60
  360. package/dist/lib/aliases/gcloud/README.md +0 -63
  361. package/dist/lib/aliases/gcloud/gcloud.aliases.sh +0 -335
  362. package/dist/lib/aliases/git/README.md +0 -153
  363. package/dist/lib/aliases/git/git.aliases.sh +0 -544
  364. package/dist/lib/aliases/gnu/README.md +0 -89
  365. package/dist/lib/aliases/gnu/gnucoreutils-aliases.sh +0 -150
  366. package/dist/lib/aliases/heroku/README.md +0 -430
  367. package/dist/lib/aliases/heroku/heroku.aliases.sh +0 -1053
  368. package/dist/lib/aliases/interactive/README.md +0 -55
  369. package/dist/lib/aliases/interactive/interactive.aliases.sh +0 -50
  370. package/dist/lib/aliases/list/README.md +0 -131
  371. package/dist/lib/aliases/list/list.aliases.sh +0 -132
  372. package/dist/lib/aliases/macOS/README.md +0 -42
  373. package/dist/lib/aliases/macOS/macos.aliases.sh +0 -65
  374. package/dist/lib/aliases/make/README.md +0 -32
  375. package/dist/lib/aliases/make/make.aliases.sh +0 -35
  376. package/dist/lib/aliases/mkdir/README.md +0 -30
  377. package/dist/lib/aliases/mkdir/mkdir.aliases.sh +0 -29
  378. package/dist/lib/aliases/npm/README.md +0 -41
  379. package/dist/lib/aliases/npm/npm.aliases.sh +0 -61
  380. package/dist/lib/aliases/permission/README.md +0 -47
  381. package/dist/lib/aliases/permission/permission.aliases.sh +0 -73
  382. package/dist/lib/aliases/pnpm/README.md +0 -53
  383. package/dist/lib/aliases/pnpm/pnpm.aliases.sh +0 -76
  384. package/dist/lib/aliases/ps/README.md +0 -29
  385. package/dist/lib/aliases/ps/ps.aliases.sh +0 -20
  386. package/dist/lib/aliases/python/python.aliases.sh +0 -141
  387. package/dist/lib/aliases/rsync/README.md +0 -25
  388. package/dist/lib/aliases/rsync/rsync.aliases.sh +0 -17
  389. package/dist/lib/aliases/rust/README.md +0 -182
  390. package/dist/lib/aliases/rust/rust.aliases.sh +0 -119
  391. package/dist/lib/aliases/subversion/README.md +0 -66
  392. package/dist/lib/aliases/subversion/subversion.aliases.sh +0 -47
  393. package/dist/lib/aliases/sudo/README.md +0 -27
  394. package/dist/lib/aliases/sudo/sudo.aliases.sh +0 -20
  395. package/dist/lib/aliases/tmux/README.md +0 -31
  396. package/dist/lib/aliases/tmux/tmux.aliases.sh +0 -36
  397. package/dist/lib/aliases/update/README.md +0 -38
  398. package/dist/lib/aliases/update/update.aliases.sh +0 -310
  399. package/dist/lib/aliases/uuid/README.md +0 -24
  400. package/dist/lib/aliases/uuid/uuid.aliases.sh +0 -19
  401. package/dist/lib/aliases/wget/README.md +0 -27
  402. package/dist/lib/aliases/wget/wget.aliases.sh +0 -22
  403. package/dist/lib/aliases.sh +0 -50
  404. package/dist/lib/configurations/README.md +0 -18
  405. package/dist/lib/configurations/bash/bashrc +0 -167
  406. package/dist/lib/configurations/curl/cacert.pem +0 -3460
  407. package/dist/lib/configurations/curl/curlrc +0 -53
  408. package/dist/lib/configurations/default/color.sh +0 -24
  409. package/dist/lib/configurations/default/constants.sh +0 -43
  410. package/dist/lib/configurations/default/editor.sh +0 -18
  411. package/dist/lib/configurations/default/prompt.sh +0 -48
  412. package/dist/lib/configurations/input/inputrc +0 -23
  413. package/dist/lib/configurations/jshint/jshintrc +0 -37
  414. package/dist/lib/configurations/nano/nanorc +0 -35
  415. package/dist/lib/configurations/profile/profile +0 -37
  416. package/dist/lib/configurations/prompt/prompt.sh +0 -81
  417. package/dist/lib/configurations/tmux/default +0 -18
  418. package/dist/lib/configurations/tmux/display +0 -30
  419. package/dist/lib/configurations/tmux/linux +0 -18
  420. package/dist/lib/configurations/tmux/navigation +0 -30
  421. package/dist/lib/configurations/tmux/panes +0 -10
  422. package/dist/lib/configurations/tmux/theme +0 -29
  423. package/dist/lib/configurations/tmux/tmux +0 -21
  424. package/dist/lib/configurations/vim/vimrc +0 -193
  425. package/dist/lib/configurations/wget/wgetrc +0 -40
  426. package/dist/lib/configurations/zsh/zshrc +0 -50
  427. package/dist/lib/configurations.sh +0 -45
  428. package/dist/lib/functions/README.md +0 -92
  429. package/dist/lib/functions/apihealth.sh +0 -277
  430. package/dist/lib/functions/apilatency.sh +0 -157
  431. package/dist/lib/functions/apiload.sh +0 -165
  432. package/dist/lib/functions/backup.sh +0 -143
  433. package/dist/lib/functions/cdls.sh +0 -60
  434. package/dist/lib/functions/curlheader.sh +0 -78
  435. package/dist/lib/functions/curlstatus.sh +0 -74
  436. package/dist/lib/functions/curltime.sh +0 -75
  437. package/dist/lib/functions/encode64.sh +0 -107
  438. package/dist/lib/functions/environment.sh +0 -78
  439. package/dist/lib/functions/extract.sh +0 -86
  440. package/dist/lib/functions/freespace.sh +0 -67
  441. package/dist/lib/functions/genpwd.sh +0 -105
  442. package/dist/lib/functions/goto.sh +0 -67
  443. package/dist/lib/functions/hexdump.sh +0 -96
  444. package/dist/lib/functions/hiddenfiles.sh +0 -77
  445. package/dist/lib/functions/hostinfo.sh +0 -98
  446. package/dist/lib/functions/hstats.sh +0 -75
  447. package/dist/lib/functions/httpdebug.sh +0 -113
  448. package/dist/lib/functions/kebabcase.sh +0 -61
  449. package/dist/lib/functions/keygen.sh +0 -194
  450. package/dist/lib/functions/last.sh +0 -112
  451. package/dist/lib/functions/logout.sh +0 -120
  452. package/dist/lib/functions/lowercase.sh +0 -61
  453. package/dist/lib/functions/matrix.sh +0 -216
  454. package/dist/lib/functions/mount_read_only.sh +0 -11
  455. package/dist/lib/functions/myproc.sh +0 -9
  456. package/dist/lib/functions/prependpath.sh +0 -21
  457. package/dist/lib/functions/ql.sh +0 -9
  458. package/dist/lib/functions/rd.sh +0 -17
  459. package/dist/lib/functions/remove_disk.sh +0 -11
  460. package/dist/lib/functions/ren.sh +0 -73
  461. package/dist/lib/functions/sentencecase.sh +0 -63
  462. package/dist/lib/functions/showhiddenfiles.sh +0 -14
  463. package/dist/lib/functions/size.sh +0 -16
  464. package/dist/lib/functions/snakecase.sh +0 -61
  465. package/dist/lib/functions/stopwatch.sh +0 -15
  466. package/dist/lib/functions/sysinfo.sh +0 -145
  467. package/dist/lib/functions/titlecase.sh +0 -65
  468. package/dist/lib/functions/uppercase.sh +0 -61
  469. package/dist/lib/functions/view-source.sh +0 -9
  470. package/dist/lib/functions/vscode.sh +0 -32
  471. package/dist/lib/functions/whoisport.sh +0 -14
  472. package/dist/lib/functions/zipf.sh +0 -16
  473. package/dist/lib/functions.sh +0 -46
  474. package/dist/lib/history.sh +0 -90
  475. package/dist/lib/paths/README.md +0 -52
  476. package/dist/lib/paths/custom.paths.sh +0 -40
  477. package/dist/lib/paths/default.paths.sh +0 -37
  478. package/dist/lib/paths.sh +0 -46
  479. package/dist/scripts/backup.sh +0 -95
  480. package/dist/scripts/banner.sh +0 -20
  481. package/dist/scripts/build.sh +0 -41
  482. package/dist/scripts/clean.sh +0 -31
  483. package/dist/scripts/compile.sh +0 -54
  484. package/dist/scripts/copy.sh +0 -108
  485. package/dist/scripts/dotfiles.sh +0 -63
  486. package/dist/scripts/download.sh +0 -35
  487. package/dist/scripts/help.sh +0 -57
  488. package/dist/scripts/ssh.sh +0 -55
  489. package/dist/scripts/unpack.sh +0 -28
  490. /package/{dist/lib/configurations → dot_config}/gem/gemrc +0 -0
@@ -0,0 +1,119 @@
1
+ # =============================================================================
2
+ # Brewfile.cli - Core CLI Tools (Cross-Platform)
3
+ # Optimized for performance and development workflows
4
+ # =============================================================================
5
+
6
+ # -----------------------------------------------------------------------------
7
+ # Core Utilities
8
+ # -----------------------------------------------------------------------------
9
+ brew "git"
10
+ brew "chezmoi"
11
+ brew "jq"
12
+ brew "yq"
13
+ brew "ripgrep"
14
+ brew "fd"
15
+ brew "fzf"
16
+ brew "bat"
17
+ brew "eza"
18
+ brew "dust"
19
+ brew "duf"
20
+ brew "tree"
21
+ brew "trash"
22
+ brew "rename"
23
+
24
+ # -----------------------------------------------------------------------------
25
+ # Shell & Prompt
26
+ # -----------------------------------------------------------------------------
27
+ brew "zsh"
28
+ brew "starship"
29
+ brew "zoxide"
30
+ brew "atuin"
31
+ brew "direnv"
32
+
33
+ # -----------------------------------------------------------------------------
34
+ # Development
35
+ # -----------------------------------------------------------------------------
36
+ brew "neovim"
37
+ brew "vim"
38
+ brew "tmux"
39
+ brew "lazygit"
40
+ brew "git-delta"
41
+ brew "gh"
42
+ brew "glab"
43
+ brew "shellcheck"
44
+ brew "shfmt"
45
+
46
+ # -----------------------------------------------------------------------------
47
+ # Languages & Runtimes (managed by mise)
48
+ # -----------------------------------------------------------------------------
49
+ brew "mise"
50
+ brew "uv" # Fast Python package manager
51
+ brew "rustup"
52
+ brew "go"
53
+
54
+ # -----------------------------------------------------------------------------
55
+ # Lua (for Neovim)
56
+ # -----------------------------------------------------------------------------
57
+ brew "lua"
58
+ brew "luajit"
59
+ brew "luarocks"
60
+ brew "stylua"
61
+
62
+ # -----------------------------------------------------------------------------
63
+ # System Monitoring
64
+ # -----------------------------------------------------------------------------
65
+ brew "btop"
66
+ brew "procs"
67
+ brew "gping"
68
+ brew "hyperfine"
69
+ brew "fastfetch"
70
+
71
+ # -----------------------------------------------------------------------------
72
+ # Security & Encryption
73
+ # -----------------------------------------------------------------------------
74
+ brew "age"
75
+ brew "gnupg"
76
+ brew "pinentry-mac"
77
+ brew "git-crypt"
78
+ brew "mkcert"
79
+ brew "lynis"
80
+
81
+ # -----------------------------------------------------------------------------
82
+ # AI & LLM Tools
83
+ # -----------------------------------------------------------------------------
84
+ brew "ollama"
85
+ brew "aichat"
86
+ brew "mods"
87
+ brew "fabric-ai"
88
+
89
+ # -----------------------------------------------------------------------------
90
+ # File & Text Processing
91
+ # -----------------------------------------------------------------------------
92
+ brew "hexyl"
93
+ brew "glow"
94
+ brew "gum"
95
+ brew "tlrc"
96
+ brew "imagemagick"
97
+ brew "ffmpeg"
98
+
99
+ # -----------------------------------------------------------------------------
100
+ # Networking
101
+ # -----------------------------------------------------------------------------
102
+ brew "curl"
103
+ brew "wget"
104
+ brew "httpie"
105
+ brew "mtr"
106
+
107
+ # -----------------------------------------------------------------------------
108
+ # macOS Specific
109
+ # -----------------------------------------------------------------------------
110
+ brew "mas"
111
+ brew "duti"
112
+ brew "topgrade"
113
+
114
+ # -----------------------------------------------------------------------------
115
+ # Archive & Compression
116
+ # -----------------------------------------------------------------------------
117
+ brew "p7zip"
118
+ brew "unar"
119
+ brew "sevenzip"
@@ -0,0 +1,267 @@
1
+ # Dotfiles
2
+
3
+ Welcome to your universally compatible, high-performance dotfiles configuration, managed by [chezmoi](https://www.chezmoi.io/).
4
+
5
+ ## Discover
6
+
7
+ - **Universal Support**: Works seamlessly on macOS, Linux (Ubuntu/Debian), and Windows (WSL).
8
+ - **Instant Startup**: Optimized with `zcompile` and lazy-loading for <10ms startup time.
9
+ - **Modern Core**: Replaces legacy Unix tools with Rust-based alternatives:
10
+ - `eza` (ls)
11
+ - `bat` (cat)
12
+ - `ripgrep` (grep)
13
+ - `zoxide` (cd)
14
+ - `atuin` (history)
15
+ - `yazi` (files)
16
+ - `zellij` (multiplexer)
17
+ - **Starship Prompt**: A fast, customizable, cross-shell prompt.
18
+ - **Optimized Vim**: Vim settings are kept minimal and fast by default.
19
+ - **Modular Design**: Configuration is split into small, manageable templates.
20
+
21
+ ---
22
+
23
+ ## Get started
24
+
25
+ ### Install
26
+ To install these dotfiles on a new machine, simply run:
27
+
28
+ ```bash
29
+ sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.480/install.sh)"
30
+ ```
31
+
32
+ This command will:
33
+ 1. Install `chezmoi`.
34
+ 2. Clone this repository.
35
+ 3. Install required packages (Homebrew/Apt).
36
+ 4. Apply the configurations to your home directory.
37
+
38
+ ---
39
+
40
+ ## Keep it current
41
+
42
+ ### macOS
43
+ Updates are handled via [Homebrew](https://brew.sh/).
44
+ 1. Edit `~/.dotfiles/dot_config/shell/Brewfile.cli` and `~/.dotfiles/dot_config/shell/Brewfile.cask`.
45
+ 2. Run `chezmoi apply`.
46
+ - This triggers `run_onchange_darwin_install-packages.sh.tmpl`, which runs `brew bundle` for CLI and GUI packages.
47
+ - Optional: `mas` installs App Store apps from `~/.config/mas/masapps.txt`.
48
+ - Optional: `duti` applies default app bindings from `~/.config/duti/defaults.duti`.
49
+
50
+ ### VS Code extensions
51
+ 1. Edit `~/.config/vscode/extensions.txt`.
52
+ 2. Run `chezmoi apply` to install missing extensions (if `code` is available).
53
+
54
+ ### Linux and WSL
55
+ Updates are handled via `apt-get` (Ubuntu/Debian).
56
+ 1. Run `chezmoi apply`.
57
+ - This checks for package updates defined in `run_onchange_linux_install-packages.sh.tmpl`.
58
+ - Optional Flatpak list is read from `~/.config/flatpak/flatpak.list`.
59
+
60
+ ### Vim plugins
61
+ 1. Edit `~/.dotfiles/dot_vimrc`.
62
+ 2. Run `chezmoi apply`.
63
+ - This automatically runs `vim +PlugInstall +PlugClean +qa`.
64
+
65
+ ---
66
+
67
+ ## Migrate
68
+
69
+ If you are migrating from an old `~/.dotfiles` setup:
70
+
71
+ 1. **Backup**:
72
+ ```bash
73
+ mv ~/.dotfiles ~/.dotfiles.legacy
74
+ cp ~/.zshrc ~/.zshrc.bak
75
+ ```
76
+
77
+ 2. **Initialize Chezmoi**:
78
+ ```bash
79
+ git clone https://github.com/sebastienrousseau/dotfiles.git ~/.dotfiles
80
+ chezmoi apply
81
+ ```
82
+
83
+ 3. **Verify**:
84
+ - Restart your shell.
85
+ - Check that `~/.config/shell` exists (this is where the *generated* scripts live).
86
+ - Check that `~/.dotfiles` exists (this is the *source*).
87
+
88
+ 4. **Clean Up**:
89
+ - Once verified, you can safely delete `~/.dotfiles.legacy` and `.zshrc.bak`.
90
+
91
+ ---
92
+
93
+ ## Structure
94
+
95
+ The configuration is managed in `~/.dotfiles`.
96
+
97
+ ```
98
+ ~/.dotfiles/
99
+ ├── dot_zshrc.tmpl # Main Zsh configuration (template)
100
+ ├── dot_vimrc # Vim configuration
101
+ ├── dot_tmux.conf # Tmux configuration
102
+ ├── run_onchange_...sh.tmpl # Package installation scripts
103
+ ├── dot_config/
104
+ │ ├── shell/ # Main Config Directory
105
+ │ │ ├── aliases.sh.tmpl # Generates aliases.sh (Modular)
106
+ │ │ ├── paths.sh.tmpl # Generates paths.sh (Monolithic)
107
+ │ │ └── functions.sh.tmpl # Generates functions.sh
108
+ │ └── starship.toml.tmpl # Starship configuration
109
+ └── .chezmoitemplates/ # Reusable Logic
110
+ ├── aliases/ # Alias definitions (grouped by tool)
111
+ ├── functions/ # Shell functions
112
+ └── paths/ # (Legacy) Path definitions
113
+ ```
114
+
115
+ ## Use it
116
+
117
+ ### Apply changes
118
+ After editing any file in `~/.dotfiles`, apply the changes to your home directory:
119
+
120
+ ```bash
121
+ chezmoi apply
122
+ ```
123
+
124
+ To see what will change before applying:
125
+
126
+ ```bash
127
+ chezmoi diff
128
+ ```
129
+
130
+ ### Dot CLI
131
+
132
+ ```bash
133
+ dot apply # Apply dotfiles (chezmoi apply)
134
+ dot sync # Alias of apply
135
+ dot update # Pull latest changes and apply
136
+ dot diff # Show diff (excludes scripts/install/tests)
137
+ dot remove # Safely remove a managed file
138
+ dot drift # Drift dashboard (chezmoi status)
139
+ dot history # Shell history analysis
140
+ dot tools # Show dot utils
141
+ dot keys # Show keybindings
142
+ dot tune # Apply OS tuning (opt-in)
143
+ dot secrets # Edit encrypted secrets (age)
144
+ dot upgrade # Update flake, plugins, and dotfiles
145
+ dot new # Scaffold a project template (python/go/node)
146
+ dot log-rotate # Rotate ~/.local/share/dotfiles.log
147
+ dot doctor
148
+ dot sandbox
149
+ dot benchmark
150
+ dot theme
151
+ dot wallpaper
152
+ dot ssh-key
153
+ dot secrets-create
154
+ dot fonts
155
+ dot firewall
156
+ dot telemetry
157
+ dot dns-doh
158
+ dot encrypt-check
159
+ dot backup
160
+ dot lock-screen
161
+ dot usb-safety
162
+ dot secrets-init
163
+ dot edit
164
+ dot docs
165
+ dot learn # Interactive tour (requires gum)
166
+ dot help
167
+ ```
168
+
169
+ ### Nix
170
+
171
+ ```bash
172
+ cd ~/.dotfiles
173
+ nix develop
174
+ ```
175
+
176
+ ### Secrets
177
+
178
+ ```bash
179
+ dot secrets-init
180
+ dot secrets
181
+ ```
182
+
183
+ ### Git identity
184
+
185
+ Set your Git identity in the local `chezmoi` config (not committed):
186
+
187
+ ```bash
188
+ chezmoi init --apply --promptDefaults
189
+ ```
190
+
191
+ Or edit directly:
192
+
193
+ ```bash
194
+ ${EDITOR:-nano} ~/.config/chezmoi/chezmoi.toml
195
+ ```
196
+
197
+ Fields:
198
+ - `git_name`
199
+ - `git_email`
200
+ - `git_signingkey`
201
+ - `git_signingformat`
202
+
203
+ ### Make it yours
204
+
205
+ Set the theme in `.chezmoidata.toml`:
206
+
207
+ ```toml
208
+ theme = "tokyonight-night"
209
+ terminal_font_family = "JetBrains Mono"
210
+ terminal_font_size = 12
211
+ ```
212
+
213
+ Available themes:
214
+ - `tokyonight-night` (best dark default)
215
+ - `tokyonight-day` (best light default)
216
+ - `tokyonight-storm`
217
+ - `tokyonight-moon`
218
+ - `catppuccin-mocha`
219
+ - `dracula`
220
+ - `gruvbox-dark`
221
+ - `gruvbox-light`
222
+ - `nord`
223
+ - `onedark`
224
+ - `onelight`
225
+ - `solarized-dark`
226
+ - `solarized-light`
227
+ - `catppuccin-mocha`
228
+ - `catppuccin-latte`
229
+ - `rose-pine`
230
+ - `rose-pine-moon`
231
+ - `rose-pine-dawn`
232
+ - `everforest-dark`
233
+ - `everforest-light`
234
+ - `kanagawa-wave`
235
+ - `kanagawa-dragon`
236
+ - `kanagawa-lotus`
237
+
238
+ ### DevContainer and Codespaces
239
+
240
+ ```
241
+ .devcontainer/devcontainer.json
242
+ ```
243
+
244
+ ### Add aliases
245
+ 1. Navigate to `~/.dotfiles/.chezmoitemplates/aliases/`.
246
+ 2. Create a new file (e.g., `mytool/mytool.aliases.sh`) or edit an existing one.
247
+ 3. Add your aliases.
248
+ 4. Run `chezmoi apply`.
249
+
250
+ **Note:** Files in `macOS/` are only included on macOS systems.
251
+
252
+ ### Add functions
253
+ 1. Navigate to `~/.dotfiles/.chezmoitemplates/functions/`.
254
+ 2. Create a new `.sh` file.
255
+ 3. Define your function with a usage comment.
256
+ 4. Run `chezmoi apply`.
257
+
258
+ ## Performance
259
+ - **Lazy Loading**: Heavy tools (like `nvm`, `rbenv`) are lazy-loaded. They only initialize when you type the command.
260
+ - **Zcompile**: Your `.zshrc` and generated config files are automatically compiled to `.zwc` bytecode for faster parsing.
261
+
262
+ ## Test
263
+ This repository includes GitHub Actions CI to test the configuration on macOS, Ubuntu, and Windows for every Pull Request.
264
+
265
+ ---
266
+
267
+ Made with ❤️ by [Sebastien Rousseau](https://github.com/sebastienrousseau)
@@ -0,0 +1,68 @@
1
+ # shellcheck shell=bash
2
+ # zsh_context_suggest.zsh
3
+ #
4
+ # Context Autosuggest for Predictive Shell
5
+ # Detects project type and suggests commands.
6
+ #
7
+
8
+ suggest_context_commands() {
9
+ local suggestions=()
10
+
11
+ # 1. Node.js / Javascript / TypeScript
12
+ if [[ -f "package.json" ]]; then
13
+ suggestions+=("npm start" "npm test" "npm run build")
14
+ # Check for yarn
15
+ if [[ -f "yarn.lock" ]]; then
16
+ suggestions+=("yarn start" "yarn test" "yarn build")
17
+ fi
18
+ # Check for pnpm
19
+ if [[ -f "pnpm-lock.yaml" ]]; then
20
+ suggestions+=("pnpm start" "pnpm test")
21
+ fi
22
+ fi
23
+
24
+ # 2. Rust
25
+ if [[ -f "Cargo.toml" ]]; then
26
+ suggestions+=("cargo run" "cargo test" "cargo build" "cargo check")
27
+ fi
28
+
29
+ # 3. Go
30
+ if [[ -f "go.mod" ]]; then
31
+ suggestions+=("go run ." "go test ./..." "go build")
32
+ fi
33
+
34
+ # 4. Python
35
+ if [[ -f "pyproject.toml" ]] || [[ -f "requirements.txt" ]]; then
36
+ suggestions+=("python -m venv .venv" "source .venv/bin/activate")
37
+ if [[ -f "main.py" ]]; then
38
+ suggestions+=("python main.py")
39
+ fi
40
+ if [[ -f "app.py" ]]; then
41
+ suggestions+=("python app.py")
42
+ fi
43
+ fi
44
+
45
+ # 5. Docker
46
+ if [[ -f "Dockerfile" ]]; then
47
+ suggestions+=("docker build -t . ." "docker run -it <image>")
48
+ fi
49
+ if [[ -f "docker-compose.yml" ]] || [[ -f "compose.yaml" ]]; then
50
+ suggestions+=("docker compose up -d" "docker compose down")
51
+ fi
52
+
53
+ # Display suggestions
54
+ if [[ ${#suggestions[@]} -gt 0 ]]; then
55
+ print -P "%F{cyan} Context Suggestions:%f"
56
+ for cmd in "${suggestions[@]}"; do
57
+ print -P " %F{green}%f $cmd"
58
+ done
59
+ else
60
+ echo "No context-specific suggestions found for this directory."
61
+ fi
62
+ }
63
+
64
+ # Alias for manual invocation
65
+ alias suggest="suggest_context_commands"
66
+
67
+ # Optional: Hook into chpwd to show suggestions on cd (commented out by default to avoid noise)
68
+ # add-zsh-hook chpwd suggest_context_commands
@@ -0,0 +1,45 @@
1
+ # shellcheck shell=bash
2
+ # error_analysis.zsh
3
+ #
4
+ # Error Analysis for Predictive Shell
5
+ # Uses Local LLM to analyze the last failed command.
6
+ #
7
+
8
+ analyze_last_error() {
9
+ # local exit_code="$?" <-- unused
10
+ local hist_entry
11
+
12
+ # Get the last history entry (command that just ran)
13
+ # fc -ln -1 returns the commands from the last 1 event
14
+ hist_entry=$(fc -ln -1)
15
+
16
+ if [[ -z "$hist_entry" ]]; then
17
+ echo "No history found to analyze."
18
+ return 1
19
+ fi
20
+
21
+ echo " Analyzing failure: '$hist_entry'"
22
+
23
+ local prompt="I ran the command: '$hist_entry' and it failed. Please explain why this might have happened and suggest a fix. Be concise."
24
+
25
+ # Call the ai_core wrapper
26
+ # We call it directly from the path or rely on PATH if configured
27
+ if [[ -f "${HOME}/.local/bin/ai_core" ]]; then
28
+ "${HOME}/.local/bin/ai_core" query "$prompt"
29
+ else
30
+ local source_dir="${CHEZMOI_SOURCE_DIR:-${HOME}/.dotfiles}"
31
+ if [[ ! -d "$source_dir" && -d "${HOME}/.local/share/chezmoi" ]]; then
32
+ source_dir="${HOME}/.local/share/chezmoi"
33
+ fi
34
+
35
+ if [[ -f "${source_dir}/dot_local/bin/ai_core" ]]; then
36
+ # Fallback for dev/testing location before chezmoi apply
37
+ "${source_dir}/dot_local/bin/ai_core" query "$prompt"
38
+ else
39
+ echo "Error: ai_core wrapper not found."
40
+ fi
41
+ fi
42
+ }
43
+
44
+ # Alias '??' to analyze data
45
+ alias '??'='analyze_last_error'
@@ -0,0 +1,23 @@
1
+ # SOPS configuration for encrypted secrets
2
+ # https://github.com/getsops/sops
3
+
4
+ creation_rules:
5
+ # Environment files
6
+ - path_regex: \.env\.encrypted$
7
+ age: >-
8
+ # Add your age public key here after running: age-keygen
9
+ # age1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
10
+
11
+ # API keys and tokens
12
+ - path_regex: secrets/.*\.yaml$
13
+ age: >-
14
+ # age1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
15
+
16
+ # SSH keys (use chezmoi's native encryption instead for these)
17
+ # - path_regex: ssh/.*$
18
+ # age: >-
19
+ # age1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
20
+
21
+ # Store age keys in standard location
22
+ # Keys should be at: ~/.config/sops/age/keys.txt
23
+ # Generate with: age-keygen -o ~/.config/sops/age/keys.txt
@@ -0,0 +1,124 @@
1
+ # Starship Configuration
2
+ # https://starship.rs/config/
3
+
4
+ command_timeout = 500
5
+ add_newline = true
6
+ {{- $theme := default "catppuccin-mocha" .theme -}}
7
+ {{- if eq $theme "catppuccin-latte" }}
8
+ palette = "catppuccin_latte"
9
+ {{- else }}
10
+ palette = "catppuccin_mocha"
11
+ {{- end }}
12
+
13
+ [character]
14
+ success_symbol = "[➜](bold green)"
15
+ error_symbol = "[➜](bold red)"
16
+
17
+ [package]
18
+ disabled = true
19
+
20
+ [git_branch]
21
+ symbol = "> "
22
+ style = "bold yellow"
23
+
24
+ [git_status]
25
+ disabled = false
26
+ style = "bold red"
27
+
28
+ [hostname]
29
+ ssh_only = false
30
+ format = "[$hostname](bold blue) "
31
+ disabled = false
32
+
33
+ [username]
34
+ style_user = "white bold"
35
+ style_root = "black bold"
36
+ format = "[$user]($style) "
37
+ disabled = false
38
+
39
+ [directory]
40
+ truncation_length = 3
41
+ truncation_symbol = "…/"
42
+
43
+ [cmd_duration]
44
+ min_time = 2000
45
+ format = "took [$duration]($style) "
46
+
47
+ # ---------- Container-aware fallback ---------- #
48
+ # When DOTFILES_CONTAINER=1, show a lightweight indicator so the user
49
+ # knows they are inside a container. Uses only ASCII-safe characters
50
+ # to avoid rendering issues with missing Nerd Fonts.
51
+
52
+ [container]
53
+ disabled = false
54
+ symbol = "[ctr]"
55
+ style = "bold dimmed blue"
56
+ format = '[$symbol]($style) '
57
+
58
+ [env_var.DOTFILES_CONTAINER]
59
+ variable = "DOTFILES_CONTAINER"
60
+ symbol = ""
61
+ style = "bold dimmed cyan"
62
+ format = '[container]($style) '
63
+
64
+ [env_var.DOTFILES_CODESPACE]
65
+ variable = "DOTFILES_CODESPACE"
66
+ symbol = ""
67
+ style = "bold dimmed green"
68
+ format = '[codespace]($style) '
69
+
70
+ [palettes.catppuccin_mocha]
71
+ rosewater = "#f5e0dc"
72
+ flamingo = "#f2cdcd"
73
+ pink = "#f5c2e7"
74
+ mauve = "#cba6f7"
75
+ red = "#f38ba8"
76
+ maroon = "#eba0ac"
77
+ peach = "#fab387"
78
+ yellow = "#f9e2af"
79
+ green = "#a6e3a1"
80
+ teal = "#94e2d5"
81
+ sky = "#89dceb"
82
+ sapphire = "#74c7ec"
83
+ blue = "#89b4fa"
84
+ lavender = "#b4befe"
85
+ text = "#cdd6f4"
86
+ subtext1 = "#bac2de"
87
+ subtext0 = "#a6adc8"
88
+ overlay2 = "#9399b2"
89
+ overlay1 = "#7f849c"
90
+ overlay0 = "#6c7086"
91
+ surface2 = "#585b70"
92
+ surface1 = "#45475a"
93
+ surface0 = "#313244"
94
+ base = "#1e1e2e"
95
+ mantle = "#181825"
96
+ crust = "#11111b"
97
+
98
+ [palettes.catppuccin_latte]
99
+ rosewater = "#dc8a78"
100
+ flamingo = "#dd7878"
101
+ pink = "#ea76cb"
102
+ mauve = "#8839ef"
103
+ red = "#d20f39"
104
+ maroon = "#e64553"
105
+ peach = "#fe640b"
106
+ yellow = "#df8e1d"
107
+ green = "#40a02b"
108
+ teal = "#179299"
109
+ sky = "#04a5e5"
110
+ sapphire = "#209fb5"
111
+ blue = "#1e66f5"
112
+ lavender = "#7287fd"
113
+ text = "#4c4f69"
114
+ subtext1 = "#5c5f77"
115
+ subtext0 = "#6c6f85"
116
+ overlay2 = "#7c7f93"
117
+ overlay1 = "#8c8fa1"
118
+ overlay0 = "#9ca0b0"
119
+ surface2 = "#acb0be"
120
+ surface1 = "#bcc0cc"
121
+ surface0 = "#ccd0da"
122
+ base = "#eff1f5"
123
+ mantle = "#e6e9ef"
124
+ crust = "#dce0e8"