@sebastienrousseau/dotfiles 0.2.468 → 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 (489) 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 -57
  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 -380
  338. package/dist/lib/README.md +0 -12
  339. package/dist/lib/aliases/README.md +0 -55
  340. package/dist/lib/aliases/archives/README.md +0 -59
  341. package/dist/lib/aliases/archives/archives.aliases.sh +0 -157
  342. package/dist/lib/aliases/cd/README.md +0 -65
  343. package/dist/lib/aliases/cd/cd.aliases.sh +0 -73
  344. package/dist/lib/aliases/chmod/README.md +0 -109
  345. package/dist/lib/aliases/chmod/chmod.aliases.sh +0 -91
  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 -73
  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/jekyll/README.md +0 -41
  371. package/dist/lib/aliases/jekyll/jekyll.aliases.sh +0 -54
  372. package/dist/lib/aliases/list/README.md +0 -42
  373. package/dist/lib/aliases/list/list.aliases.sh +0 -86
  374. package/dist/lib/aliases/macOS/README.md +0 -42
  375. package/dist/lib/aliases/macOS/macos.aliases.sh +0 -65
  376. package/dist/lib/aliases/make/README.md +0 -32
  377. package/dist/lib/aliases/make/make.aliases.sh +0 -35
  378. package/dist/lib/aliases/mkdir/README.md +0 -30
  379. package/dist/lib/aliases/mkdir/mkdir.aliases.sh +0 -29
  380. package/dist/lib/aliases/npm/README.md +0 -41
  381. package/dist/lib/aliases/npm/npm.aliases.sh +0 -61
  382. package/dist/lib/aliases/permission/README.md +0 -47
  383. package/dist/lib/aliases/permission/permission.aliases.sh +0 -73
  384. package/dist/lib/aliases/pnpm/README.md +0 -53
  385. package/dist/lib/aliases/pnpm/pnpm.aliases.sh +0 -76
  386. package/dist/lib/aliases/ps/README.md +0 -29
  387. package/dist/lib/aliases/ps/ps.aliases.sh +0 -20
  388. package/dist/lib/aliases/rsync/README.md +0 -25
  389. package/dist/lib/aliases/rsync/rsync.aliases.sh +0 -17
  390. package/dist/lib/aliases/rust/README.md +0 -61
  391. package/dist/lib/aliases/rust/rust.aliases.sh +0 -127
  392. package/dist/lib/aliases/subversion/README.md +0 -66
  393. package/dist/lib/aliases/subversion/subversion.aliases.sh +0 -47
  394. package/dist/lib/aliases/sudo/README.md +0 -27
  395. package/dist/lib/aliases/sudo/sudo.aliases.sh +0 -20
  396. package/dist/lib/aliases/tmux/README.md +0 -31
  397. package/dist/lib/aliases/tmux/tmux.aliases.sh +0 -36
  398. package/dist/lib/aliases/update/README.md +0 -38
  399. package/dist/lib/aliases/update/update.aliases.sh +0 -69
  400. package/dist/lib/aliases/uuid/README.md +0 -24
  401. package/dist/lib/aliases/uuid/uuid.aliases.sh +0 -19
  402. package/dist/lib/aliases/wget/README.md +0 -27
  403. package/dist/lib/aliases/wget/wget.aliases.sh +0 -22
  404. package/dist/lib/aliases.sh +0 -50
  405. package/dist/lib/configurations/README.md +0 -18
  406. package/dist/lib/configurations/bash/bashrc +0 -39
  407. package/dist/lib/configurations/curl/cacert.pem +0 -3460
  408. package/dist/lib/configurations/curl/curlrc +0 -56
  409. package/dist/lib/configurations/default/color.sh +0 -24
  410. package/dist/lib/configurations/default/constants.sh +0 -43
  411. package/dist/lib/configurations/default/editor.sh +0 -18
  412. package/dist/lib/configurations/default/prompt.sh +0 -39
  413. package/dist/lib/configurations/input/inputrc +0 -23
  414. package/dist/lib/configurations/jshint/jshintrc +0 -37
  415. package/dist/lib/configurations/nano/nanorc +0 -35
  416. package/dist/lib/configurations/profile/profile +0 -37
  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 -73
  425. package/dist/lib/configurations/wget/wgetrc +0 -40
  426. package/dist/lib/configurations/zsh/zshrc +0 -51
  427. package/dist/lib/configurations.sh +0 -33
  428. package/dist/lib/functions/README.md +0 -78
  429. package/dist/lib/functions/cdls.sh +0 -14
  430. package/dist/lib/functions/curlheader.sh +0 -22
  431. package/dist/lib/functions/curlstatus.sh +0 -17
  432. package/dist/lib/functions/curltime.sh +0 -33
  433. package/dist/lib/functions/encode64.sh +0 -27
  434. package/dist/lib/functions/environment.sh +0 -38
  435. package/dist/lib/functions/extract.sh +0 -34
  436. package/dist/lib/functions/filehead.sh +0 -4
  437. package/dist/lib/functions/freespace.sh +0 -21
  438. package/dist/lib/functions/genpwd.sh +0 -41
  439. package/dist/lib/functions/goto.sh +0 -16
  440. package/dist/lib/functions/hidehiddenfiles.sh +0 -14
  441. package/dist/lib/functions/hostinfo.sh +0 -27
  442. package/dist/lib/functions/hstats.sh +0 -11
  443. package/dist/lib/functions/httpdebug.sh +0 -9
  444. package/dist/lib/functions/keygen.sh +0 -31
  445. package/dist/lib/functions/last.sh +0 -11
  446. package/dist/lib/functions/logout.sh +0 -12
  447. package/dist/lib/functions/lowercase.sh +0 -29
  448. package/dist/lib/functions/matrix.sh +0 -41
  449. package/dist/lib/functions/mount_read_only.sh +0 -11
  450. package/dist/lib/functions/myproc.sh +0 -9
  451. package/dist/lib/functions/prependpath.sh +0 -21
  452. package/dist/lib/functions/ql.sh +0 -9
  453. package/dist/lib/functions/rd.sh +0 -17
  454. package/dist/lib/functions/remove_disk.sh +0 -11
  455. package/dist/lib/functions/ren.sh +0 -13
  456. package/dist/lib/functions/showhiddenfiles.sh +0 -14
  457. package/dist/lib/functions/size.sh +0 -15
  458. package/dist/lib/functions/stopwatch.sh +0 -15
  459. package/dist/lib/functions/uppercase.sh +0 -29
  460. package/dist/lib/functions/view-source.sh +0 -9
  461. package/dist/lib/functions/vscode.sh +0 -32
  462. package/dist/lib/functions/whoisport.sh +0 -14
  463. package/dist/lib/functions/zipf.sh +0 -16
  464. package/dist/lib/functions.sh +0 -32
  465. package/dist/lib/history.sh +0 -142
  466. package/dist/lib/paths/ant/ant.paths.sh +0 -15
  467. package/dist/lib/paths/default/default.paths.sh +0 -19
  468. package/dist/lib/paths/homebrew/homebrew.paths.sh +0 -27
  469. package/dist/lib/paths/java/java.paths.sh +0 -19
  470. package/dist/lib/paths/maven/maven.paths.sh +0 -18
  471. package/dist/lib/paths/node/node.paths.sh +0 -15
  472. package/dist/lib/paths/nvm/nvm.paths.sh +0 -23
  473. package/dist/lib/paths/pnpm/pnpm.paths.sh +0 -15
  474. package/dist/lib/paths/python/python.paths.sh +0 -36
  475. package/dist/lib/paths/ruby/ruby.paths.sh +0 -25
  476. package/dist/lib/paths/tmux/tmux.paths.sh +0 -12
  477. package/dist/lib/paths.sh +0 -33
  478. package/dist/scripts/backup.sh +0 -95
  479. package/dist/scripts/banner.sh +0 -20
  480. package/dist/scripts/build.sh +0 -41
  481. package/dist/scripts/clean.sh +0 -31
  482. package/dist/scripts/compile.sh +0 -54
  483. package/dist/scripts/copy.sh +0 -108
  484. package/dist/scripts/dotfiles.sh +0 -63
  485. package/dist/scripts/download.sh +0 -35
  486. package/dist/scripts/help.sh +0 -57
  487. package/dist/scripts/ssh.sh +0 -55
  488. package/dist/scripts/unpack.sh +0 -28
  489. /package/{dist/lib/configurations → dot_config}/gem/gemrc +0 -0
package/docs/TASK.md ADDED
@@ -0,0 +1,99 @@
1
+ # Debugging Universal Config
2
+
3
+ ... [Completed Phases 2-16 Unchanged] ...
4
+
5
+ # Phase 16: Final Release Verification
6
+ - [x] **Benchmark**: Verify startup <20ms <!-- id: 84 -->
7
+ - [x] **Templates**: Verify syntax validity <!-- id: 85 -->
8
+ - [x] **PR Update**: Set final title and description <!-- id: 86 -->
9
+
10
+ # Phase 17: Structural Optimizations
11
+ - [x] **Semantic Organization**: Rename `dot_config/dotfiles` to `dot_config/shell` <!-- id: 87 -->
12
+ - [x] **Script Installation**: Move `bin` to `dot_local/bin` <!-- id: 88 -->
13
+ - [x] **Cleanup**: Remove `Makefile` and `package.json` <!-- id: 89 -->
14
+ - [x] **Segregation**: Split install scripts by OS <!-- id: 90 -->
15
+ - [x] **Verify Structure**: Ensure templates render correctly <!-- id: 91 -->
16
+ - [x] **Update Documentation**: Overhaul `README.md` for accuracy, logic, and modern tool examples <!-- id: 92 -->
17
+ - [x] **Component READMEs**: Verified and updated `go`, `archives`, `cd`, `gcloud`, `mkdir`, `modern`. <!-- id: 105 -->
18
+
19
+ # Phase 18: Component Documentation Polish
20
+ - [x] **Aliases**: Update `aliases/README.md` with `chezmoi` usage <!-- id: 93 -->
21
+ - [x] **Functions**: Update `functions/README.md` removing legacy install steps <!-- id: 94 -->
22
+ - [x] **Paths**: Update `paths/README.md` correcting filenames and logic <!-- id: 95 -->
23
+ - [x] **Cleanup**: Fix broken HTML artifacts in alias READMEs (Deep Clean) <!-- id: 96 -->
24
+ - [x] **Cleanup**: Fix broken HTML artifacts in alias READMEs (Deep Clean) <!-- id: 96 -->
25
+
26
+ # Phase 19: Toolchain Expansion
27
+ - [x] **Kubernetes**: Add `kubectl`, `helm`, `k9s` aliases <!-- id: 97 -->
28
+ - [x] **IaC**: Add `terraform`, `ansible` aliases <!-- id: 98 -->
29
+ - [x] **Languages**: Add `go`, `yarn`, `uv` aliases <!-- id: 99 -->
30
+ - [x] **Diagnostics**: Add `jq`, `yq`, `nc` aliases <!-- id: 100 -->
31
+
32
+ # Phase 20: Intelligent Assistance
33
+ - [x] **AI**: Add `gh copilot` / AI aliases <!-- id: 101 -->
34
+ - [x] **Smart Help**: Create `dothelp` function <!-- id: 102 -->
35
+
36
+ # Phase 22: Automated Testing
37
+ - [x] **Docker CI**: Add Linux container install test <!-- id: 103 -->
38
+ - [x] **Integration**: Verify aliases load correctly <!-- id: 104 -->
39
+ # Phase 92: Legal & Licensing
40
+ - [x] **FOSSology**: Add license scanning aliases (`scan-licenses`) <!-- id: 111 -->
41
+ - [x] **Headers**: Add copyright header automation (`add-headers`) <!-- id: 112 -->
42
+ - [x] **CLA**: Add CLA check aliases (`check-cla`) <!-- id: 113 -->
43
+ - [x] **Notice**: Add attribution generation (`gen-notice`) <!-- id: 114 -->
44
+
45
+ # Pull Request (v0.2.480)
46
+ - [x] Commit and push changes <!-- id: 17 -->
47
+ - [x] Update Pull Request (Completed via gh CLI) <!-- id: 18 -->
48
+ - [x] **Verify PR Content**: Confirmed title and description on GitHub <!-- id: 67 -->
49
+
50
+ # Phase 23: Enterprise Core & Security (The Trust Layer)
51
+ - [x] **SLSA & SBOM**: Create release workflow for provenance/SBOM <!-- id: 116 -->
52
+ - [x] **Signing**: Add aliases for Git GPG/SSH signing configuration (`enable-signing`) <!-- id: 117 -->
53
+ - [x] **Immutability**: Create script to lock/unlock critical files (`lock-configs`) <!-- id: 118 -->
54
+
55
+ # Phase 27: Self-Healing & Diagnostics
56
+ - [x] **Health Checks**: Create `dot doctor` script (`scripts/diagnostics/doctor.sh`) <!-- id: 121 -->
57
+ - [x] **Drift Detection**: Add `dot drift` alias for `chezmoi verify` <!-- id: 122 -->
58
+ - [x] **Auto-Repair**: Add `dot heal` alias for interactive repair <!-- id: 123 -->
59
+
60
+ # Phase 51: Regulatory Compliance
61
+ - [x] **SOC2/ISO**: Create `COMPLIANCE.md` mapping controls to dotfiles features <!-- id: 124 -->
62
+ - [x] **Privacy Mode**: Create `privacy-mode` alias (telemetry disabling) <!-- id: 125 -->
63
+ - [x] **Audit**: Create `dot audit` alias to view compliance logs <!-- id: 126 -->
64
+
65
+ # Phase 54: macOS Deep Integration
66
+ - [x] **Defaults**: Create `run_onchange_darwin_defaults.sh.tmpl` for system hardening <!-- id: 127 -->
67
+ - [x] **Brewfile**: Enforce strict bundle verification <!-- id: 128 -->
68
+
69
+ # Phase 59: Font Typography
70
+ - [x] **Nerd Fonts**: Create `run_onchange_install_fonts.sh.tmpl` to install JetBrainsMono/Symbols <!-- id: 129 -->
71
+ - [x] **Fontconfig**: Create `dot_config/fontconfig/fonts.conf.tmpl` for Linux rendering <!-- id: 130 -->
72
+ - [x] **Aliases**: Add `update-fonts` alias <!-- id: 131 -->
73
+
74
+ # Phase 26: OS Bundling & Compliance
75
+ - [x] **XDG**: Audit and enforce XDG Base Directory variables <!-- id: 132 -->
76
+ - [x] **Vendor Hooks**: Implement `/etc/dotfiles/defaults.d` sourcing in shell init <!-- id: 133 -->
77
+ - [x] **Bundling**: Create `scripts/core/package.sh` to generate release artifacts (.tar.gz, .deb structure) <!-- id: 134 -->
78
+
79
+ # Phase 24: The Universal Installer (Zero-Dependency)
80
+ - [x] **Installer**: Create `install.sh` (Zero-dep, TUI-like bootstrap) <!-- id: 135 -->
81
+ - [x] **Teleport**: Create `scripts/ops/teleport.sh` to push config to remote hosts <!-- id: 136 -->
82
+ - [x] **Aliases**: Add `dot install` and `dot teleport` aliases <!-- id: 137 -->
83
+
84
+ # Post-Release Hotfixes
85
+ - [x] **Codacy**: Fix linting in `detect-collisions.py` (Round 1) <!-- id: 106 -->
86
+ - [x] **Codacy**: Fix linting in `modern.aliases.sh`, `pipx.paths.sh`, and `detect-collisions.py` (Round 2) <!-- id: 120 -->
87
+ - [x] **Roadmap**: Rewrite full 100-phase roadmap <!-- id: 107 -->
88
+ - [x] **Zinit**: Fix bootstrap and valid Zsh sourcing <!-- id: 108 -->
89
+ - [x] **Vim**: Fix install script robustness <!-- id: 109 -->
90
+ - [x] **Pipx**: Fix "space in path" warning via explicit XDG vars <!-- id: 110 -->
91
+ - [x] **Aliases**: Removed broken `dotfiles_history` alias <!-- id: 115 -->
92
+ - [x] **Security**: Full Phase 23 implementation (SLSA, Signing, Locks) <!-- id: 119 -->
93
+
94
+ # Chezmoi Migration
95
+ - [x] Verify `chezmoi` installation <!-- id: 12 -->
96
+ - [x] Initialize `chezmoi` and create plan <!-- id: 13 -->
97
+ - [x] Migrate key config files (`.zshrc`, etc.) to `chezmoi` <!-- id: 14 -->
98
+ - [x] Create cross-platform templates (Mac/Linux/Windows) <!-- id: 15 -->
99
+ - [x] Verify `chezmoi apply` locally <!-- id: 16 -->
@@ -0,0 +1,190 @@
1
+ # Testing strategy
2
+
3
+ ## Overview
4
+
5
+ This repository uses a multi-layer testing approach:
6
+ - **Unit Tests**: Individual function validation
7
+ - **Integration Tests**: System-wide behavior verification
8
+ - **Performance Tests**: Resource efficiency benchmarks
9
+
10
+ ## Running tests
11
+
12
+ ### Quick start
13
+ ```bash
14
+ # Run all unit tests
15
+ ./scripts/tests/framework/test_runner.sh
16
+
17
+ # Run specific test suite
18
+ ./scripts/tests/framework/test_runner.sh extract
19
+
20
+ # Run integration tests
21
+ RUN_INTEGRATION=1 ./scripts/tests/framework/test_runner.sh
22
+
23
+ # Run performance benchmarks
24
+ ./scripts/tests/performance/benchmark_runner.sh
25
+ ```
26
+
27
+ ## Test structure
28
+
29
+ ```
30
+ scripts/tests/
31
+ ├── framework/ # Test framework
32
+ │ ├── assertions.sh # 15+ assertion functions
33
+ │ ├── mocks.sh # Mock utilities
34
+ │ └── test_runner.sh # Test executor
35
+ ├── unit/ # Unit tests
36
+ ├── integration/ # Integration tests
37
+ └── performance/ # Benchmarks
38
+ ```
39
+
40
+ ## Writing tests
41
+
42
+ ### Test file template
43
+ ```bash
44
+ #!/usr/bin/env bash
45
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
46
+ source "$SCRIPT_DIR/../framework/assertions.sh"
47
+
48
+ # Source function under test
49
+ source "$HOME/.dotfiles/.chezmoitemplates/functions/myfunction.sh"
50
+
51
+ # Test cases
52
+ test_start "function_basic_usage"
53
+ assert_exit_code 0 "myfunction arg1"
54
+
55
+ test_start "function_no_args"
56
+ assert_exit_code 1 "myfunction"
57
+ ```
58
+
59
+ ### Available assertions
60
+
61
+ | Function | Description |
62
+ |----------|-------------|
63
+ | `assert_equals expected actual [msg]` | Assert two values are equal |
64
+ | `assert_not_equals unexpected actual [msg]` | Assert two values differ |
65
+ | `assert_exit_code code command` | Assert command exits with code |
66
+ | `assert_output_contains needle command` | Assert output contains string |
67
+ | `assert_output_not_contains needle command` | Assert output lacks string |
68
+ | `assert_output_matches pattern command` | Assert output matches regex |
69
+ | `assert_file_exists path [msg]` | Assert file exists |
70
+ | `assert_file_not_exists path [msg]` | Assert file doesn't exist |
71
+ | `assert_dir_exists path [msg]` | Assert directory exists |
72
+ | `assert_dir_not_exists path [msg]` | Assert directory doesn't exist |
73
+ | `assert_true condition [msg]` | Assert condition is true |
74
+ | `assert_false condition [msg]` | Assert condition is false |
75
+ | `assert_empty value [msg]` | Assert string is empty |
76
+ | `assert_not_empty value [msg]` | Assert string is not empty |
77
+ | `assert_file_contains file needle [msg]` | Assert file contains text |
78
+
79
+ ### Mock utilities
80
+
81
+ | Function | Description |
82
+ |----------|-------------|
83
+ | `mock_init` | Initialize mock environment |
84
+ | `mock_command name output [exit_code]` | Create mock command |
85
+ | `mock_command_spy name [output] [exit_code]` | Create mock that records calls |
86
+ | `mock_get_calls name` | Get spy call history |
87
+ | `mock_call_count name` | Get number of spy calls |
88
+ | `mock_file content [filename]` | Create temp file with content |
89
+ | `mock_dir [prefix]` | Create temp directory |
90
+ | `mock_archive type [content]` | Create mock archive file |
91
+ | `mock_env var_name value` | Set environment variable |
92
+ | `mock_cleanup` | Clean up all mocks |
93
+
94
+ ## Coverage goals
95
+
96
+ | Category | Target | Current |
97
+ |----------|--------|---------|
98
+ | Functions | >80% | ~85% |
99
+ | Scripts | >70% | ~75% |
100
+ | Integration | >90% | ~95% |
101
+
102
+ ## CI integration
103
+
104
+ Tests run automatically on:
105
+ - Every push to main
106
+ - Every pull request
107
+ - Weekly scheduled runs (Monday 6 AM UTC)
108
+
109
+ ### GitHub Actions example
110
+
111
+ ```yaml
112
+ - name: Run Tests
113
+ run: |
114
+ chmod +x ./scripts/tests/framework/test_runner.sh
115
+ ./scripts/tests/framework/test_runner.sh
116
+
117
+ - name: Run Integration Tests
118
+ run: |
119
+ RUN_INTEGRATION=1 ./scripts/tests/framework/test_runner.sh
120
+
121
+ - name: Run Performance Benchmarks
122
+ run: |
123
+ ./scripts/tests/performance/benchmark_runner.sh
124
+ ```
125
+
126
+ ## Test categories
127
+
128
+ ### Unit Tests (`scripts/tests/unit/`)
129
+
130
+ Test individual functions in isolation:
131
+
132
+ - **test_extract.sh** - Archive extraction function
133
+ - **test_backup.sh** - Backup creation function
134
+ - **test_genpass.sh** - Password generation function
135
+ - **test_rd.sh** - Directory removal function (with security tests)
136
+ - **test_cd_aliases.sh** - Directory navigation aliases
137
+
138
+ ### Integration Tests (`scripts/tests/integration/`)
139
+
140
+ Test complete workflows:
141
+
142
+ - **test_install.sh** - Installation script validation
143
+
144
+ ### Performance Tests (`scripts/tests/performance/`)
145
+
146
+ Measure resource efficiency:
147
+
148
+ - **benchmark_runner.sh** - Shell startup and operation benchmarks
149
+ - **stress_test.sh** - Load testing utilities
150
+
151
+ ## Environment variables
152
+
153
+ | Variable | Default | Description |
154
+ |----------|---------|-------------|
155
+ | `RUN_INTEGRATION` | `0` | Set to `1` to run integration tests |
156
+ | `VERBOSE` | `0` | Set to `1` for verbose output |
157
+ | `REPO_ROOT` | Auto-detected | Repository root directory |
158
+ | `TESTS_DIR` | Auto-detected | Tests directory |
159
+
160
+ ## Best practices
161
+
162
+ 1. **Isolation**: Each test should be independent
163
+ 2. **Cleanup**: Use mocks that auto-cleanup via traps
164
+ 3. **No Sleep**: Avoid `sleep` or hardcoded delays
165
+ 4. **Descriptive Names**: Test names should describe what's being tested
166
+ 5. **Edge Cases**: Test error conditions, not just happy paths
167
+ 6. **Security**: Include tests for dangerous input rejection
168
+
169
+ ## Troubleshooting
170
+
171
+ ### Tests not found
172
+
173
+ Ensure test files match the pattern `test_*.sh` and are executable:
174
+
175
+ ```bash
176
+ chmod +x scripts/tests/unit/test_*.sh
177
+ chmod +x scripts/tests/integration/test_*.sh
178
+ ```
179
+
180
+ ### Function not available
181
+
182
+ If a test shows "function not available", verify the source file exists:
183
+
184
+ ```bash
185
+ ls -la .chezmoitemplates/functions/
186
+ ```
187
+
188
+ ### Mock cleanup issues
189
+
190
+ If mocks aren't cleaning up, ensure you're not running with `set -e` before mock operations that might fail.
package/docs/TOOLS.md ADDED
@@ -0,0 +1,146 @@
1
+ # Tools
2
+
3
+ These are the main tools and CLI conveniences included with Dotfiles.
4
+
5
+ ## Core
6
+
7
+ | Tool | Description |
8
+ |------|-------------|
9
+ | Zsh | Shell |
10
+ | Starship | Cross-shell prompt |
11
+ | tmux | Terminal multiplexer |
12
+ | Neovim | Modern Vim-based editor |
13
+
14
+ ## Search and navigation
15
+
16
+ | Tool | Description |
17
+ |------|-------------|
18
+ | fzf | Fuzzy finder |
19
+ | zoxide | Smart directory jumping |
20
+ | ripgrep | Fast text search |
21
+ | fd | Developer-friendly find |
22
+ | bat | Cat with syntax highlighting |
23
+ | eza | Modern ls replacement |
24
+ | lsd | LSDeluxe file listing |
25
+ | duf | Disk usage utility |
26
+ | ncdu | NCurses disk usage |
27
+ | htop | Process viewer |
28
+ | btop | Resource monitor |
29
+
30
+ ## Terminal
31
+
32
+ | Tool | Description |
33
+ |------|-------------|
34
+ | WezTerm | GPU-accelerated terminal |
35
+ | Alacritty | Fast terminal |
36
+ | Kitty | Feature-rich terminal |
37
+ | Ghostty | Native terminal |
38
+ | fastfetch | System info |
39
+ | figlet | ASCII banners |
40
+ | lolcat | Rainbow output |
41
+ | cowsay | ASCII cow messages |
42
+ | cmatrix | Matrix screensaver |
43
+ | pipes | Pipe screensaver |
44
+ | atuin | Shell history sync |
45
+ | yazi | Terminal file manager |
46
+
47
+ ## Git
48
+
49
+ | Tool | Description |
50
+ |------|-------------|
51
+ | git | Version control |
52
+ | lazygit | Terminal UI for Git |
53
+ | delta | Syntax-highlighted diffs |
54
+ | gh | GitHub CLI |
55
+ | glab | GitLab CLI |
56
+
57
+ ## AI CLI Tools
58
+
59
+ | Tool | NPM Package | Description |
60
+ |------|-------------|-------------|
61
+ | claude | @anthropic-ai/claude-code | Anthropic Claude CLI |
62
+ | gemini | @google/gemini-cli | Google Gemini CLI |
63
+ | sgpt | shell-gpt | OpenAI-compatible CLI (Shell GPT) |
64
+ | ollama | ollama | Local LLM runtime and CLI |
65
+ | codex | @openai/codex | OpenAI Codex CLI |
66
+ | opencode | opencode-ai | OpenCode AI assistant |
67
+ | droid | @factory/cli | Factory AI Droid |
68
+ | aider | aider-chat | Git-native AI pair programming |
69
+
70
+
71
+ ## Data processing
72
+
73
+
74
+ | Tool | Description |
75
+ |------|-------------|
76
+ | jq | JSON processor |
77
+ | yq | YAML processor |
78
+ | hexyl | Hex viewer |
79
+
80
+ ## Kubernetes
81
+
82
+ | Tool | Description |
83
+ |------|-------------|
84
+ | kubectl | Kubernetes CLI |
85
+ | kubectx | Context switcher |
86
+ | kubens | Namespace switcher |
87
+ | k9s | Kubernetes TUI |
88
+ | stern | Multi-pod log tailer |
89
+ | kube-linter | Manifest linter |
90
+ | kubesec | Security scanner |
91
+ | minikube | Local Kubernetes |
92
+ | helm | Package manager |
93
+
94
+ ## Database CLIs
95
+
96
+ | Tool | Description |
97
+ |------|-------------|
98
+ | psql | PostgreSQL CLI |
99
+ | mycli | MySQL CLI with autocomplete |
100
+ | sqlite3 | SQLite CLI |
101
+ | redis-cli | Redis CLI |
102
+ | mongosh | MongoDB Shell |
103
+
104
+ ## Security
105
+
106
+ | Tool | Description |
107
+ |------|-------------|
108
+ | age | Modern encryption |
109
+ | gnupg | OpenPGP implementation |
110
+
111
+ ## Developer tools
112
+
113
+ - Git helpers and sane defaults
114
+ - Project templates (`dot new`)
115
+ - Sandbox preview (`dot sandbox`)
116
+ - Benchmarking (`dot benchmark`)
117
+ - Lua tooling (`luacheck`, `stylua`, `luarocks`, `lua/luajit`)
118
+
119
+ ## Security features
120
+
121
+ - Firewall hardening
122
+ - Telemetry disable
123
+ - DNS-over-HTTPS (Linux)
124
+ - Lock-screen enforcement
125
+ - Encryption checks
126
+
127
+ ## Aliases
128
+
129
+ Aliases live in category directories under:
130
+
131
+ ```
132
+ ~/.dotfiles/.chezmoitemplates/aliases/<category>/<name>.aliases.sh
133
+ ```
134
+
135
+ Apply changes with:
136
+
137
+ ```bash
138
+ chezmoi apply
139
+ ```
140
+
141
+ ## Make it yours
142
+
143
+ - Wallpaper sync/rotate scripts
144
+ - Cursor and icon theming helpers (Linux)
145
+ - Lock screen icon helper (Linux)
146
+ - GRUB theme / boot logo helpers (Linux)
@@ -0,0 +1,112 @@
1
+ # Troubleshooting
2
+
3
+ Quick checks for common issues.
4
+
5
+ ## Install and update
6
+
7
+ **Problem:** Install script fails immediately
8
+ - Verify that `git` and `curl` are installed.
9
+ - Check internet connectivity.
10
+ - Try running with verbose output: `bash -x install.sh`
11
+
12
+ **Problem:** Chezmoi apply fails
13
+ - Re-run `chezmoi apply` to re-sync state.
14
+ - Check for merge conflicts: `chezmoi diff`
15
+ - If hooks fail, check `~/.local/share/dotfiles.log` for details.
16
+
17
+ **Problem:** Packages fail to install
18
+ - macOS: Verify Homebrew is installed and up to date (`brew update`)
19
+ - Linux: Run `sudo apt-get update` first
20
+ - Verify you have sufficient permissions
21
+
22
+ ## Shell startup
23
+
24
+ **Problem:** Shell is slow to start
25
+ - Run `dot benchmark` to measure startup time
26
+ - Profile with `zsh -x` to trace startup
27
+ - Check for slow plugins or large history files
28
+
29
+ **Problem:** Aliases or functions not available
30
+ - Run `chezmoi apply` to regenerate config files
31
+ - Source your shell config: `source ~/.zshrc`
32
+ - Verify the relevant tool is installed
33
+
34
+ **Problem:** Shell crashes on startup
35
+ - Temporarily move `~/.zshrc` and retry to isolate the fault
36
+ - Check for syntax errors: `zsh -n ~/.zshrc`
37
+ - Review recent changes: `chezmoi diff`
38
+
39
+ ## Secrets and encryption
40
+
41
+ **Problem:** Encrypted files fail to decrypt
42
+ - Confirm `~/.config/chezmoi/key.txt` exists.
43
+ - Verify the key matches the one used for encryption.
44
+ - Re-initialize with `dot secrets-init` if needed.
45
+
46
+ **Problem:** Age encryption not working
47
+ - Verify `age` is installed: `command -v age`
48
+ - Check key permissions: `ls -la ~/.config/chezmoi/key.txt` (should be 600)
49
+
50
+ ## Neovim
51
+
52
+ **Problem:** Plugins fail to load
53
+ - Run `:checkhealth` in Neovim
54
+ - Update plugins: `:Lazy sync`
55
+ - Check for missing dependencies (node, python, etc.)
56
+
57
+ **Problem:** LSP not working
58
+ - Install required language servers
59
+ - Check `:LspInfo` for status
60
+ - Review `:LspLog` for errors
61
+
62
+ ## Git
63
+
64
+ **Problem:** Git aliases not working
65
+ - Check if Git config is applied: `git config --list`
66
+ - Re-apply dotfiles: `chezmoi apply`
67
+
68
+ **Problem:** Delta (diff pager) not showing colors
69
+ - Verify `delta` is installed
70
+ - Confirm your terminal supports 256 colors
71
+
72
+ ## Kubernetes tools
73
+
74
+ **Problem:** kubectl context issues
75
+ - List contexts: `kubectl config get-contexts`
76
+ - Switch context: `kubectx <context-name>`
77
+ - Check kubeconfig: `echo $KUBECONFIG`
78
+
79
+ **Problem:** Minikube won't start
80
+ - Verify Docker is running
81
+ - Try: `minikube delete && minikube start`
82
+ - Check logs: `minikube logs`
83
+
84
+ ## Performance
85
+
86
+ **Problem:** High memory usage
87
+ - Look for runaway processes: `htop` or `btop`
88
+ - Review shell history size in atuin config
89
+ - Disable unused plugins
90
+
91
+ ## Advanced Troubleshooting
92
+
93
+ ### WSL2 and Nix Integration Issues
94
+
95
+ For complex WSL2 edge cases, Nix integration problems, and recovery procedures, see the comprehensive guide:
96
+ **[WSL2 & Nix Troubleshooting Guide](WSL2_NIX_TROUBLESHOOTING.md)**
97
+
98
+ This guide covers:
99
+ - WSL2 filesystem and networking edge cases
100
+ - Nix installation and flake management issues
101
+ - Complete system recovery procedures
102
+ - Performance optimization for WSL2/Nix environments
103
+ - Cross-platform migration scenarios
104
+
105
+ ## Still stuck
106
+
107
+ Open an issue with:
108
+ - OS + version
109
+ - Output of `dot doctor` (if available)
110
+ - Relevant log snippets from `~/.local/share/dotfiles.log`
111
+ - Steps to reproduce the issue
112
+ - For WSL2/Nix issues: Include diagnostic report from the advanced guide
package/docs/UTILS.md ADDED
@@ -0,0 +1,105 @@
1
+ # Discover utilities
2
+
3
+ These utilities are available through aliases, functions, and the `dot` CLI. The collection stays small and practical on purpose.
4
+
5
+ ## Dot CLI
6
+
7
+ The `dot` command is your primary interface for managing dotfiles. Run `dot --version` to check the installed version.
8
+
9
+ ### Core commands
10
+
11
+ | Command | Description |
12
+ |---------|-------------|
13
+ | `dot apply` | Apply dotfiles (chezmoi apply) |
14
+ | `dot sync` | Alias of apply |
15
+ | `dot update` | Pull latest changes and apply |
16
+ | `dot add <file>` | Add a file to chezmoi source |
17
+ | `dot diff` | Show local changes (excludes scripts) |
18
+ | `dot status` | Show configuration drift |
19
+ | `dot cd` | Print source directory path |
20
+ | `dot edit` | Open source in your editor |
21
+
22
+ ### Diagnostics
23
+
24
+ | Command | Description |
25
+ |---------|-------------|
26
+ | `dot doctor` | Run system health checks |
27
+ | `dot drift` | Detailed configuration drift dashboard |
28
+ | `dot history` | Analyse shell history |
29
+ | `dot benchmark` | Measure shell startup time |
30
+
31
+ ### Tools
32
+
33
+ | Command | Description |
34
+ |---------|-------------|
35
+ | `dot tools` | Show tools documentation |
36
+ | `dot tools install` | Enter Nix development shell |
37
+ | `dot new <lang> <name>` | Scaffold a project (python/go/node) |
38
+ | `dot sandbox` | Launch Docker sandbox preview |
39
+ | `dot log-rotate` | Rotate `~/.local/share/dotfiles.log` |
40
+
41
+ ## Git
42
+
43
+ You can use these shorthand aliases for everyday Git operations:
44
+
45
+ - `g`, `ga`, `gco`, `gst`, `gl`, `gll`, and related aliases
46
+ - `lg` shows a graph log; `lgui` opens `lazygit` (if installed)
47
+ - `gh` aliases in `~/.config/gh/config.yml`
48
+
49
+ ## Docker
50
+
51
+ These Docker aliases help you manage containers and images:
52
+
53
+ - `dco` for `docker compose`
54
+ - `dps`, `dpsa` for container listing
55
+ - `dexec`, `denter` for container shells
56
+ - `dlogsf`, `dl` for following logs
57
+ - `dprune`, `dprunea` for system cleanup
58
+ - `dbx`, `dbxbuild` for buildx operations
59
+ - `lzd` for lazydocker TUI
60
+
61
+ ## Search
62
+
63
+ You can search and navigate your filesystem with:
64
+
65
+ - `rg` (ripgrep), `fd` (find)
66
+ - `z <dir>` (zoxide jump)
67
+
68
+ ## Text
69
+
70
+ - `jq` for JSON
71
+ - `bat` for quick file previews
72
+
73
+ ## Terminal
74
+
75
+ - `banner` for quick figlet-style banners
76
+ - `rainbow` for lolcat-style output
77
+ - `emoji` for an emoji picker (copies to clipboard)
78
+ - `pipes` for a terminal screensaver
79
+ - `cmatrix` wrapper with defaults
80
+
81
+ ## Network
82
+
83
+ You can debug HTTP requests with:
84
+
85
+ - `curlheader`, `curlstatus`, `curltime`, `httpdebug`
86
+
87
+ ## Appearance
88
+
89
+ - `dot theme` to switch terminal themes (dark/light)
90
+ - `dot wallpaper` to apply a wallpaper
91
+ - `dot fonts` to install Nerd Fonts
92
+
93
+ ## Security (opt-in)
94
+
95
+ - `dot backup` to create a compressed backup
96
+ - `dot encrypt-check` to check disk encryption status
97
+ - `dot firewall` to apply firewall hardening
98
+ - `dot telemetry` to disable telemetry
99
+ - `dot dns-doh` to enable DNS-over-HTTPS
100
+ - `dot lock-screen` to enforce lock screen idle settings
101
+ - `dot usb-safety` to disable automount for removable media
102
+
103
+ ## Fonts
104
+
105
+ - `~/.dotfiles/scripts/fonts/patch-fonts.sh` to patch a font with Nerd Fonts