@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
@@ -0,0 +1,52 @@
1
+ # Neovim
2
+
3
+ ## Discover
4
+
5
+ ### 1. Modern Core
6
+ - **Installation**: Uses Neovim Nightly (v0.11+) for the latest features and plugin compatibility.
7
+ - **Configuration**: A modular and lazy-loaded configuration based on `lazy.nvim`.
8
+ - **UI**: A beautiful and functional UI with a dashboard, status line, buffer line, and file explorer.
9
+ - **LSP**: Full LSP support for diagnostics, code actions, and more, managed by `mason.nvim`.
10
+
11
+ ### 2. Language Support
12
+ - **Rust**: Out-of-the-box support for Rust development with `rustaceanvim`.
13
+ - **Python**: Full support for Python development with `basedpyright`, `ruff`, and `venv-selector`.
14
+ - **Web**: Support for web development with `prettier` and `eslint`.
15
+
16
+ ### 3. AI Integration
17
+ - **Copilot**: `copilot.lua` for code completion. Run `:Copilot auth` to sign in.
18
+ - **Copilot Chat**: AI sidebar for asking questions and getting help (`<leader>cc`).
19
+
20
+ ### 4. VS Code Parity
21
+ - **Problem Panel**: `trouble.nvim` for a VS Code-like problems panel (`<leader>xx`).
22
+ - **Search & Replace**: `nvim-spectre` for project-wide search and replace (`<leader>S`).
23
+ - **Auto-Pairs**: Automatically closes brackets and pairs.
24
+ - **TODOs**: Highlights `TODO` and `FIXME` comments.
25
+ - **Session**: Auto-restores your last session.
26
+
27
+ ## Keybindings
28
+ | Key | Action |
29
+ | --- | --- |
30
+ | `<Space>ff` | Find Files |
31
+ | `<Space>fg` | Grep (Search) text |
32
+ | `<Space>fb` | File browser |
33
+ | `<Space>fp` | Projects |
34
+ | `<Space>e` | Toggle File Explorer |
35
+ | `<Space>a` | Add file to Harpoon |
36
+ | `<Ctrl>e` | Open Harpoon menu |
37
+ | `gd` | Go to Definition |
38
+ | `gr` | Go to References |
39
+ | `<leader>ca` | Code actions |
40
+ | `<leader>cf` | Format code |
41
+ | `<leader>cr` | Rename symbol |
42
+ | `<leader>tt` | Toggle terminal |
43
+ | `<leader>tn` | Test nearest |
44
+ | `<leader>tf` | Test file |
45
+ | `<leader>ts` | Test suite |
46
+ | `<F5>` | Continue (Debug) |
47
+ | `<F10>` | Step over (Debug) |
48
+ | `<F11>` | Step into (Debug) |
49
+ | `<F12>` | Step out (Debug) |
50
+ | `<leader>cc` | Toggle Copilot Chat |
51
+ | `<leader>xx` | Toggle Diagnostics (Trouble) |
52
+ | `<leader>S` | Toggle Spectre (Search/Replace) |
@@ -0,0 +1,130 @@
1
+ # Discover operations
2
+
3
+ This guide covers the core workflows to keep your dotfiles running well across platforms.
4
+
5
+ ---
6
+
7
+ ## Platforms
8
+
9
+ ### macOS
10
+ **Primary manager**: `Homebrew`
11
+
12
+ - **Update system**:
13
+ ```bash
14
+ # Updates Dotfiles AND Homebrew packages
15
+ chezmoi update
16
+ ```
17
+ *Behind the scenes, this runs `brew bundle install` to match the `Brewfile.lock.json`.*
18
+
19
+ - **Troubleshooting**:
20
+ - **Permission issues**: `sudo chown -R $(whoami) $(brew --prefix)/*`
21
+ - **Drift**: Run `brew bundle cleanup` to remove unmanaged packages.
22
+
23
+ ### Linux (Debian, Ubuntu, ZorinOS, Kali)
24
+ **Primary manager**: `apt-get` / `snap`
25
+
26
+ - **Update system**:
27
+ ```bash
28
+ # 1. Update OS packages
29
+ sudo apt update && sudo apt upgrade -y
30
+
31
+ # 2. Update Dotfiles
32
+ chezmoi update
33
+ ```
34
+ > [!NOTE]
35
+ > On Linux, `chezmoi` focuses on configuration. Package updates work best with the OS package manager to avoid `sudo` conflicts.
36
+
37
+ - **Troubleshooting**:
38
+ - **Font issues**: If icons are missing, run `./install/provision/run_onchange_50-install-fonts.sh` manually.
39
+ - **ZorinOS/GNOME**: Custom keybindings may require `dconf load` if Chezmoi does not apply them automatically.
40
+
41
+ ### Windows (WSL2)
42
+ **Primary manager**: `apt-get` (inside WSL)
43
+
44
+ - **Update system**: Same as **Linux**.
45
+
46
+ - **WSL specifics**:
47
+ - **Access Windows files**: WSL mounts Windows drives at `/mnt/c/`.
48
+ - **Clipboard**: Dotfiles configures `win32yank.exe` automatically for clipboard sharing.
49
+ - **Performance**: Keep project files inside the Linux filesystem (`~/projects`), NOT in `/mnt/c/`, for 100x better IO performance.
50
+
51
+ ---
52
+
53
+ ## Workflows
54
+
55
+ ### Apply changes
56
+ After editing any config file:
57
+ ```bash
58
+ dot apply
59
+ ```
60
+ *Triggers: `dot_zshrc` reload, audit logging.*
61
+
62
+ ### Roll back
63
+ If an update breaks your setup, revert:
64
+ ```bash
65
+ cd ~/.dotfiles
66
+ git reset --hard HEAD@{1} # Go back 1 operation
67
+ chezmoi apply
68
+ ```
69
+
70
+ ### Debug
71
+ If something runs slow or appears broken:
72
+
73
+ 1. **Check health**:
74
+ ```bash
75
+ dot doctor
76
+ ```
77
+ 2. **Verbose mode**:
78
+ ```bash
79
+ DOTFILES_DEBUG=1 dot apply
80
+ ```
81
+
82
+ ---
83
+
84
+ ## Tools
85
+
86
+ ### Make it yours
87
+ - **Wallpaper rotation**:
88
+ ```bash
89
+ ~/.dotfiles/scripts/theme/wallpaper-rotate.sh --interval 300
90
+ ```
91
+ - **Cursor theme (Linux)**:
92
+ ```bash
93
+ DOTFILES_CURSOR_THEME=Papirus ~/.dotfiles/scripts/theme/install-cursors.sh
94
+ ```
95
+ - **File icons (Linux/macOS)**:
96
+ ```bash
97
+ DOTFILES_ICON_THEME=Papirus ~/.dotfiles/scripts/theme/install-file-icons.sh
98
+ ```
99
+ - **Lock icon (Linux)**:
100
+ ```bash
101
+ DOTFILES_LOCK_ICON=~/.config/dotfiles/lock/icon.png ~/.dotfiles/scripts/theme/install-lock-icon.sh
102
+ ```
103
+ - **GRUB theme (Linux)**:
104
+ ```bash
105
+ sudo ~/.dotfiles/scripts/theme/install-grub-theme.sh --apply
106
+ ```
107
+ - **Boot logo (Linux)**:
108
+ ```bash
109
+ sudo ~/.dotfiles/scripts/theme/install-boot-logo.sh --apply
110
+ ```
111
+
112
+ ### Atuin
113
+ - **Login**: `atuin login`
114
+ - **Sync**: `atuin sync`
115
+ - **Search**: `Ctrl-r` (Global history search)
116
+
117
+ ### Zoxide
118
+ - **Jump**: `z project` matches `~/dev/project`
119
+ - **Query**: `zi` (Interactive selection)
120
+
121
+ ### Yazi
122
+ - **Open**: Type `y`
123
+ - **Preview**: Spacebar to preview files
124
+ - **Quit**: `q`
125
+
126
+ ---
127
+
128
+ ## Security policy
129
+ - **GPG/SSH**: All commits use SSH signing.
130
+ - **Audit log**: Review `~/.local/share/dotfiles.log` for a timeline of all changes that Dotfiles applied.
package/docs/PLAN.md ADDED
@@ -0,0 +1,161 @@
1
+ # Universal Configuration Plan (Chezmoi)
2
+
3
+ ... [Previous Sections Unchanged] ...
4
+
5
+ # Phase 15: Operational Documentation [COMPLETED]
6
+ - [x] **Guide**: Created `OPERATIONS.md`.
7
+
8
+ # Phase 16: Final Release Verification [COMPLETED]
9
+ - [x] **Verification**: All systems passed.
10
+
11
+ # Phase 17: Structural Optimizations (v0.3.0)
12
+
13
+ ## Goal
14
+ Implement structural improvements for better organization and maintainability, anticipating v0.3.0.
15
+
16
+ ## Proposed Changes
17
+
18
+ ### [REFACTOR] Semantic Organization
19
+ - **Move**: `dot_config/dotfiles` -> `dot_config/shell`.
20
+ - **Reason**: `dotfiles` is redundant inside a dotfiles repo. `shell` describes the content (aliases, paths, functions).
21
+ - **Update**: Update references in `dot_zshrc.tmpl` and install scripts.
22
+
23
+ ### [REFACTOR] Script Installation
24
+ - **Move**: `bin/` -> `dot_local/bin/`.
25
+ - **Reason**: Ensures scripts are automatically installed to `~/.local/bin` (user PATH).
26
+
27
+ ### [CLEANUP] Remove Legacy Files
28
+ - **Delete**: `Makefile`, `package.json`.
29
+ - **Reason**: Replaced by `chezmoi` and GitHub Actions.
30
+
31
+ ### [REFACTOR] Script Segregation
32
+ - **Split**: `run_onchange_install_packages.sh.tmpl` into:
33
+ - `run_onchange_darwin_install-packages.sh.tmpl` (Homebrew)
34
+ - `run_onchange_linux_install-packages.sh.tmpl` (Apt)
35
+ - `run_onchange_after_install-vim-plug.sh.tmpl` (Universal)
36
+ - **Reason**: Improves readability and maintainability.
37
+
38
+ # Phase 18: Component Documentation Polish [COMPLETED]
39
+
40
+ ## Goal
41
+ Update component documentation (`aliases`, `functions`, `paths`) to match the new `chezmoi` architecture and ensure accuracy.
42
+
43
+ ## Changes
44
+ - **Aliases**: Updated `aliases/README.md` to explain modular `*.aliases.sh` loading.
45
+ - **Functions**: Updated `functions/README.md` to remove legacy install instructions.
46
+ - **Paths**: Updated `paths/README.md` to clarify precedence and `chezmoi` integration.
47
+ - **Cleanup**: Standardized all nested alias READMEs to remove legacy HTML artifacts and restore banners.
48
+
49
+ # Phase 19: Toolchain Expansion [COMPLETED]
50
+
51
+ ## Goal
52
+ Add comprehensive support for modern DevOps/Cloud engineering tools.
53
+
54
+ ## Proposed Changes
55
+ ### [NEW] Aliases
56
+ - **Kubernetes**: `kubectl` shortcuts (`k`), `helm`, `k9s`.
57
+ - **IaC**: `terraform` (`tf`), `opentofu`, `ansible`.
58
+ - **Languages**: `go` (`g`), `yarn`, `uv` (modern Python).
59
+ - **Diagnostics**: `jq`, `yq`, `nc`, `curlie`.
60
+ - **Structure**: Each component gets its own directory in `.chezmoitemplates/aliases/` with a standard `README.md`.
61
+
62
+ # Phase 20: Intelligent Assistance [COMPLETED]
63
+
64
+ ## Goal
65
+ Integrate AI capabilities and improved help systems.
66
+
67
+ ## Proposed Changes
68
+ ### [NEW] Functions
69
+ - **`dothelp`**: Index and search all aliases/functions with descriptions.
70
+ - **AI Wrappers**: Aliases for `gh copilot`, `fabric`, or generic LLM CLI tools.
71
+
72
+ # Phase 22: Automated Testing [COMPLETED]
73
+
74
+ ## Goal
75
+ Verify the dotfiles work on clean Linux environments.
76
+
77
+ ## Proposed Changes
78
+ ### [CI] GitHub Actions
79
+ - **Container Job**: Run `chezmoi init --apply` inside a localized Docker container (Ubuntu/Fedora) to prove universal compatibility.
80
+
81
+ # Phase 23: Enterprise Core & Security (The Trust Layer) [COMPLETED]
82
+
83
+ ## Goal
84
+ Establish a "Trust Layer" for the dotfiles ecosystem, ensuring supply chain security and configuration integrity.
85
+
86
+ ## Changes
87
+ - **SLSA & SBOM**: Implemented `security-release.yml` for provenance and SBOM generation.
88
+ - **Signing**: Created `enable-signing` wizard alias for easy GPG/SSH configuration.
89
+ - **Immutability**: Created `lock-configs.sh` script and `lock-configs`/`unlock-configs` aliases.
90
+
91
+ - **Immutability**: Created `lock-configs.sh` script and `lock-configs`/`unlock-configs` aliases.
92
+
93
+ # Phase 27: Self-Healing & Diagnostics [COMPLETED]
94
+
95
+ ## Goal
96
+ Enable the system to self-diagnose and repair configuration drift.
97
+
98
+ ## Changes
99
+ - **Scripts**: Created `scripts/diagnostics/doctor.sh` for system health checks.
100
+ - **Aliases**: Added `dot doctor`, `dot drift` (`chezmoi verify`), and `dot heal` (`chezmoi apply`).
101
+
102
+ # Phase 51: Regulatory Compliance [COMPLETED]
103
+
104
+ ## Goal
105
+ Document and enforce compliance with SOC2, ISO, and GDPR standards.
106
+
107
+ ## Changes
108
+ - **Documentation**: Created `COMPLIANCE.md` with control mappings.
109
+ - **Privacy**: Added `privacy-mode` alias to disable CLI telemetry.
110
+ - **Audit**: Added `dot audit` alias for tracking changes.
111
+
112
+ # Phase 54: macOS Deep Integration [COMPLETED]
113
+
114
+ ## Goal
115
+ Harden and optimize the macOS environment via code.
116
+
117
+ ## Changes
118
+ - **Defaults**: Created `run_onchange_darwin_defaults.sh.tmpl` to apply secure/optimized `defaults`.
119
+ - **Hardening**: Enabled screensaver passwords, firewall settings, and disabled guest access.
120
+
121
+ ## Goal
122
+ Ensure legal compliance and proper attribution for the open-source project.
123
+
124
+ ## Changes
125
+ - **Licensing**: Added `scan-licenses` alias (Trivy/FOSSology).
126
+ - **Headers**: Added `add-headers` alias for automated copyright insertion.
127
+ - **Compliance**: Added `check-cla` and `gen-notice` tools.
128
+
129
+ # Phase 59: Font Typography [COMPLETED]
130
+
131
+ ## Goal
132
+ Standardize typography and ensure high-quality font rendering across all environments.
133
+
134
+ ## Proposed Changes
135
+ - **Nerd Fonts**: Automate installation of `JetBrainsMono Nerd Font` and `Symbols Nerd Font`.
136
+ - **Fontconfig**: Deploy XML configuration for Linux font rendering (antialiasing, hinting).
137
+ - **Aliases**: `update-fonts` to refresh font caches (`fc-cache`).
138
+
139
+ # Phase 26: OS Bundling & Compliance [COMPLETED]
140
+
141
+ ## Goal
142
+ Prepare the dotfiles for system-wide deployment and ensure strict adherence to standards.
143
+
144
+ ## Proposed Changes
145
+ - **XDG Compliance**: Audit `00-default.paths.sh` to ensure all standard XDG variables are exported.
146
+ - **Vendor Hooks**: Update `dot_zshrc.tmpl` to source system-level overrides from `/etc/dotfiles/defaults.d/` (Simulates "site-local" config).
147
+ - **Bundling**: Create `scripts/core/package.sh` to create a distributable tarball and scaffold `.deb`/`.pkg` generation logic.
148
+
149
+ # Phase 24: The Universal Installer (Zero-Dependency) [COMPLETED]
150
+
151
+ ## Goal
152
+ Provide a frictionless, "one-curl" onboarding experience and capabilities to deploy configurations remotely.
153
+
154
+ ## Proposed Changes
155
+ - **install.sh**: A standalone, zero-dependency bash script that:
156
+ 1. Detects OS/Arch.
157
+ 2. Installs `chezmoi` (binary or via package manager).
158
+ 3. Initializes the dotfiles repo.
159
+ 4. Runs `chezmoi apply`.
160
+ 5. Uses ANSI colors for a polished "TUI" feel.
161
+ - **Teleportation**: `scripts/ops/teleport.sh` using `chezmoi archive` piped to SSH to ephemeralize configs on remote servers (e.g., `dot teleport user@server`).
@@ -0,0 +1,149 @@
1
+ # Release notes — v0.2.480
2
+
3
+ ## Release overview
4
+
5
+ This release transforms the dotfiles into a high-performance, cross-platform system managed by **chezmoi**.
6
+
7
+ ### Architecture
8
+ v0.2.480 is a portable **shell distribution** managed by `chezmoi` (source of truth in `~/.dotfiles`).
9
+
10
+ - **XDG-first**: Configs strictly mapped to `~/.config/` (no `~/.foo` sprawl).
11
+ - **Single entrypoint**: `dot_zshenv` acts as an XDG bootloader for instant environment setup.
12
+ - **Modern toolchain**: Replaces classic Unix tools with high-performance Rust alternatives:
13
+ - `ls` → `eza`
14
+ - `cat` → `bat`
15
+ - `grep` → `ripgrep`
16
+ - `cd` → `zoxide` (smart directory jumping)
17
+ - `history` → `atuin` (syncable, encrypted SQLite history)
18
+ - **Predictive shell**:
19
+ - **AI strategy**: Context-aware autosuggestions coupled with optional local LLM integration (`ai_core`).
20
+ - **Error analysis**: Wrappers analyze command failures through `gh copilot` or local models.
21
+
22
+ ### Non-goals
23
+ - **Not a framework**: This is a curated distribution, not a plugin manager like Oh-My-Zsh.
24
+ - **Not POSIX-pure**: Prioritizes modern Zsh/Rust features over strict POSIX compliance.
25
+ - **Not minimal**: Optimizes for functionality and speed, not line-count minimalism.
26
+
27
+ ### Security
28
+ - **Hardened by default**: Scripts run with `set -euo pipefail` to fail fast on errors.
29
+ - **Supply chain safety**:
30
+ - **Pinned install**: Installation commands pin to the specific release tag (`v0.2.480`) to prevent drift.
31
+ - **Zero-trust**: No implicit reliance on `main` branch code in production.
32
+ - **Threat model**: This project assumes a **trusted local machine** and focuses on supply-chain (pinned versions) and configuration safety (immutable history).
33
+ - **Audit logging**: Dotfiles logs all `chezmoi` mutations to `~/.local/share/dotfiles.log` for day-2 operations review.
34
+
35
+ ### Changes
36
+ - **Migrated**:
37
+ - Shell: `~/.zshrc` now sources generated templates from `~/.config/shell`.
38
+ - Neovim: `~/.config/nvim` fully managed through Lua/Lazy.nvim.
39
+ - Tmux: Modular config consolidated to `~/.dotfiles/dot_tmux.conf`.
40
+ - **Packaging**:
41
+ - `Brewfile` (macOS) and `apt-get` (Linux) handled automatically.
42
+ - **Structural**:
43
+ - **Renamed**: `dot_config/dotfiles` → `dot_config/shell` for semantic clarity.
44
+ - **Moved**: `bin/` → `dot_local/bin/` for automatic path integration.
45
+ - **Separated**: Install scripts split by OS (Darwin/Linux) for cleaner logic.
46
+ - **Layered architecture**: Refactored shell config into explicit layers:
47
+ - `00-core`: Safety/Paths
48
+ - `50-logic`: Functions/Toolchain
49
+ - `90-ux`: Aliases/Theme
50
+ - **Trust and reproducibility**:
51
+ - **Pinned formulae**: Generated `Brewfile.lock.json` for strictly reproducible macOS builds.
52
+ - **Binary pinning**: `install.sh` now enforces specific version tags for initial bootstrap.
53
+ ### Quality
54
+ - **Conflict resolution**: Detected and resolved **46 namespace collisions** across all alias modules (Git, Go, Archives, etc.) to ensure zero overlap.
55
+ - **Git safety**: Renamed colliding Go aliases (for example, `gr` -> `gor`) to protect core Git commands.
56
+ - **Modernization**: Merged `list` into `modern` for a cohesive Rust-based toolchain experience (`eza`, `bat`).
57
+ - **Standardization**: Removed duplicate logging functions in favor of a shared utility.
58
+ - **Documentation**: All 30+ component READMEs now reflect current functionality.
59
+
60
+ ### Toolchain
61
+ - **Kubernetes**: Added `kubectl`, `helm`, `k9s` aliases.
62
+ - **IaC**: Added `terraform`, `opentofu`, `ansible`.
63
+ - **Languages**: Added ecosystem support for `go`, `yarn`, `uv` (modern Python).
64
+ - **AI integration**: Added wrappers for `gh copilot`, `fabric`, and local LLMs.
65
+ - **Smart help**: Added `dothelp` to search and index custom functions.
66
+
67
+ ### Testing
68
+
69
+ - **Automated testing**
70
+ - Docker CI (`ci-docker.yml`) runs on Ubuntu/Fedora/Arch.
71
+ - Integration tests validate alias syntax (`test-aliases.sh`).
72
+
73
+ - **Enterprise core and security (the trust layer)**
74
+ - **SLSA and SBOM**: `security-release.yml` generates SPDX SBOMs and SLSA Level 3 Provenance.
75
+ - **Signing**: `enable-signing` wizard for GPG/SSH git signing.
76
+ - **Immutability**: `lock-configs` / `unlock-configs` protect critical dotfiles (`chflags`/`chattr`).
77
+
78
+ - **Legal and licensing**
79
+ - **Compliance**: `scan-licenses` (FOSSology/Trivy), `check-cla` (GitHub checks).
80
+ - **Attribution**: `add-headers` automation and `gen-notice` generation.
81
+
82
+ - **Self-healing and diagnostics**
83
+ - **Health**: `dot doctor` diagnoses environment (dependencies, XDG, paths).
84
+ - **Repair**: `dot heal` / `dot drift` aliases for auto-repair and drift detection.
85
+
86
+ - **Regulatory compliance**
87
+ - **Documentation**: `COMPLIANCE.md` maps features to **SOC2 Type II** and **ISO 27001**.
88
+ - **Privacy**: `privacy-mode` alias disables CLI telemetry for 7+ frameworks.
89
+
90
+ - **macOS deep integration**
91
+ - **Hardening**: `defaults` script hardens screensaver, firewall, and Finder settings.
92
+ - **Optimization**: Configures Safari for development, removes Dock clutter.
93
+
94
+ - **Font typography**
95
+ - **Fonts**: Auto-installs `JetBrainsMono Nerd Font` and `Symbols Nerd Font`.
96
+ - **Rendering**: Linux `fontconfig` XML for sub-pixel antialiasing.
97
+
98
+ - **Phase 58: Editor unification** (implemented)
99
+ - **Neovim IDE**: Full VS Code feature parity (Noice, Lualine, Gitsigns, Indent-Blankline).
100
+ - **Language support**: Optimized for Rust (Rustaceanvim) and Python (BasedPyright/Ruff).
101
+ - **Performance**: Lazy-loading architecture with `<30ms` startup.
102
+ - **CI/CD fixes**: Resolved CodeQL alerts (removed legacy Node.js) and fixed Docker builds.
103
+
104
+ - **OS bundling and compliance**
105
+ - **Packaging**: `scripts/package.sh` generates versioned distribution tarballs.
106
+ - **Enterprise**: `/etc/dotfiles/defaults.d` hooks for site-local config overrides.
107
+ - **Standards**: Strict **XDG Base Directory** enforcement in `paths.sh`.
108
+
109
+ - **The universal installer (zero-dep)**
110
+ - **Bootstrap**: `install.sh` runs through `curl | sh` with no dependencies.
111
+ - **Teleport**: `dot teleport user@host` deploys configs ephemerally through SSH.
112
+
113
+ ### Verification
114
+ - **Performance**: Benchmark script `scripts/benchmark.sh` confirms <20ms startup.
115
+ - **Integration**: `test-aliases.sh` validates syntax of all 32 alias modules.
116
+ - **Security**: **Zero critical vulnerabilities** (CodeQL and Dependabot clean).
117
+ - **Functionality**: Local migration tested on macOS, Linux, and WSL.
118
+
119
+
120
+ ### Install and migrate
121
+
122
+ #### Option A: Fresh install (new machines)
123
+ To set up a new machine, run the universal installer:
124
+ ```bash
125
+ sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.480/install.sh)"
126
+ ```
127
+
128
+ #### Option B: Migration (upgrade from earlier versions)
129
+
130
+ > [!IMPORTANT]
131
+ > This release changes the architecture from direct symlinks to `chezmoi` templates. Back up your configuration first.
132
+
133
+ Existing `chezmoi` users can run `chezmoi apply` to upgrade, but the full installer works better for major version jumps.
134
+
135
+ 1. **Back up legacy configs**:
136
+ ```bash
137
+ mv ~/.zshrc ~/.zshrc.bak
138
+ mv ~/.config/nvim ~/.config/nvim.bak
139
+ ```
140
+ 2. **Run the installer**:
141
+ ```bash
142
+ sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.480/install.sh)"
143
+ ```
144
+ 3. **Resolve conflicts**:
145
+ - If `chezmoi` prompts you to overwrite files (for example, `.zshrc`), select **overwrite** (or diff to check) because this release uses a new sourcing strategy.
146
+ 4. **Restart shell**:
147
+ ```bash
148
+ exec zsh
149
+ ```